@arcgis/core 5.1.0-next.17 → 5.1.0-next.19

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 (686) hide show
  1. package/Camera.d.ts +1 -1
  2. package/Ground.d.ts +7 -7
  3. package/PopupTemplate.d.ts +6 -6
  4. package/WebScene.d.ts +1 -1
  5. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  6. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  7. package/analysis/LengthDimension.d.ts +4 -4
  8. package/analysis/ShadowCastAnalysis.d.ts +3 -3
  9. package/analysis/SliceAnalysis.d.ts +1 -1
  10. package/analysis/SlicePlane.d.ts +1 -1
  11. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +1 -1
  12. package/analysis/VolumeMeasurementAnalysis.d.ts +1 -1
  13. package/applications/Components/applySetUtils.d.ts +1 -1
  14. package/applications/WebEditor/geometryUtils.d.ts +26 -0
  15. package/applications/WebEditor/geometryUtils.js +2 -0
  16. package/assets/esri/core/workers/RemoteClient.js +1 -1
  17. package/assets/esri/core/workers/chunks/045e4e520d6dffe06ba7.js +1 -0
  18. package/assets/esri/core/workers/chunks/05d6cd51ca970705e46a.js +1 -0
  19. package/assets/esri/core/workers/chunks/{da5deed75e1a170a49b3.js → 08d73543c713984f6ecf.js} +13 -13
  20. package/assets/esri/core/workers/chunks/{982e709d2cef971ecd82.js → 0d9d33f29124d464a4cb.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{07317f6b57c1314db442.js → 0e1d559d05229ef92e35.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2762149a922275136171.js → 112227b862b935123ddf.js} +2 -2
  23. package/assets/esri/core/workers/chunks/128cdb4a02549abc68b5.js +1 -0
  24. package/assets/esri/core/workers/chunks/1336f685bae5f1251558.js +1 -0
  25. package/assets/esri/core/workers/chunks/{b71e4f48377fefe2537d.js → 15d46482ec096e3ce161.js} +1 -1
  26. package/assets/esri/core/workers/chunks/1794db88a2006711eff3.js +1 -0
  27. package/assets/esri/core/workers/chunks/{a327f36561f093dc0fab.js → 19fcc74d34cbbaa56a41.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{d0d1378e714ff0e43e26.js → 1cfa8d404d42b9eccf78.js} +1 -1
  29. package/assets/esri/core/workers/chunks/1e916e552ce7d53692d2.js +1 -0
  30. package/assets/esri/core/workers/chunks/2011da6dfc4bb89829c6.js +1 -0
  31. package/assets/esri/core/workers/chunks/{1e29a114c1cfe21121c4.js → 203ef5459fc5dde12851.js} +1 -1
  32. package/assets/esri/core/workers/chunks/215c54520d0da638fe57.js +1 -0
  33. package/assets/esri/core/workers/chunks/22045f85e503ae0ec8f4.js +1 -0
  34. package/assets/esri/core/workers/chunks/{78fc7ef00cc4931ef47d.js → 2351b713ba3d05de0728.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{0a4ebb5dca630a4ab0dd.js → 236f8137ae505c8f0764.js} +1 -1
  36. package/assets/esri/core/workers/chunks/249630af2fb01257eb75.js +1 -0
  37. package/assets/esri/core/workers/chunks/{1f30558e3ad6ac68bdb8.js → 25d34552bfb255af9467.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{7cd4280d24b24045bd7e.js → 27e14277128446e76b45.js} +1 -1
  39. package/assets/esri/core/workers/chunks/3214763f268622f09986.js +1 -0
  40. package/assets/esri/core/workers/chunks/32a1ccc145c9f6091e13.js +1 -0
  41. package/assets/esri/core/workers/chunks/34691b147318b2cfdd45.js +1 -0
  42. package/assets/esri/core/workers/chunks/{18c05353d6d8950d1491.js → 36215b2c0b1020743458.js} +1 -1
  43. package/assets/esri/core/workers/chunks/3d3b1ce112be6ea31d93.js +1 -0
  44. package/assets/esri/core/workers/chunks/{2badadf8032e166b34ec.js → 3f3c63420644f9522ab1.js} +1 -1
  45. package/assets/esri/core/workers/chunks/41108f58f0f439ebba3f.js +1 -0
  46. package/assets/esri/core/workers/chunks/{bc9997d15ec0a86793c6.js → 415957a42e45eb21aa84.js} +1 -1
  47. package/assets/esri/core/workers/chunks/43c797bfc2191b51875b.js +1 -0
  48. package/assets/esri/core/workers/chunks/460a82f3e4838b13e3b4.js +1 -0
  49. package/assets/esri/core/workers/chunks/4ad6f80488aa218b95e3.js +1 -0
  50. package/assets/esri/core/workers/chunks/4e9863a11d09900baf30.js +1 -0
  51. package/assets/esri/core/workers/chunks/4fe210314813ea1f7a26.js +1 -0
  52. package/assets/esri/core/workers/chunks/5028de543cc1b8e60e65.js +1 -0
  53. package/assets/esri/core/workers/chunks/52705ccbb452a3edb064.js +1 -0
  54. package/assets/esri/core/workers/chunks/{17b39b88547968048113.js → 531c55f3b8e708ccf767.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js → 53e348f5585fa8c53fe8.js} +2 -2
  56. package/assets/esri/core/workers/chunks/54c545f44b7ce21fb604.js +1 -0
  57. package/assets/esri/core/workers/chunks/558e9fed2e58cbbf9947.js +1 -0
  58. package/assets/esri/core/workers/chunks/{b50d2d3379654de1f2f3.js → 58134617fb7530836b81.js} +1 -1
  59. package/assets/esri/core/workers/chunks/58c4be467a922fe37f01.js +1 -0
  60. package/assets/esri/core/workers/chunks/{ec4e2f18453e1cb68fed.js → 5f10f39835cb40179000.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{7b1964255722e756eba3.js → 5f9eeab833a6c08c76c4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/651b46aeabf22ff53a38.js +1 -0
  63. package/assets/esri/core/workers/chunks/65f86594c42ff82095fe.js +1 -0
  64. package/assets/esri/core/workers/chunks/{90316fb569389d48920f.js → 666f201d222c50ab8428.js} +1 -1
  65. package/assets/esri/core/workers/chunks/677f5e444ff588ab670f.js +1 -0
  66. package/assets/esri/core/workers/chunks/{323f6077a659416c4cee.js → 6a9a96aa811c1d3b6edb.js} +1 -1
  67. package/assets/esri/core/workers/chunks/6bf7d8de86b9eb76f920.js +1 -0
  68. package/assets/esri/core/workers/chunks/6c0b7890c8eec7febe28.js +1 -0
  69. package/assets/esri/core/workers/chunks/{25c189e894927099c239.js → 6c85396c90941a042c33.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{18b0776aef1536867ab8.js → 6f337c3ccd84d90a35e5.js} +1 -1
  71. package/assets/esri/core/workers/chunks/711bec78dc00fad0f78d.js +1 -0
  72. package/assets/esri/core/workers/chunks/7382c9882525101eddad.js +1 -0
  73. package/assets/esri/core/workers/chunks/778ab9e4c3928b0d7d74.js +1 -0
  74. package/assets/esri/core/workers/chunks/{a3e8b7185d63a0f85931.js → 79c69ae86a1f4a56f7c7.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{0420fb4b3592f8a26b1f.js → 7d2b1e5402a88b6bee85.js} +1 -1
  76. package/assets/esri/core/workers/chunks/7ec83fc059325e207825.js +1 -0
  77. package/assets/esri/core/workers/chunks/7f385e9c88df3395e678.js +1 -0
  78. package/assets/esri/core/workers/chunks/{66ed527cd8ad11d008be.js → 80d51d58db09b9f96cb5.js} +1 -1
  79. package/assets/esri/core/workers/chunks/81a45d7e9dadf678b584.js +1 -0
  80. package/assets/esri/core/workers/chunks/81c758bdc07ed9d9a132.js +1 -0
  81. package/assets/esri/core/workers/chunks/{8670d9d11950f3c61b79.js → 83711695e16912e9b9c5.js} +1 -1
  82. package/assets/esri/core/workers/chunks/8c3bf66f8543cedc72ef.js +1 -0
  83. package/assets/esri/core/workers/chunks/8cade3af17a8bb6d4e37.js +1 -0
  84. package/assets/esri/core/workers/chunks/920d6330df72e2f01d19.js +1 -0
  85. package/assets/esri/core/workers/chunks/9dc7abca1d1eb9ba5b58.js +1 -0
  86. package/assets/esri/core/workers/chunks/9e054c264b17f04b7efa.js +1 -0
  87. package/assets/esri/core/workers/chunks/a143a6f8e2f21548b244.js +1 -0
  88. package/assets/esri/core/workers/chunks/a48a6232fa33084cb686.js +1 -0
  89. package/assets/esri/core/workers/chunks/a4947d5d2fa6b7bd399b.js +1 -0
  90. package/assets/esri/core/workers/chunks/a49f1172b17c14527acf.js +1 -0
  91. package/assets/esri/core/workers/chunks/{6af14a0217077d9ab47f.js → aaf3ed508d30ed583915.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{ab9156be67332338bbe4.js → aceec85ce64a3e6d8761.js} +1 -1
  93. package/assets/esri/core/workers/chunks/b10b3eb8c2ed9be14ab2.js +1 -0
  94. package/assets/esri/core/workers/chunks/b315b3771d0d19681aa5.js +1 -0
  95. package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js → b397a9f87082705301a4.js} +2 -2
  96. package/assets/esri/core/workers/chunks/b40e4ed067da65c3d7ce.js +1 -0
  97. package/assets/esri/core/workers/chunks/b4b16914950792c46bd3.js +1 -0
  98. package/assets/esri/core/workers/chunks/{360b3499e2a671c309ce.js → b6969a42602517a6ef1c.js} +1 -1
  99. package/assets/esri/core/workers/chunks/baad696d84ab78b3d00e.js +2 -0
  100. package/assets/esri/core/workers/chunks/{2e7d4a437717606bc39c.js → bc2dcbdc414d157ab727.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{1aa2187597f7c4adb67f.js → bcb254cb7297fec88679.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{2d1a772abd730b61854f.js → bd2125e0a68378533641.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{6bd910e0480451a8d6aa.js → bde2c3199f667b63dbe8.js} +1 -1
  104. package/assets/esri/core/workers/chunks/bf595eb10f99b8a96baa.js +1 -0
  105. package/assets/esri/core/workers/chunks/c0b6706f86665cec85f8.js +1 -0
  106. package/assets/esri/core/workers/chunks/{12fd2e26e949d90abfbd.js → c3c6d337ff53e5d921e8.js} +1 -1
  107. package/assets/esri/core/workers/chunks/c461c19e4fdbdd2e94d4.js +1 -0
  108. package/assets/esri/core/workers/chunks/{4214f46bee613dea72f3.js → c66aa57b6360963bd938.js} +1 -1
  109. package/assets/esri/core/workers/chunks/c873ac660e7d5dc88781.js +1 -0
  110. package/assets/esri/core/workers/chunks/c99f36159b5ed6f9267e.js +1 -0
  111. package/assets/esri/core/workers/chunks/cb5f4820277f3fc7ff2f.js +1 -0
  112. package/assets/esri/core/workers/chunks/cbcb3530375e280bfeac.js +1 -0
  113. package/assets/esri/core/workers/chunks/cf4202ad468501ef24cf.js +1 -0
  114. package/assets/esri/core/workers/chunks/d03d50f3247327257d8b.js +1 -0
  115. package/assets/esri/core/workers/chunks/{a5af20f3d484d2d3bafe.js → d2017b0b27b9e4ada922.js} +1 -1
  116. package/assets/esri/core/workers/chunks/d2d9c1f32a75befe168b.js +1 -0
  117. package/assets/esri/core/workers/chunks/{5c12a9b0db317620dce2.js → d39f5d57f7e35c00ca16.js} +1 -1
  118. package/assets/esri/core/workers/chunks/d5b4487a983921572e58.js +1 -0
  119. package/assets/esri/core/workers/chunks/d78b2f85ec9212a973e8.js +1 -0
  120. package/assets/esri/core/workers/chunks/d9dc8d9fc8ab2706f96b.js +1 -0
  121. package/assets/esri/core/workers/chunks/{09cf8aed89a1ea1f8b28.js → da42da04a9df651b06cc.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{a82587f69c4bbcac7e0b.js → dc7df2072c0ebed5602c.js} +1 -1
  123. package/assets/esri/core/workers/chunks/dd24cddc406f610d2483.js +1 -0
  124. package/assets/esri/core/workers/chunks/dd3789e71270a4640551.js +1 -0
  125. package/assets/esri/core/workers/chunks/de5719ef663224860af5.js +1 -0
  126. package/assets/esri/core/workers/chunks/de6438fdbe38d32c4ad5.js +1 -0
  127. package/assets/esri/core/workers/chunks/ded71a656e2626a411f9.js +1 -0
  128. package/assets/esri/core/workers/chunks/df1fa0f7e8f7e2bcc2e6.js +1 -0
  129. package/assets/esri/core/workers/chunks/{b705f837caa76cee81fc.js → e09722903e63f6cc2540.js} +1 -1
  130. package/assets/esri/core/workers/chunks/e2e03622936d2b35afc0.js +1 -0
  131. package/assets/esri/core/workers/chunks/e33f5780fb45ac7ca889.js +1 -0
  132. package/assets/esri/core/workers/chunks/{eb9e913fe0dfcc71cf92.js → e4611ebd7dba7692a914.js} +1 -1
  133. package/assets/esri/core/workers/chunks/e52793690dff1a199647.js +1 -0
  134. package/assets/esri/core/workers/chunks/{c13efb74aa4602f6a1ee.js → e56a10a475ce128b5fce.js} +1 -1
  135. package/assets/esri/core/workers/chunks/{9531f17cecd50431cce2.js → e8ae71e482b8d5f54a72.js} +1 -1
  136. package/assets/esri/core/workers/chunks/ea633a6a3b9ea8ce965d.js +1 -0
  137. package/assets/esri/core/workers/chunks/eae1c098c16e2faaf90d.js +1 -0
  138. package/assets/esri/core/workers/chunks/{f7e25a85a79c4e3c1c9f.js → ec63c0fa21cd3c872633.js} +1 -1
  139. package/assets/esri/core/workers/chunks/ece363681bb09072f379.js +1 -0
  140. package/assets/esri/core/workers/chunks/edaae0fc63d16b0f675d.js +2 -0
  141. package/assets/esri/core/workers/chunks/{8650fbe1db55b7280c00.js → ef4237dc7b67c9039826.js} +1 -1
  142. package/assets/esri/core/workers/chunks/ef9106ee818ec732b670.js +1 -0
  143. package/assets/esri/core/workers/chunks/f121a0bf33c03abfa0b6.js +1 -0
  144. package/assets/esri/core/workers/chunks/{a2f38e86acf45272dbc2.js → f7506c9d57b2ae0c5fd3.js} +1 -1
  145. package/assets/esri/core/workers/chunks/fab7e3e07d700d7bb651.js +1 -0
  146. package/assets/esri/core/workers/chunks/fcc8d0b60f7c2397e550.js +1 -0
  147. package/assets/esri/core/workers/chunks/fe5aec7e2da4465422b4.js +1 -0
  148. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +1 -0
  149. package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
  150. package/assets/esri/themes/dark/main.css +1 -1
  151. package/assets/esri/themes/light/main.css +1 -1
  152. package/assets/esri/themes/light/view.css +1 -1
  153. package/chunks/Envelope.js +1 -1
  154. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  155. package/chunks/GeodeticUtils.js +1 -1
  156. package/chunks/Geometry.js +1 -1
  157. package/chunks/HUDMaterial.glsl.js +41 -64
  158. package/chunks/MeasurementArrow.glsl.js +7 -8
  159. package/chunks/MultiPathImpl.js +1 -1
  160. package/chunks/OperatorGeodesicBuffer.js +1 -1
  161. package/chunks/OperatorGeodeticArea.js +1 -1
  162. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  163. package/chunks/OperatorGeodeticLength.js +1 -1
  164. package/chunks/OperatorIntegrate.js +2 -0
  165. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  166. package/chunks/OperatorProximityGeodesic.js +1 -1
  167. package/chunks/OperatorShapePreservingLength.js +1 -1
  168. package/chunks/OperatorShapePreservingProject.js +1 -1
  169. package/chunks/Point2D.js +1 -1
  170. package/chunks/RealisticTree.glsl.js +3 -3
  171. package/chunks/RibbonLine.glsl.js +29 -35
  172. package/chunks/SpatialReference.js +1 -1
  173. package/chunks/Terrain.glsl.js +24 -24
  174. package/chunks/containsOperator.js +1 -1
  175. package/chunks/disjointOperator.js +1 -1
  176. package/chunks/relateOperator.js +1 -1
  177. package/config.js +1 -1
  178. package/core/has.js +1 -1
  179. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +0 -31
  180. package/{layers/graphics/editingSupport.d.ts → editing/types.d.ts} +8 -8
  181. package/editing/types.js +2 -0
  182. package/effects/FocusAreas.d.ts +1 -1
  183. package/form/elements/FieldElement.d.ts +1 -1
  184. package/form/elements/GroupElement.d.ts +1 -1
  185. package/form/elements/TextElement.d.ts +1 -1
  186. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  187. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  188. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  189. package/geometry/Mesh.d.ts +7 -7
  190. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  191. package/geometry/operators/areaOperator.d.ts +1 -1
  192. package/geometry/operators/bufferOperator.d.ts +1 -1
  193. package/geometry/operators/centroidOperator.d.ts +1 -1
  194. package/geometry/operators/clipOperator.d.ts +1 -1
  195. package/geometry/operators/containsOperator.d.ts +1 -1
  196. package/geometry/operators/convexHullOperator.d.ts +1 -1
  197. package/geometry/operators/crossesOperator.d.ts +1 -1
  198. package/geometry/operators/cutOperator.d.ts +1 -1
  199. package/geometry/operators/densifyOperator.d.ts +1 -1
  200. package/geometry/operators/differenceOperator.d.ts +1 -1
  201. package/geometry/operators/disjointOperator.d.ts +1 -1
  202. package/geometry/operators/distanceOperator.d.ts +1 -1
  203. package/geometry/operators/extendOperator.js +1 -1
  204. package/geometry/operators/generalizeOperator.d.ts +1 -1
  205. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  206. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  207. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  208. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  209. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  210. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  211. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  212. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  213. package/geometry/operators/gx/operatorIntersection.js +1 -1
  214. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  215. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  216. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  217. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  218. package/geometry/operators/intersectionOperator.d.ts +1 -1
  219. package/geometry/operators/intersectsOperator.d.ts +1 -1
  220. package/geometry/operators/isNearOperator.d.ts +1 -1
  221. package/geometry/operators/json/containsOperator.js +1 -1
  222. package/geometry/operators/json/disjointOperator.js +1 -1
  223. package/geometry/operators/lengthOperator.d.ts +1 -1
  224. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  225. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  226. package/geometry/operators/offsetOperator.d.ts +5 -5
  227. package/geometry/operators/overlapsOperator.d.ts +1 -1
  228. package/geometry/operators/proximityOperator.d.ts +1 -1
  229. package/geometry/operators/reshapeOperator.js +1 -1
  230. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  231. package/geometry/operators/simplifyOperator.d.ts +1 -1
  232. package/geometry/operators/support/GeographicTransformation.d.ts +6 -4
  233. package/geometry/operators/support/GeographicTransformation.js +1 -1
  234. package/geometry/operators/support/GeographicTransformationStep.d.ts +5 -3
  235. package/geometry/operators/support/GeographicTransformationStep.js +1 -1
  236. package/geometry/operators/support/Transformation.d.ts +6 -6
  237. package/geometry/operators/support/jsonConverter.js +1 -1
  238. package/geometry/operators/support/projectionTransformation.js +1 -1
  239. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  240. package/geometry/operators/touchesOperator.d.ts +1 -1
  241. package/geometry/operators/unionOperator.d.ts +1 -1
  242. package/geometry/operators/withinOperator.d.ts +1 -1
  243. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  244. package/geometry/support/zscale.js +1 -1
  245. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +0 -1
  246. package/graphic/LinkChartGraphicOrigin.js +1 -1
  247. package/interfaces.d.ts +60 -60
  248. package/kernel.js +1 -1
  249. package/layers/BuildingSceneLayer.d.ts +4 -4
  250. package/layers/CSVLayer.d.ts +319 -542
  251. package/layers/CSVLayer.js +1 -1
  252. package/layers/CatalogLayer.d.ts +2 -2
  253. package/layers/ElevationLayer.d.ts +1 -1
  254. package/layers/FeatureLayer.d.ts +15 -15
  255. package/layers/FeatureLayer.js +1 -1
  256. package/layers/GeoJSONLayer.d.ts +6 -6
  257. package/layers/GeoRSSLayer.d.ts +1 -1
  258. package/layers/GraphicsLayer.d.ts +2 -2
  259. package/layers/ImageryLayer.d.ts +3 -3
  260. package/layers/ImageryTileLayer.d.ts +2 -2
  261. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  262. package/layers/IntegratedMeshLayer.d.ts +7 -7
  263. package/layers/MapImageLayer.d.ts +1 -1
  264. package/layers/MediaLayer.d.ts +1 -1
  265. package/layers/OGCFeatureLayer.d.ts +2 -2
  266. package/layers/OrientedImageryLayer.d.ts +6 -6
  267. package/layers/OrientedImageryLayer.js +1 -1
  268. package/layers/PointCloudLayer.d.ts +1 -1
  269. package/layers/SceneLayer.d.ts +7 -7
  270. package/layers/StreamLayer.d.ts +2 -2
  271. package/layers/SubtypeGroupLayer.d.ts +5 -5
  272. package/layers/VectorTileLayer.d.ts +2 -2
  273. package/layers/VideoLayer.d.ts +1 -1
  274. package/layers/VoxelLayer.d.ts +8 -8
  275. package/layers/WFSLayer.d.ts +6 -6
  276. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  277. package/layers/graphics/applyEditsUtils.js +1 -1
  278. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  279. package/layers/graphics/data/QueryEngineResult.js +1 -1
  280. package/layers/graphics/editingSupport.js +1 -1
  281. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  282. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  283. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  284. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  285. package/layers/graphics/sources/support/QueryTask.js +1 -1
  286. package/layers/mixins/ArcGISImageService.js +1 -1
  287. package/layers/mixins/BlendLayer.d.ts +6 -6
  288. package/layers/mixins/EditBusLayer.d.ts +1 -1
  289. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  290. package/layers/orientedImagery/transformations/utils.js +1 -1
  291. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  292. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  293. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  294. package/layers/raster/functions/ExtractBandFunction.js +1 -1
  295. package/layers/support/DimensionalDefinition.d.ts +2 -2
  296. package/layers/support/FeatureEffect.d.ts +4 -4
  297. package/layers/support/FeatureFilter.d.ts +17 -17
  298. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  299. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  300. package/layers/support/LabelClass.d.ts +2 -2
  301. package/layers/support/RasterFunction.d.ts +1 -1
  302. package/layers/support/SceneFilter.d.ts +2 -2
  303. package/layers/support/SceneModification.d.ts +3 -3
  304. package/layers/support/SubtypeSublayer.d.ts +5 -5
  305. package/layers/support/arcgisLayerUrl.js +1 -1
  306. package/layers/support/capabilities.js +1 -1
  307. package/layers/support/featurePopupQueryUtils.js +1 -1
  308. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  309. package/networks/support/Circuit.d.ts +11 -2
  310. package/networks/support/CircuitSection.d.ts +3 -2
  311. package/networks/support/TraceConfiguration.d.ts +5 -4
  312. package/networks/support/UNTraceConfiguration.d.ts +6 -5
  313. package/networks/support/jsonTypes.d.ts +305 -0
  314. package/package.json +3 -3
  315. package/popup/content/AttachmentsContent.d.ts +1 -1
  316. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  317. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  318. package/popup/content/FieldsContent.d.ts +1 -1
  319. package/popup/content/ImageMediaInfo.d.ts +1 -1
  320. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  321. package/popup/content/MediaContent.d.ts +1 -1
  322. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  323. package/popup/content/RelationshipContent.d.ts +1 -1
  324. package/popup/content/TextContent.d.ts +1 -1
  325. package/portal/schemas/definitions.js +1 -1
  326. package/portal/support/urlUtils.js +1 -1
  327. package/renderers/DotDensityRenderer.d.ts +3 -3
  328. package/renderers/FlowRenderer.d.ts +6 -6
  329. package/renderers/HeatmapRenderer.d.ts +3 -3
  330. package/renderers/PieChartRenderer.d.ts +1 -1
  331. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  332. package/renderers/Renderer.d.ts +2 -2
  333. package/renderers/SimpleRenderer.d.ts +1 -1
  334. package/renderers/VectorFieldRenderer.d.ts +1 -1
  335. package/renderers/mixins/VisualVariablesMixin.d.ts +8 -8
  336. package/rest/featureService/FeatureService.js +1 -1
  337. package/rest/featureService/types.d.ts +7 -1
  338. package/rest/query/operations/editsZScale.js +1 -1
  339. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  340. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  341. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  342. package/rest/support/DateBinParameters.d.ts +1 -1
  343. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  344. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  345. package/rest/support/Query.d.ts +3 -2
  346. package/rest/types.d.ts +1 -3
  347. package/smartMapping/labels/clusters.d.ts +1 -1
  348. package/smartMapping/popup/clusters.d.ts +2 -2
  349. package/smartMapping/popup/templates.d.ts +1 -1
  350. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  351. package/smartMapping/renderers/color.d.ts +12 -12
  352. package/smartMapping/renderers/predominance.d.ts +3 -3
  353. package/smartMapping/renderers/relationship.d.ts +15 -15
  354. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  355. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  356. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  357. package/smartMapping/support/utils.js +1 -1
  358. package/smartMapping/symbology/color.d.ts +4 -4
  359. package/smartMapping/symbology/flow.d.ts +2 -2
  360. package/smartMapping/symbology/types.d.ts +18 -18
  361. package/support/revision.js +1 -1
  362. package/symbols/CIMSymbol.d.ts +1 -1
  363. package/symbols/FillSymbol3DLayer.d.ts +3 -3
  364. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  365. package/symbols/LabelSymbol3D.d.ts +2 -2
  366. package/symbols/LineStyleMarker3D.d.ts +7 -7
  367. package/symbols/LineSymbol3D.d.ts +2 -2
  368. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  369. package/symbols/LineSymbolMarker.d.ts +6 -6
  370. package/symbols/MarkerSymbol.d.ts +1 -1
  371. package/symbols/MeshSymbol3D.d.ts +2 -2
  372. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  373. package/symbols/PathSymbol3DLayer.d.ts +14 -14
  374. package/symbols/PictureFillSymbol.d.ts +1 -1
  375. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  376. package/symbols/PointSymbol3D.d.ts +3 -3
  377. package/symbols/PolygonSymbol3D.d.ts +8 -26
  378. package/symbols/PolygonSymbol3D.js +1 -1
  379. package/symbols/SimpleFillSymbol.d.ts +8 -8
  380. package/symbols/SimpleLineSymbol.d.ts +20 -20
  381. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  382. package/symbols/Symbol3DLayer.d.ts +28 -34
  383. package/symbols/TextSymbol.d.ts +1 -1
  384. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  385. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  386. package/symbols/WebStyleSymbol.d.ts +1 -1
  387. package/symbols/callouts/Callout3D.d.ts +1 -1
  388. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  389. package/symbols/cim/CIMCursor.js +1 -1
  390. package/symbols/cim/CIMSymbolHelper.js +1 -1
  391. package/symbols/cim/cimAnalyzer.js +1 -1
  392. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  393. package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
  394. package/symbols/cim/placements/PlacementAtMeasuredUnits.js +1 -1
  395. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  396. package/symbols/cim/placements/PlacementOnLine.js +1 -1
  397. package/symbols/cim/placements/PlacementOnVertices.js +1 -1
  398. package/symbols/cim/types.d.ts +30 -23
  399. package/symbols/edges/Edges3D.d.ts +1 -1
  400. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  401. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  402. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  403. package/symbols/support/ElevationInfo.d.ts +2 -2
  404. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  405. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  406. package/symbols/support/Symbol3DEmissive.d.ts +24 -13
  407. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  408. package/symbols/support/previewSymbol3D.js +1 -1
  409. package/versionManagement/VersionManagementService.d.ts +3 -2
  410. package/views/2d/analysis/DistanceMeasurement/utils.js +1 -1
  411. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  412. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  413. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  414. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  415. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  416. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  417. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  418. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  419. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  420. package/views/2d/types.d.ts +3 -3
  421. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  422. package/views/3d/environment/Environment.d.ts +4 -4
  423. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  424. package/views/3d/environment/RainyWeather.d.ts +1 -1
  425. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  426. package/views/3d/environment/SunLighting.d.ts +1 -1
  427. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  428. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  429. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  430. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  431. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  432. package/views/3d/support/MemoryController.js +1 -1
  433. package/views/3d/support/orientedBoundingBox.js +1 -1
  434. package/views/3d/webgl/RenderNode.d.ts +46 -57
  435. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  436. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  437. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  438. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  439. package/views/3d/webgl-engine/materials/renderers/BufferCache.js +2 -0
  440. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  441. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  442. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  443. package/views/3d/webgl-engine/materials/renderers/PerOriginData.js +1 -1
  444. package/views/3d/webgl-engine/materials/renderers/TextureBufferCache.js +2 -0
  445. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  446. package/views/3d/webgl-engine/materials/renderers/VboCache.js +2 -0
  447. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  448. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  449. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +7 -7
  450. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  451. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  452. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  453. package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +2 -0
  454. package/views/3d/webgl.d.ts +8 -5
  455. package/views/DOMContainer.js +1 -1
  456. package/views/Magnifier.d.ts +3 -3
  457. package/views/MapView.d.ts +7 -7
  458. package/views/SceneView.d.ts +34 -37
  459. package/views/View.d.ts +2 -2
  460. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  461. package/views/draw/DrawOperation.js +1 -1
  462. package/views/draw/DrawTool.js +1 -1
  463. package/views/draw/plugins/BezierSegmentPlugin.js +1 -1
  464. package/views/draw/plugins/CircularArcSegmentPlugin.js +1 -1
  465. package/views/draw/plugins/FreehandSegmentPlugin.js +1 -1
  466. package/views/draw/plugins/MultipointPlugin.js +1 -1
  467. package/views/draw/plugins/PointPlugin.js +1 -1
  468. package/views/draw/plugins/PolygonPlugin.js +1 -1
  469. package/views/draw/plugins/PolylinePlugin.js +1 -1
  470. package/views/draw/plugins/ShapePlugin.js +1 -1
  471. package/views/draw/support/managers/TooltipManager.js +1 -1
  472. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  473. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  474. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  475. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  476. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  477. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  478. package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
  479. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  480. package/views/layers/FeatureLikeLayerView.js +1 -1
  481. package/views/support/HighlightOptions.d.ts +1 -1
  482. package/views/support/flow/dataUtils.js +1 -1
  483. package/views/ui/DefaultUI.d.ts +2 -2
  484. package/views/webgl/VertexArrayObject.js +1 -1
  485. package/webscene/Environment.d.ts +10 -10
  486. package/webscene/Glow.d.ts +13 -2
  487. package/webscene/background/ColorBackground.d.ts +1 -1
  488. package/webscene/spec-certification/spec.js +1 -1
  489. package/widgets/AreaMeasurement2D.d.ts +1 -1
  490. package/widgets/AreaMeasurement3D.d.ts +2 -2
  491. package/widgets/Attachments.d.ts +1 -1
  492. package/widgets/Attribution.d.ts +1 -1
  493. package/widgets/BasemapGallery.d.ts +1 -1
  494. package/widgets/BasemapLayerList.d.ts +3 -3
  495. package/widgets/BasemapToggle.d.ts +1 -1
  496. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  497. package/widgets/Bookmarks.d.ts +2 -2
  498. package/widgets/BuildingExplorer.d.ts +1 -1
  499. package/widgets/CatalogLayerList.d.ts +3 -3
  500. package/widgets/Compass.d.ts +2 -2
  501. package/widgets/CoordinateConversion.d.ts +1 -1
  502. package/widgets/Daylight.d.ts +5 -5
  503. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  504. package/widgets/Directions/DirectionsViewModel.d.ts +12 -0
  505. package/widgets/Directions/DirectionsViewModel.js +1 -1
  506. package/widgets/Directions.d.ts +4 -4
  507. package/widgets/Directions.js +1 -1
  508. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  509. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  510. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  511. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  512. package/widgets/Editor.d.ts +2 -2
  513. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  514. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  515. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  516. package/widgets/ElevationProfile.d.ts +3 -3
  517. package/widgets/Expand.d.ts +1 -1
  518. package/widgets/FeatureForm.d.ts +1 -1
  519. package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
  520. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  521. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  522. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  523. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  524. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  525. package/widgets/FeatureTable.d.ts +9 -9
  526. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  527. package/widgets/FeatureTemplates.d.ts +8 -8
  528. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  529. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  530. package/widgets/Features.d.ts +1 -1
  531. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  532. package/widgets/Histogram.d.ts +2 -2
  533. package/widgets/HistogramRangeSlider.d.ts +1 -1
  534. package/widgets/Home/HomeViewModel.d.ts +2 -1
  535. package/widgets/Home/HomeViewModel.js +1 -1
  536. package/widgets/Home.d.ts +1 -1
  537. package/widgets/Home.js +1 -1
  538. package/widgets/LayerList.d.ts +4 -4
  539. package/widgets/Legend.d.ts +8 -8
  540. package/widgets/LineOfSight.d.ts +1 -1
  541. package/widgets/Locate.d.ts +2 -2
  542. package/widgets/Measurement.d.ts +1 -1
  543. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  544. package/widgets/NavigationToggle.d.ts +3 -3
  545. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  546. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  547. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  548. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  549. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  550. package/widgets/OrientedImageryViewer/constants.js +1 -1
  551. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  552. package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
  553. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  554. package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
  555. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  556. package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
  557. package/widgets/OrientedImageryViewer/types.js +1 -1
  558. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  559. package/widgets/OrientedImageryViewer.js +1 -1
  560. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  561. package/widgets/Popup.d.ts +5 -5
  562. package/widgets/Print/CustomTemplate.d.ts +1 -1
  563. package/widgets/Print/TemplateOptions.d.ts +4 -4
  564. package/widgets/ScaleRangeSlider.d.ts +1 -1
  565. package/widgets/Search/SearchViewModel.d.ts +4 -4
  566. package/widgets/Search.d.ts +5 -5
  567. package/widgets/ShadowCast.d.ts +3 -3
  568. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  569. package/widgets/Sketch/SketchViewModel.js +1 -1
  570. package/widgets/Sketch/support/PluginManager.js +1 -1
  571. package/widgets/Sketch.d.ts +43 -43
  572. package/widgets/Slice.d.ts +2 -2
  573. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  574. package/widgets/Slider.d.ts +9 -9
  575. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  576. package/widgets/Swipe.d.ts +2 -2
  577. package/widgets/TableList.d.ts +1 -1
  578. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +8 -8
  579. package/widgets/TimeSlider/types.d.ts +1 -1
  580. package/widgets/TimeSlider.d.ts +11 -11
  581. package/widgets/Track.d.ts +2 -2
  582. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  583. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  584. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  585. package/widgets/ValuePicker.d.ts +5 -5
  586. package/widgets/VideoPlayer.d.ts +1 -1
  587. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  588. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  589. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  590. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  591. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  592. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  593. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  594. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  595. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  596. package/widgets/support/GridControls.d.ts +1 -1
  597. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  598. package/widgets/support/SnappingControls.d.ts +6 -6
  599. package/assets/esri/core/workers/chunks/0184b4c0c92c76c60ab2.js +0 -1
  600. package/assets/esri/core/workers/chunks/08616877b58b518e7461.js +0 -1
  601. package/assets/esri/core/workers/chunks/089cef7124173a5cd5f9.js +0 -1
  602. package/assets/esri/core/workers/chunks/0baa0d66003d23cc76a7.js +0 -1
  603. package/assets/esri/core/workers/chunks/0baf2cf9d8998045a605.js +0 -1
  604. package/assets/esri/core/workers/chunks/0bf742d48f434c4c575f.js +0 -1
  605. package/assets/esri/core/workers/chunks/0cc68540194bd9f7aa3c.js +0 -1
  606. package/assets/esri/core/workers/chunks/0e216f0075fd531c3a2b.js +0 -1
  607. package/assets/esri/core/workers/chunks/1219b588f983b4f35033.js +0 -1
  608. package/assets/esri/core/workers/chunks/13e913aa5f5113fceb16.js +0 -1
  609. package/assets/esri/core/workers/chunks/15ba0296403dd4152b88.js +0 -1
  610. package/assets/esri/core/workers/chunks/15e5471277a48f482383.js +0 -1
  611. package/assets/esri/core/workers/chunks/16abc548724e428c325a.js +0 -1
  612. package/assets/esri/core/workers/chunks/1d124a55f6804be19e09.js +0 -1
  613. package/assets/esri/core/workers/chunks/1ede5fa7a16839ed9444.js +0 -1
  614. package/assets/esri/core/workers/chunks/25267253ba578eba38cf.js +0 -1
  615. package/assets/esri/core/workers/chunks/27aa21da934ecaca381a.js +0 -1
  616. package/assets/esri/core/workers/chunks/27d1f8279df34d8b15b5.js +0 -1
  617. package/assets/esri/core/workers/chunks/2907e9a7216b5a29729b.js +0 -1
  618. package/assets/esri/core/workers/chunks/2b0891ba57ba66b913ce.js +0 -1
  619. package/assets/esri/core/workers/chunks/2bb7bb7901bd343201fc.js +0 -1
  620. package/assets/esri/core/workers/chunks/2c7e5b78d94e5850537b.js +0 -1
  621. package/assets/esri/core/workers/chunks/2d52b137ee64469a46b2.js +0 -1
  622. package/assets/esri/core/workers/chunks/2eb7df99170b7bb2a914.js +0 -1
  623. package/assets/esri/core/workers/chunks/36b8dd092697ef544f40.js +0 -1
  624. package/assets/esri/core/workers/chunks/395ee51a863757ea8124.js +0 -1
  625. package/assets/esri/core/workers/chunks/3b0cfe3db8d90e02d6c6.js +0 -1
  626. package/assets/esri/core/workers/chunks/454150571b5b664b576a.js +0 -1
  627. package/assets/esri/core/workers/chunks/4740d319f233b7f528fe.js +0 -1
  628. package/assets/esri/core/workers/chunks/4742a8c19b86a5f859f0.js +0 -1
  629. package/assets/esri/core/workers/chunks/49d58bacb5b397246978.js +0 -1
  630. package/assets/esri/core/workers/chunks/4ba4aa6c75e3f8950e65.js +0 -1
  631. package/assets/esri/core/workers/chunks/59f955c7d6b0589e7cc6.js +0 -1
  632. package/assets/esri/core/workers/chunks/5a347b1d87eb6f710136.js +0 -1
  633. package/assets/esri/core/workers/chunks/5b97cdeb5949822fbef3.js +0 -1
  634. package/assets/esri/core/workers/chunks/5cd614f50e8925eeeaf4.js +0 -1
  635. package/assets/esri/core/workers/chunks/620d7cd0b0885122aa0f.js +0 -1
  636. package/assets/esri/core/workers/chunks/6321680c8070dffa3b6c.js +0 -1
  637. package/assets/esri/core/workers/chunks/7017c2e621236c7a7da4.js +0 -1
  638. package/assets/esri/core/workers/chunks/731e6eaad319865fb780.js +0 -1
  639. package/assets/esri/core/workers/chunks/7407a1e0cef508116a0b.js +0 -1
  640. package/assets/esri/core/workers/chunks/752c43cdd38dfde912d2.js +0 -1
  641. package/assets/esri/core/workers/chunks/78936c591fd49ff955a9.js +0 -1
  642. package/assets/esri/core/workers/chunks/796f5265747ce8be910e.js +0 -1
  643. package/assets/esri/core/workers/chunks/7b7288c431933a75daca.js +0 -1
  644. package/assets/esri/core/workers/chunks/7e6309bfed6692e8d2d7.js +0 -2
  645. package/assets/esri/core/workers/chunks/7f60309d211c49721265.js +0 -1
  646. package/assets/esri/core/workers/chunks/7f9b0ef7f9b3f3fd3df9.js +0 -1
  647. package/assets/esri/core/workers/chunks/8177e95596b71bf020aa.js +0 -1
  648. package/assets/esri/core/workers/chunks/9bb04d5f2e6f6e4585a0.js +0 -1
  649. package/assets/esri/core/workers/chunks/a03196e6579d738251fc.js +0 -1
  650. package/assets/esri/core/workers/chunks/a0b715cf03895082b773.js +0 -1
  651. package/assets/esri/core/workers/chunks/a115984b794a7f90b2c0.js +0 -1
  652. package/assets/esri/core/workers/chunks/a5e91cf150f6cf6a5d2a.js +0 -1
  653. package/assets/esri/core/workers/chunks/a60a84c8c45f6d03443f.js +0 -1
  654. package/assets/esri/core/workers/chunks/aec827b50df6edc54808.js +0 -1
  655. package/assets/esri/core/workers/chunks/aef2832902b270f1a594.js +0 -1
  656. package/assets/esri/core/workers/chunks/b0b24fb60a21b995b348.js +0 -1
  657. package/assets/esri/core/workers/chunks/bb830d93e97dceac350f.js +0 -1
  658. package/assets/esri/core/workers/chunks/bd05e68b00b9878d0266.js +0 -1
  659. package/assets/esri/core/workers/chunks/bd12ca39198e6efbefbb.js +0 -1
  660. package/assets/esri/core/workers/chunks/bdd246cc50ccd5c10987.js +0 -1
  661. package/assets/esri/core/workers/chunks/c080e189764d8bb9cf25.js +0 -1
  662. package/assets/esri/core/workers/chunks/c15f0769a64863cccef0.js +0 -1
  663. package/assets/esri/core/workers/chunks/c516b185b099bf69c0ed.js +0 -1
  664. package/assets/esri/core/workers/chunks/c53048b0f153b251d792.js +0 -1
  665. package/assets/esri/core/workers/chunks/c693e8eb96ab8a4b9cbe.js +0 -1
  666. package/assets/esri/core/workers/chunks/c9babe86c00ae69e63ee.js +0 -2
  667. package/assets/esri/core/workers/chunks/cf09408cb7729126caae.js +0 -1
  668. package/assets/esri/core/workers/chunks/d9c1e1ec5c56f09fb82f.js +0 -1
  669. package/assets/esri/core/workers/chunks/e0565849281ffbe8269e.js +0 -1
  670. package/assets/esri/core/workers/chunks/e1ba6f857ca12f154e77.js +0 -1
  671. package/assets/esri/core/workers/chunks/e4f1e584f89ffb86206b.js +0 -1
  672. package/assets/esri/core/workers/chunks/e60684918100666bb892.js +0 -1
  673. package/assets/esri/core/workers/chunks/e94448b371cd17d7a472.js +0 -1
  674. package/assets/esri/core/workers/chunks/ed78e19b1e400c0db309.js +0 -1
  675. package/assets/esri/core/workers/chunks/ede1d1cc2f315a34f4ca.js +0 -1
  676. package/assets/esri/core/workers/chunks/f17a301516f008abef3a.js +0 -1
  677. package/assets/esri/core/workers/chunks/fc98b8351be567d3eb62.js +0 -1
  678. package/assets/esri/core/workers/chunks/fd5a5b05a1551cdb8c87.js +0 -1
  679. package/assets/esri/core/workers/chunks/fda0f4469d9cda637af4.js +0 -1
  680. package/assets/esri/core/workers/chunks/fe52117fe6982046c9e3.js +0 -1
  681. package/assets/esri/core/workers/chunks/ff961bb6d29ab3fe129d.js +0 -1
  682. /package/assets/esri/core/workers/chunks/{2762149a922275136171.js.LICENSE.txt → 112227b862b935123ddf.js.LICENSE.txt} +0 -0
  683. /package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js.LICENSE.txt → 53e348f5585fa8c53fe8.js.LICENSE.txt} +0 -0
  684. /package/assets/esri/core/workers/chunks/{7e6309bfed6692e8d2d7.js.LICENSE.txt → b397a9f87082705301a4.js.LICENSE.txt} +0 -0
  685. /package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js.LICENSE.txt → baad696d84ab78b3d00e.js.LICENSE.txt} +0 -0
  686. /package/assets/esri/core/workers/chunks/{c9babe86c00ae69e63ee.js.LICENSE.txt → edaae0fc63d16b0f675d.js.LICENSE.txt} +0 -0
@@ -14,10 +14,13 @@ import type RenderCamera from "./webgl/RenderCamera.js";
14
14
  *
15
15
  * RenderNodeOutput | Description | Available RenderNodeInput FBOs | FBO attachments
16
16
  * ---------------- | ----------- | ------------------------------ | --------------- |
17
- * opaque-color | Contains the rendered image after all opaque geometries have been drawn. | opaque-color, normals | color0, depth
18
- * transparent-color| Contains the rendered image after all opaque and transparent geometries have been drawn. | transparent-color, normals | color0, depth
19
- * composite-color | Contains the rendered image without any post processes applied. | composite-color, normals, highlights (if scene has highlights) | color0, depth
20
- * final-color | Contains the rendered image including post processes. | final-color, normals, highlights (if scene has highlights) | color0, depth
17
+ * opaque-color | Contains the rendered image after all opaque geometries have been drawn. | opaque-color, normals | color0, depth, color1(emissive)
18
+ * transparent-color| Contains the rendered image after all opaque and transparent geometries have been drawn. | transparent-color, normals | color0, depth, color1(emissive)
19
+ * composite-color | Contains the rendered image without any post processes applied. | composite-color, normals, highlights (if scene has highlights) | color0, depth, color1(emissive)
20
+ * final-color | Contains the rendered image including post processes. | final-color, normals, highlights (if scene has highlights) | color0, depth, color1(emissive)
21
+ *
22
+ * Emissive attachments are only available when at least one object with [Symbol3DEmissive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/) is
23
+ * added to the [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
21
24
  *
22
25
  * @since 5.0
23
26
  */
@@ -161,7 +164,7 @@ export function fromRenderCoordinates<T1 extends ArrayLike<number>, T2 extends A
161
164
  * * Y: Northing
162
165
  * * Z: Elevation
163
166
  *
164
- * ![externalRenderers-renderCoordinateTransformAt](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/3d/externalRenderers-renderCoordinateTransformAt.png)
167
+ * ![externalRenderers-renderCoordinateTransformAt](https://developers.arcgis.com/javascript/latest/assets/references/core/views/3d/externalRenderers-renderCoordinateTransformAt.png)
165
168
  *
166
169
  * When [view.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) is `global`, a linear
167
170
  * transformation does not take the curvature of the globe or other non-linear projection aspects into account. Thus,
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{byId as e,reparent as i}from"../core/domUtils.js";import{on as s}from"../core/events.js";import{makeHandle as r}from"../core/handleUtils.js";import n from"../core/Logger.js";import{destroyMaybe as o,removeMaybe as a}from"../core/maybe.js";import{watch as h,initial as d,syncAndInitial as l}from"../core/reactiveUtils.js";import{addFrameTask as u}from"../core/scheduling.js";import{property as c,subclass as p}from"../core/accessorSupport/decorators.js";import{Attribution as m}from"./Attribution.js";import f from"./overlay/ViewOverlay.js";const _=[0,0];function y(t){const e=(t.ownerDocument||window.document).defaultView,i=t.getBoundingClientRect();return _[0]=i.left+(e?.pageXOffset??0),_[1]=i.top+(e?.pageYOffset??0),_}function g(t){t&&(t.textContent="",t.parentNode&&t.parentNode.removeChild(t))}const v="test"===process.env.NODE_ENV,b=v?0:16,w=v?0:750,C=v?0:512,H=2,O=_=>{const v=_;let O=class extends v{constructor(...t){super(...t),this._freqInfo={freq:b,time:w},this._overlayRenderTaskHandle=null,this.aria={},this.attributionMode=null,this.height=0,this.messagesCommon=null,this.overlay=null,this.position=null,this.resizing=!1,this.root=null,this.surface=null,this.suspended=!0,this.userContent=null,this.width=0,this.widthBreakpoint=null,this.addHandles([h(()=>this.cursor,t=>{const{surface:e}=this;e&&e.setAttribute("data-cursor",t)}),h(()=>this.navigating,t=>{const{surface:e}=this;e&&e.setAttribute("data-navigating",t.toString())}),h(()=>[this.aria,this.surface],()=>this._updateAria(),{initial:!0})])}initialize(){const t=this;this.addHandles([h(()=>this.ui,(t,e)=>this._handleUIChange(t,e),d),t.on("focus",()=>this.notifyChange("focused")),t.on("blur",()=>this.notifyChange("focused"))])}destroy(){this.destroyed||(this.ui?.destroy(),this.container=null)}get attributionHeight(){return this._attribution?.height??0}get container(){return this._get("container")??null}set container(t){const s=this._get("container"),r=e(t);if(r||"string"!=typeof t||n.getLogger(this).error("#container",`element with id '${t}' not found`),s===r)return;if(this._stopMeasuring(),this.removeHandles("container"),s&&(s.classList.remove("esri-view"),this._overlayRenderTaskHandle&&(this._overlayRenderTaskHandle.remove(),this._overlayRenderTaskHandle=null),this.overlay&&(this.overlay.destroy(),this._set("overlay",null)),this._attribution=o(this._attribution),this.root&&(g(this.root),this._set("root",null)),this.userContent&&(i(this.userContent,s),g(this.userContent),this._set("userContent",null))),!r)return this._set("width",0),this._set("height",0),this._set("position",null),this._set("suspended",!0),this._set("surface",null),void this._set("container",null);r.classList.add("esri-view");const d=document.createElement("div");d.className="esri-view-user-storage",i(r,d),r.appendChild(d),this._set("userContent",d);const c=document.createElement("div");c.className="esri-view-root",r.insertBefore(c,r.firstChild),this._set("root",c);const p=document.createElement("div");p.className="esri-view-surface",p.setAttribute("role","application"),p.tabIndex=0,c.appendChild(p),this._set("surface",p);const _=new f;c.appendChild(_.surface),this._set("overlay",_),this.addHandles(h(()=>_.needsRender,t=>{t&&!this._overlayRenderTaskHandle?this._overlayRenderTaskHandle=u({render:()=>this.overlay?.render()}):this._overlayRenderTaskHandle=a(this._overlayRenderTaskHandle)}),"container"),this.addHandles([h(()=>({visible:this.attributionVisible&&this.ready,items:this.attributionItems,mode:this.attributionMode}),({visible:t,items:e,mode:i})=>{t?(this._attribution||(this._attribution=new m({attributionItems:this.attributionItems,mode:this.attributionMode}),this._attribution.appendBefore(c,this.ui.container)),this._attribution.attributionItems=e,this._attribution.mode=i):this._attribution=o(this._attribution)},l)],"container"),this.forceDOMReadyCycle(),this._set("container",r),this._startMeasuring()}get focused(){const t=document.activeElement===this.surface;return document.hasFocus()&&t}get size(){return[this.width,this.height]}get ui(){return this._get("ui")}set ui(t){const e=this._get("ui");e!==t&&e?.destroy(),this._set("ui",t)}blur(){this.surface?.blur()}focus(){this.surface?.focus()}pageToContainer(t,e,i){const s=this.position;return t-=s?s[0]:0,e-=s?s[1]:0,i?(i[0]=t,i[1]=e):i=[t,e],i}containerToPage(t,e,i){const s=this.position;return t+=s?s[0]:0,e+=s?s[1]:0,i?(i[0]=t,i[1]=e):i=[t,e],i}_updateAria(){const{surface:t,aria:e}=this;t&&(t.ariaLabelledByElements=e?.labelledByElements??null,t.ariaDescribedByElements=e?.describedByElements??null,t.ariaLabel=e?.label??null,t.ariaDescription=e?.description??null)}_handleUIChange(t,e){this.removeHandles("ui"),e&&e!==t&&e.destroy(),t&&(t.view=this,this.addHandles(h(()=>this.root,e=>{if(e){const i=document.createElement("div");e.insertBefore(i,this._attribution?.surface??null),t.container=i}else t.container=null},d),"ui")),this._set("ui",t)}_stopMeasuring(){this.removeHandles("measuring"),this._get("resizing")&&this._set("resizing",!1)}_startMeasuring(){const t=this._freqInfo;t.freq=b,t.time=w;const e=u({prepare:t=>{const i=this._measure(),s=this._freqInfo;if(s.time+=t.deltaTime,i&&(s.freq=b,this._get("resizing")||this._set("resizing",!0)),s.time<s.freq)return;s.time=0;const r=this._position();s.freq=r||i?b:Math.min(w,s.freq*H),!i&&s.freq>=C&&(e.pause(),this._get("resizing")&&this._set("resizing",!1))}}),i=new ResizeObserver(i=>{t.freq=b,t.time=w,e.resume()});null!=this.container&&i.observe(this.container);const n=r(()=>i.disconnect());this.addHandles([s(window,"resize",()=>{t.freq=b,t.time=w,e.resume()}),n,e],"measuring"),this._measure(),this._position()}_measure(){const t=this.container,e=t?t.clientWidth:0,i=t?t.clientHeight:0;if(0===e||0===i)return this.suspended||this._set("suspended",!0),!1;const s=this.width,r=this.height;if(e===s&&i===r)return this.suspended&&this._set("suspended",!1),!1;this._set("width",e),this._set("height",i),this.suspended&&this._set("suspended",!1);return this.emit("resize",{oldWidth:s,oldHeight:r,width:e,height:i}),!0}_position(){const t=this.container,e=this.position,i=t&&y(t);return!!i&&((!e||i[0]!==e[0]||i[1]!==e[1])&&(this._set("position",[i[0],i[1]]),!0))}forceDOMReadyCycle(){}};return t([c()],O.prototype,"_attribution",void 0),t([c()],O.prototype,"aria",void 0),t([c()],O.prototype,"attributionHeight",null),t([c()],O.prototype,"attributionMode",void 0),t([c()],O.prototype,"container",null),t([c({readOnly:!0})],O.prototype,"focused",null),t([c({readOnly:!0})],O.prototype,"height",void 0),t([c()],O.prototype,"messagesCommon",void 0),t([c({type:f})],O.prototype,"overlay",void 0),t([c({readOnly:!0})],O.prototype,"position",void 0),t([c({readOnly:!0})],O.prototype,"resizing",void 0),t([c({readOnly:!0})],O.prototype,"root",void 0),t([c({value:null,readOnly:!0})],O.prototype,"size",null),t([c({readOnly:!0})],O.prototype,"surface",void 0),t([c({readOnly:!0})],O.prototype,"suspended",void 0),t([c({nonNullable:!0})],O.prototype,"ui",null),t([c({readOnly:!0})],O.prototype,"userContent",void 0),t([c({readOnly:!0})],O.prototype,"width",void 0),t([c()],O.prototype,"widthBreakpoint",void 0),O=t([p("esri.views.DOMContainer")],O),O};export{O as DOMContainer};
2
+ import{__decorate as t}from"tslib";import{byId as e,reparent as i}from"../core/domUtils.js";import{on as s}from"../core/events.js";import{makeHandle as r}from"../core/handleUtils.js";import n from"../core/Logger.js";import{destroyMaybe as o,removeMaybe as a}from"../core/maybe.js";import{watch as h,initial as l,syncAndInitial as d}from"../core/reactiveUtils.js";import{addFrameTask as u}from"../core/scheduling.js";import{property as c,subclass as p}from"../core/accessorSupport/decorators.js";import{Attribution as m}from"./Attribution.js";import f from"./overlay/ViewOverlay.js";const _=[0,0];function y(t){const e=(t.ownerDocument||window.document).defaultView,i=t.getBoundingClientRect();return _[0]=i.left+(e?.pageXOffset??0),_[1]=i.top+(e?.pageYOffset??0),_}function g(t){t&&(t.textContent="",t.parentNode&&t.parentNode.removeChild(t))}const v="test"===process.env.NODE_ENV,b=v?0:16,w=v?0:750,C=v?0:512,H=2,O=_=>{const v=_;let O=class extends v{constructor(...t){super(...t),this._freqInfo={freq:b,time:w},this._overlayRenderTaskHandle=null,this.aria={},this.attributionMode=null,this.height=0,this.messagesCommon=null,this.overlay=null,this.position=null,this.resizing=!1,this.root=null,this.surface=null,this.suspended=!0,this.userContent=null,this.width=0,this.widthBreakpoint=null,this.addHandles([h(()=>this.cursor,t=>{const{surface:e}=this;e&&e.setAttribute("data-cursor",t)}),h(()=>this.navigating,t=>{const{surface:e}=this;e&&e.setAttribute("data-navigating",t.toString())}),h(()=>[this.aria,this.surface],()=>this._updateAria(),{initial:!0})])}initialize(){const t=this;this.addHandles([h(()=>this.ui,(t,e)=>this._handleUIChange(t,e),l),t.on("focus",()=>this.notifyChange("focused")),t.on("blur",()=>this.notifyChange("focused"))])}destroy(){this.destroyed||(this.ui?.destroy(),this.container=null)}get attributionHeight(){return this._attribution?.height??0}get container(){return this._get("container")??null}set container(t){const s=this._get("container"),r=e(t);if(r||"string"!=typeof t||n.getLogger(this).error("#container",`element with id '${t}' not found`),s===r)return;if(this._stopMeasuring(),this.removeHandles("container"),s&&(s.classList.remove("esri-view"),this._overlayRenderTaskHandle&&(this._overlayRenderTaskHandle.remove(),this._overlayRenderTaskHandle=null),this.overlay&&(this.overlay.destroy(),this._set("overlay",null)),this._attribution=o(this._attribution),this.root&&(g(this.root),this._set("root",null)),this.userContent&&(i(this.userContent,s),g(this.userContent),this._set("userContent",null))),!r)return this._set("width",0),this._set("height",0),this._set("position",null),this._set("suspended",!0),this._set("surface",null),void this._set("container",null);r.classList.add("esri-view");const l=document.createElement("div");l.className="esri-view-user-storage",i(r,l),r.appendChild(l),this._set("userContent",l);const c=document.createElement("div");c.className="esri-view-root",r.insertBefore(c,r.firstChild),this._set("root",c);const p=document.createElement("div");p.className="esri-view-surface",p.setAttribute("role","application"),p.tabIndex=0,c.appendChild(p),this._set("surface",p);const _=new f;c.appendChild(_.surface),this._set("overlay",_),this.addHandles(h(()=>_.needsRender,t=>{t&&!this._overlayRenderTaskHandle?this._overlayRenderTaskHandle=u({render:()=>this.overlay?.render()}):this._overlayRenderTaskHandle=a(this._overlayRenderTaskHandle)}),"container"),this.addHandles([h(()=>({visible:this.attributionVisible,items:this.attributionItems,mode:this.attributionMode}),({visible:t,items:e,mode:i})=>{t?(this._attribution||(this._attribution=new m({attributionItems:this.attributionItems,mode:this.attributionMode})),this._attribution.appendBefore(c,this.ui?.container??null),this._attribution.attributionItems=e,this._attribution.mode=i):this._attribution=o(this._attribution)},d)],"container"),this.forceDOMReadyCycle(),this._set("container",r),this._startMeasuring()}get focused(){const t=document.activeElement===this.surface;return document.hasFocus()&&t}get size(){return[this.width,this.height]}get ui(){return this._get("ui")}set ui(t){const e=this._get("ui");e!==t&&e?.destroy(),this._set("ui",t)}blur(){this.surface?.blur()}focus(){this.surface?.focus()}pageToContainer(t,e,i){const s=this.position;return t-=s?s[0]:0,e-=s?s[1]:0,i?(i[0]=t,i[1]=e):i=[t,e],i}containerToPage(t,e,i){const s=this.position;return t+=s?s[0]:0,e+=s?s[1]:0,i?(i[0]=t,i[1]=e):i=[t,e],i}_updateAria(){const{surface:t,aria:e}=this;t&&(t.ariaLabelledByElements=e?.labelledByElements??null,t.ariaDescribedByElements=e?.describedByElements??null,t.ariaLabel=e?.label??null,t.ariaDescription=e?.description??null)}_handleUIChange(t,e){this.removeHandles("ui"),e&&e!==t&&e.destroy(),t&&(t.view=this,this.addHandles(h(()=>this.root,e=>{if(e){const i=document.createElement("div");e.insertBefore(i,this._attribution?.surface??null),t.container=i}else t.container=null},l),"ui")),this._set("ui",t)}_stopMeasuring(){this.removeHandles("measuring"),this._get("resizing")&&this._set("resizing",!1)}_startMeasuring(){const t=this._freqInfo;t.freq=b,t.time=w;const e=u({prepare:t=>{const i=this._measure(),s=this._freqInfo;if(s.time+=t.deltaTime,i&&(s.freq=b,this._get("resizing")||this._set("resizing",!0)),s.time<s.freq)return;s.time=0;const r=this._position();s.freq=r||i?b:Math.min(w,s.freq*H),!i&&s.freq>=C&&(e.pause(),this._get("resizing")&&this._set("resizing",!1))}}),i=new ResizeObserver(i=>{t.freq=b,t.time=w,e.resume()});null!=this.container&&i.observe(this.container);const n=r(()=>i.disconnect());this.addHandles([s(window,"resize",()=>{t.freq=b,t.time=w,e.resume()}),n,e],"measuring"),this._measure(),this._position()}_measure(){const t=this.container,e=t?t.clientWidth:0,i=t?t.clientHeight:0;if(0===e||0===i)return this.suspended||this._set("suspended",!0),!1;const s=this.width,r=this.height;if(e===s&&i===r)return this.suspended&&this._set("suspended",!1),!1;this._set("width",e),this._set("height",i),this.suspended&&this._set("suspended",!1);return this.emit("resize",{oldWidth:s,oldHeight:r,width:e,height:i}),!0}_position(){const t=this.container,e=this.position,i=t&&y(t);return!!i&&((!e||i[0]!==e[0]||i[1]!==e[1])&&(this._set("position",[i[0],i[1]]),!0))}forceDOMReadyCycle(){}};return t([c()],O.prototype,"_attribution",void 0),t([c()],O.prototype,"aria",void 0),t([c()],O.prototype,"attributionHeight",null),t([c()],O.prototype,"attributionMode",void 0),t([c()],O.prototype,"container",null),t([c({readOnly:!0})],O.prototype,"focused",null),t([c({readOnly:!0})],O.prototype,"height",void 0),t([c()],O.prototype,"messagesCommon",void 0),t([c({type:f})],O.prototype,"overlay",void 0),t([c({readOnly:!0})],O.prototype,"position",void 0),t([c({readOnly:!0})],O.prototype,"resizing",void 0),t([c({readOnly:!0})],O.prototype,"root",void 0),t([c({value:null,readOnly:!0})],O.prototype,"size",null),t([c({readOnly:!0})],O.prototype,"surface",void 0),t([c({readOnly:!0})],O.prototype,"suspended",void 0),t([c({nonNullable:!0})],O.prototype,"ui",null),t([c({readOnly:!0})],O.prototype,"userContent",void 0),t([c({readOnly:!0})],O.prototype,"width",void 0),t([c()],O.prototype,"widthBreakpoint",void 0),O=t([p("esri.views.DOMContainer")],O),O};export{O as DOMContainer};
@@ -8,19 +8,19 @@ export interface MagnifierProperties extends Partial<Pick<Magnifier, "factor" |
8
8
  * as a magnified image. An instance of this class can be accessed through
9
9
  * either [MapView.magnifier](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#magnifier) or [SceneView.magnifier](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#magnifier).
10
10
  *
11
- * ![magnifier-overlay](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/magnifier/magnifier-overlay.png)
11
+ * ![magnifier-overlay](https://developers.arcgis.com/javascript/latest/assets/references/core/views/magnifier/magnifier-overlay.png)
12
12
  *
13
13
  * As you can see in the screenshot above, the Magnifier utilizes a default overlay image of a magnifier
14
14
  * glass. The overlay image is set using the [overlayUrl](https://developers.arcgis.com/javascript/latest/references/core/views/Magnifier/#overlayUrl) property. You can disable the overlay image by setting the [overlayEnabled](https://developers.arcgis.com/javascript/latest/references/core/views/Magnifier/#overlayEnabled) to `false`. The following
15
15
  * demonstrates using a Magnifier without an overlay image.
16
16
  *
17
- * ![magnifier-no-overlay](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/magnifier/magnifier-no-overlay.png)
17
+ * ![magnifier-no-overlay](https://developers.arcgis.com/javascript/latest/assets/references/core/views/magnifier/magnifier-no-overlay.png)
18
18
  *
19
19
  * The Magnifier contains a default mask image, which is set using the [maskUrl](https://developers.arcgis.com/javascript/latest/references/core/views/Magnifier/#maskUrl), and determines the visible area of the magnified image. Be default, the magnified area
20
20
  * is in the shape of a circle. The following demonstrates an example of a mask image set in the shape of a square. Note that the `overlayEnabled` was set
21
21
  * to `false` in this example as well to hide the overlay image, and only display the magnified area.
22
22
  *
23
- * ![magnifier-maskUrl](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/magnifier/magnifier-maskUrl.png)
23
+ * ![magnifier-maskUrl](https://developers.arcgis.com/javascript/latest/assets/references/core/views/magnifier/magnifier-maskUrl.png)
24
24
  *
25
25
  * @since 4.19
26
26
  * @see [MapView.magnifier](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#magnifier)
@@ -247,7 +247,7 @@ export interface MapViewProperties extends View2DProperties {}
247
247
  * is set to `true` (default). To enable zooming in MapView, `view.constraints.snapToZoom` must be set to `false` (default is `true`).
248
248
  * Please see [GamepadInputDevice](https://developers.arcgis.com/javascript/latest/references/core/views/input/gamepad/GamepadInputDevice/) for supported devices.
249
249
  *
250
- * ![Gamepad](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/standard-gamepad.png)
250
+ * ![Gamepad](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/standard-gamepad.png)
251
251
  *
252
252
  * Gamepad Action | MapView behavior
253
253
  * ------|------------
@@ -258,11 +258,11 @@ export interface MapViewProperties extends View2DProperties {}
258
258
  *
259
259
  * Action Image | SpaceMouse Action | MapView behavior
260
260
  * ------|------|------------
261
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/3dmouse-pan.png) | Push (left/right/forward/backward) | Pan the view
262
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/pull-up.png) | Pull up | Zoom out
263
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/push-down.png) | Push down | Zoom in
264
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/rotate-clockwise.png) | Rotate clockwise | Rotate the view clockwise
265
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/rotate-counterclockwise.png) | Rotate counterclockwise | Rotate the view counterclockwise
261
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/3dmouse-pan.png) | Push (left/right/forward/backward) | Pan the view
262
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/pull-up.png) | Pull up | Zoom out
263
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/push-down.png) | Push down | Zoom in
264
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/rotate-clockwise.png) | Rotate clockwise | Rotate the view clockwise
265
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/rotate-counterclockwise.png) | Rotate counterclockwise | Rotate the view counterclockwise
266
266
  *
267
267
  * To disable gamepad navigation, you can set `view.navigation.gamepad.enabled` to `false`.
268
268
  *
@@ -295,7 +295,7 @@ export interface MapViewProperties extends View2DProperties {}
295
295
  * to user interaction without delay. The [@click](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#event-click) event is only triggered after making sure that the
296
296
  * user doesn't click a second time (in which case it would trigger a [@double-click](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#event-double-click) event).
297
297
  *
298
- * ![Various events](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/events.png "Click and double-click events")
298
+ * ![Various events](https://developers.arcgis.com/javascript/latest/assets/references/core/views/events.png "Click and double-click events")
299
299
  *
300
300
  * In the case of a double-click, the same event chain is repeated after the first click. However, if the user clicks
301
301
  * a second time within a close time range, then the [@click](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#event-click) event is not emitted anymore, but the
@@ -180,7 +180,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
180
180
  *
181
181
  * The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) scenes.
182
182
  *
183
- * ![scene-clipping-area](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-clipping-area.png "Local scene with clippingArea")
183
+ * ![scene-clipping-area](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-clipping-area.png "Local scene with clippingArea")
184
184
  *
185
185
  * The clippingArea property contains an internal reference which may be modified in the future. To persist or
186
186
  * modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/#clone).
@@ -328,8 +328,8 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
328
328
  *
329
329
  * Value | Example | Description
330
330
  * ------|-------|------------
331
- * global | ![scene-global](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-global.png) | Global scenes allow the entire globe to render in the view, showing the curvature of the earth.
332
- * local | ![scene-local](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-local.png) | Local scenes render the earth on a flat surface. They can be constrained to only show a "local" area by setting the [clippingArea](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#clippingArea) property. Local scenes also allow for displaying and exploring data that would otherwise be hidden by the surface of the earth.
331
+ * global | ![scene-global](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-global.png) | Global scenes allow the entire globe to render in the view, showing the curvature of the earth.
332
+ * local | ![scene-local](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-local.png) | Local scenes render the earth on a flat surface. They can be constrained to only show a "local" area by setting the [clippingArea](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#clippingArea) property. Local scenes also allow for displaying and exploring data that would otherwise be hidden by the surface of the earth.
333
333
  *
334
334
  * Depending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#supported-coordinate-systems) are available.
335
335
  *
@@ -377,7 +377,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
377
377
  * for [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/). For a general overview of views,
378
378
  * see [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/).
379
379
  *
380
- * ![Various scenes](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-mosaic.png "Various example scenes")
380
+ * ![Various scenes](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-mosaic.png "Various example scenes")
381
381
  *
382
382
  * For a map to be visible to the user in the DOM, a SceneView must have both a
383
383
  * valid [Map instance](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#map) and a [DOM element](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#container) with a non-zero
@@ -502,7 +502,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
502
502
  * <details>
503
503
  * <summary>Read More</summary>
504
504
  *
505
- * ![Gamepad](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/standard-gamepad.png)
505
+ * ![Gamepad](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/standard-gamepad.png)
506
506
  *
507
507
  * Gamepad Action | SceneView behavior
508
508
  * ------|------------
@@ -513,12 +513,12 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
513
513
  *
514
514
  * Action Image | SpaceMouse Action | SceneView behavior
515
515
  * -------|------|------------
516
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/3dmouse-pan.png) | Push (left/right/forward/backward)| Pan
517
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/pull-up.png) | Pull up | Ascend
518
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/push-down.png) | Push down | Descend
519
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/rotate-clockwise.png) | Rotate clockwise | Rotate the view clockwise
520
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/rotate-counterclockwise.png) | Rotate counterclockwise | Rotate the view counterclockwise
521
- * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/input/tilt.png) | Tilt | Tilt the scene
516
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/3dmouse-pan.png) | Push (left/right/forward/backward)| Pan
517
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/pull-up.png) | Pull up | Ascend
518
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/push-down.png) | Push down | Descend
519
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/rotate-clockwise.png) | Rotate clockwise | Rotate the view clockwise
520
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/rotate-counterclockwise.png) | Rotate counterclockwise | Rotate the view counterclockwise
521
+ * ![3DMousePan](https://developers.arcgis.com/javascript/latest/assets/references/core/views/input/tilt.png) | Tilt | Tilt the scene
522
522
  *
523
523
  * To disable gamepad navigation, you can set `view.navigation.gamepad.enabled` to `false`.
524
524
  *
@@ -625,7 +625,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
625
625
  * <span id="viewing-modes"></span>
626
626
  * ## Viewing modes
627
627
  *
628
- * ![global vs local](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-global-vs-local.png "Showing global scene vs local scene")
628
+ * ![global vs local](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-global-vs-local.png "Showing global scene vs local scene")
629
629
  *
630
630
  * The SceneView supports two different viewing modes, `global` (left picture above) and `local` (right picture above),
631
631
  * specified by the [viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) property. Global scenes render the
@@ -722,7 +722,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
722
722
  * to user interaction without delay. The [@click](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#event-click) event is only triggered after making sure that the
723
723
  * user doesn't click a second time (in which case it would trigger a [@double-click](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#event-double-click) event).
724
724
  *
725
- * ![Various events](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/events.png "Click and double-click events")
725
+ * ![Various events](https://developers.arcgis.com/javascript/latest/assets/references/core/views/events.png "Click and double-click events")
726
726
  *
727
727
  * In the case of a double-click, the same event chain is repeated after the first click. However, if the user clicks
728
728
  * a second time within a close time range, then the [@click](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#event-click) event is not emitted anymore, but the
@@ -966,7 +966,7 @@ export default class SceneView extends SceneViewSuperclass {
966
966
  *
967
967
  * The `clippingArea` property only applies to [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) scenes.
968
968
  *
969
- * ![scene-clipping-area](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-clipping-area.png "Local scene with clippingArea")
969
+ * ![scene-clipping-area](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-clipping-area.png "Local scene with clippingArea")
970
970
  *
971
971
  * The clippingArea property contains an internal reference which may be modified in the future. To persist or
972
972
  * modify the clippingArea, create a clone using [clippingArea.clone()](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/#clone).
@@ -1113,41 +1113,38 @@ export default class SceneView extends SceneViewSuperclass {
1113
1113
  * > [!WARNING]
1114
1114
  * >
1115
1115
  * > `qualityProfile` is evaluated and set automatically when SceneView loads depending on the detected device,
1116
- * > in order to optimize stability and performance across different hardware and browsers.
1117
- * > In most scenarios it is therefore recommended to not set qualityProfile, but let it be evaluated automatically.
1116
+ * > to optimize stability and performance across different hardware and browsers.
1117
+ * > In most scenarios it is recommended to not set qualityProfile, but let it be evaluated automatically.
1118
1118
  * > `qualityProfile` should only be set when the target devices and their capabilities that the application runs on
1119
1119
  * > are clear, and are known to work well with the chosen profile.
1120
- * > Applications should also consider providing an option to change the quality profile, such that users can select the
1121
- * > profile that works best with their specific devices.
1120
+ * > Applications should also consider providing an option to change the quality profile, such that users can select
1121
+ * > the profile that works best with their specific devices.
1122
1122
  *
1123
- * The `low` quality profile significantly increases performance on slower browsers and devices by reducing the
1124
- * memory limit. The memory limit impacts the [SceneLayer's](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) levels of detail and
1125
- * the number of features that are displayed in a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/). Furthermore, low quality
1126
- * profile impacts visual quality by reducing map resolution, simplifying atmospheric effects and disabling
1127
- * anti-aliasing (edge smoothing).
1123
+ * The quality profiles have increasingly higher settings for the memory limit and rendering quality.
1128
1124
  *
1129
- * The `high` and `medium` quality profiles differ in the maximum amount of memory which the view is allowed to use.
1130
- * A higher memory limit improves quality in complex web scenes with many layers, but can have a negative impact on
1131
- * drawing performance and stability.
1125
+ * The memory limit defines the maximum amount of memory which the view is allowed to use. Complex web scenes
1126
+ * with many layers will hit the memory limit. When this happens, the view will reduce the level of detail and the
1127
+ * number of features that are loaded, as well as the rendering resolution of the view and of draped content. This
1128
+ * will make the application less likely crash due to out of memory errors.
1132
1129
  *
1133
- * [Physically based rendering](https://en.wikipedia.org/wiki/Physically_based_rendering) (PBR) materials are enabled
1134
- * on all 3D objects in a SceneView in "medium" and "high" quality modes. However, if a
1135
- * [GLTF model](https://developers.arcgis.com/javascript/latest/references/core/symbols/ObjectSymbol3DLayer/#resource) or a 3D Object
1136
- * [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) has PBR settings defined on the material, then these will be rendered in all
1137
- * quality modes.
1130
+ * The rendering quality settings impacts the level of detail and the maximum number of features that are loaded
1131
+ * by all layers. A higher quality profile also enables more rendering features, providing better visuals.
1132
+ * Furthermor, it increases the resolution of shadows, rasterized content such as icons and text, as well as the
1133
+ * overall rendering resolution on HiDPI displays.
1138
1134
  *
1139
- * In "high" quality mode, on a HiDPI display, graphics are rendered at a higher resolution depending on the
1140
- * browser's [devicePixelRatio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) property.
1135
+ * A higher quality profile improves visual quality and detail, but can have a negative impact on drawing performance
1136
+ * and stability.
1141
1137
  *
1142
1138
  * SceneView performance depends on the amount of data being displayed, the quality profile and the device type.
1143
1139
  * [performanceInfo](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#performanceInfo) can be used to inspect the memory consumption and the number
1144
1140
  * of features that are displayed for a specific scene. The
1145
- * [SceneView memory resources](https://developers.arcgis.com/javascript/latest/sample-code/sceneview-memory/) sample shows how this property can be used.
1141
+ * [SceneView memory resources](https://developers.arcgis.com/javascript/latest/sample-code/sceneview-memory/)
1142
+ * sample shows how this property can be used.
1146
1143
  *
1147
1144
  * The default value is based on the detected browser:
1148
1145
  *
1149
1146
  * * `low` for all browsers on iPhones
1150
- * * `medium` for any other browser
1147
+ * * `medium` for any other browser and device
1151
1148
  *
1152
1149
  * @example
1153
1150
  * let view = new SceneView({
@@ -1207,8 +1204,8 @@ export default class SceneView extends SceneViewSuperclass {
1207
1204
  *
1208
1205
  * Value | Example | Description
1209
1206
  * ------|-------|------------
1210
- * global | ![scene-global](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-global.png) | Global scenes allow the entire globe to render in the view, showing the curvature of the earth.
1211
- * local | ![scene-local](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-local.png) | Local scenes render the earth on a flat surface. They can be constrained to only show a "local" area by setting the [clippingArea](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#clippingArea) property. Local scenes also allow for displaying and exploring data that would otherwise be hidden by the surface of the earth.
1207
+ * global | ![scene-global](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-global.png) | Global scenes allow the entire globe to render in the view, showing the curvature of the earth.
1208
+ * local | ![scene-local](https://developers.arcgis.com/javascript/latest/assets/references/core/views/scene-local.png) | Local scenes render the earth on a flat surface. They can be constrained to only show a "local" area by setting the [clippingArea](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#clippingArea) property. Local scenes also allow for displaying and exploring data that would otherwise be hidden by the surface of the earth.
1212
1209
  *
1213
1210
  * Depending on the viewing mode different [supported coordinate systems](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#supported-coordinate-systems) are available.
1214
1211
  *
package/views/View.d.ts CHANGED
@@ -221,7 +221,7 @@ export type ViewEvents = SceneViewEventTypes;
221
221
  *
222
222
  * | MapView (2D) | SceneView (3D) |
223
223
  * |--------------|----------------|
224
- * | [![mapview](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/mapview.png)](https://developers.arcgis.com/javascript/latest/sample-code/intro-mapview/) | [![sceneview](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/sceneview.png)](https://developers.arcgis.com/javascript/latest/sample-code/intro-sceneview/) |
224
+ * | [![mapview](https://developers.arcgis.com/javascript/latest/assets/references/core/views/mapview.png)](https://developers.arcgis.com/javascript/latest/sample-code/intro-mapview/) | [![sceneview](https://developers.arcgis.com/javascript/latest/assets/references/core/views/sceneview.png)](https://developers.arcgis.com/javascript/latest/sample-code/intro-sceneview/) |
225
225
  *
226
226
  * To associate a view with a map, you must set the [map](https://developers.arcgis.com/javascript/latest/references/core/views/View/#map) property to an instance of [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/).
227
227
  *
@@ -319,7 +319,7 @@ export default abstract class View<TLayerView extends LayerView = LayerView> ext
319
319
  /**
320
320
  * The array of attribution items to be displayed in the view's attribution.
321
321
  *
322
- * ![attribution](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/attribution.png)
322
+ * ![attribution](https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/attribution.png)
323
323
  *
324
324
  * @since 5.0
325
325
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import*as e from"@amcharts/amcharts5/index.js";import{XYChart as i,ValueAxis as s,AxisRendererX as o,AxisRendererY as n,XYCursor as r,LineSeries as a}from"@amcharts/amcharts5/xy.js";import l from"@amcharts/amcharts5/themes/Dark.js";import p from"@amcharts/amcharts5/themes/Responsive.js";import{fetchMessageBundle as c,substitute as d,formatNumber as h}from"../../../intl.js";import u from"../../../core/Accessor.js";import{createTask as m}from"../../../core/asyncUtils.js";import{makeHandle as f,handlesGroup as g}from"../../../core/handleUtils.js";import"../../../core/has.js";import{throwIfAborted as x}from"../../../core/promiseUtils.js";import{watch as _,initial as y}from"../../../core/reactiveUtils.js";import{throttle as v}from"../../../core/throttle.js";import{formatDecimal as A,unitName as T}from"../../../core/unitFormatUtils.js";import{property as b,subclass as M}from"../../../core/accessorSupport/decorators.js";import{getEpsilon as P}from"../../../core/libs/gl-matrix-2/math/common.js";import{isDarkMode as S}from"../../../support/modeUtils.js";import{getConfig as w,notAvailable as F}from"./constants.js";import{getAdjustedBounds as C}from"./elevationProfileChartBoundsUtils.js";import{themeLight as L,themeDark as z}from"./elevationProfileChartTheme.js";import{binaryFindClosest as I}from"./elevationProfileGenerationUtils.js";import{createRoot as k}from"../../../widgets/support/chartUtilsAm5.js";let j=class extends u{get chartVisible(){const t=this._chartData;if(null==t)return!1;let e=0;for(const{samples:i}of t.lines)e+=i?.length??0;return t.refined||e<=w().largeChartSamples}get spinnerVisible(){return null!=this._chartData&&(this.analysisView?.progress??0)<1}get _updateParameters(){const{messages:t,_unitsMessages:e}=this;if(t&&e)return{data:this._chartData,messages:t,unitsMessages:e}}get _chartData(){const{analysisView:t,uniformScaling:e}=this;if(!this._hasGeometry||!t)return;const{analysis:i,effectiveDisplayUnits:s,progress:o,statistics:n}=t;return{lines:this._lineData,statistics:n,effectiveUnits:s,refined:1===o,uniformScaling:e,dynamicElevationRange:i.profiles.some(t=>"scene"===t.type)}}get _hasGeometry(){return null!=this.analysisView?.analysis.geometry}get _lineData(){const{analysisView:t}=this;if(!t)return[];const{analysis:e,results:i}=t,{profiles:s}=e;if(i.length!==s.length)return[];const o=[];for(let n=0;n<s.length;n++){const t=s.at(n),e=i.at(n);if(!e.available||!e.rawResult?.hasZ||!t.chartOptions.lineVisible)continue;const r="input"!==t.type;o.push({id:t.id,type:t.type,title:t.title,color:t.color,samples:e.samples,fillEnabled:r,strokeOffsetY:r?-1:0,strokeWidth:1.5})}return o}constructor(t){super(t),this.view=null,this.analysisView=null,this.messages=null,this.uniformScaling=!1,this._theme=L,this._data=null,this._seriesInfos=new Map,this._pointerIsOver=!1,this._rtl=!1,this._chartInfo=null,this._unitsMessages=null,this._throttledUpdate=v(t=>{this._update(t)},w().updateThrottleMillis),this._onCursorMove=()=>{const t=this._chartInfo;if(!t||!this._pointerIsOver)return;const{chart:e,xAxis:i,yAxis:s}=t;this._updateTooltips();const o=e.get("cursor");let n=o?.getPrivate("positionX")??0,r=o?.getPrivate("positionY")??0;const a=this._data;if(null!=a?.statistics){const{maxDistance:t,minElevation:e,maxElevation:o}=a.statistics;let l,p;if(null!=t){1===Y(i)?(l=0,p=t):(l=O(i),p=R(i)),n=V(n,l,p,0,t)}if(null!=e&&null!=o){1===Y(s)?(l=e,p=o):(l=O(s),p=R(s)),r=V(r,l,p,e,o)}}this.onCursorPositionChange?.(n,r)}}initialize(){this.addHandles(m(t=>this._initializeChart(t)))}destroy(){this._chartInfo=null,this._seriesInfos.clear(),this._data=null}zoomOut(){this._chartInfo?.xAxis.zoom(0,1),this._chartInfo?.yAxis.zoom(0,1)}async _initializeChart(t){const[e,s]=await Promise.all([k(this.container),c("esri/core/t9n/Units")]);x(t);const o=E(this.container),n=S(this.container),r=n?z:L;e.setThemes(n?[p.new(e),l.new(e)]:[p.new(e)]),this._rtl=o,this._theme=r,this._unitsMessages=s;const a=e.container.children.push(i.new(e,{panX:!0,panY:!0,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:o?r.paddingRight:r.paddingLeft,paddingRight:o?r.paddingLeft:r.paddingRight,maxTooltipDistance:-1}));a.zoomOutButton.set("forceHidden",!0);const d=a.xAxes.push(this._createXAxis(e)),h=a.yAxes.push(this._createYAxis(e));this._chartInfo={chart:a,xAxis:d,yAxis:h},this._initializeTest(a),this.addHandles([this._setupZoomHandling(),this._setupCursorHandling(),W(e),_(()=>this._updateParameters,t=>this._throttledUpdate(t),y),this._throttledUpdate])}_initializeTest(t){}_update(t){if(!t||this.destroyed)return;const e=this._data,i=t.data;if(i===e&&t.messages===this.messages&&t.unitsMessages===this._unitsMessages)return;const s=e!==i,o=e?.effectiveUnits!==i?.effectiveUnits,n=e?.uniformScaling!==i?.uniformScaling;this._data=i,(s||o)&&(this._updateAxes(),this._updateSeries()),n&&this.zoomOut(),this._updateTooltips()}_createXAxis(t){const i=this._theme,n=s.new(t,{renderer:o.new(t,{})});n.setAll({extraMax:0,extraMin:0,maxDeviation:0,numberFormatter:this._makeFormatter(t,"distance"),strictMinMax:!0,strictMinMaxSelection:!0}),n.axisHeader.set("forceHidden",!0);const r=n.get("renderer");r.setAll({inside:!1,minGridDistance:i.xAxisMinGridDistance}),r.labels.template.setAll({centerX:e.p0,centerY:e.p0,fill:e.color(i.axisLabelsColor),fontFamily:i.fontFamily,fontSize:i.axisLabelsFontSize,fontWeight:i.axisLabelsFontWeight,maxPosition:i.xAxisMaxLabelPosition,minPosition:i.xAxisMinLabelPosition,paddingLeft:0,paddingRight:0,paddingTop:i.xAxisLabelsSpacing});const a=n.set("tooltip",e.Tooltip.new(t,{paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0}));return a.get("background")?.setAll({fill:e.color(i.axisTooltipBackgroundColor),stroke:void 0}),a.label.setAll({fill:e.color(i.axisTooltipLabelColor),fontFamily:i.fontFamily,fontSize:i.axisTooltipFontSize,paddingBottom:i.axisTooltipPaddingBottom,paddingLeft:i.axisTooltipPaddingHorizontal,paddingRight:i.axisTooltipPaddingHorizontal,paddingTop:i.axisTooltipPaddingTop,direction:this._rtl?"rtl":"ltr"}),r.grid.template.setAll({strokeOpacity:1,stroke:e.color(i.axisGridStroke)}),n}_createYAxis(t){const i=this._theme,o=this._rtl,r=s.new(t,{renderer:n.new(t,{})});r.setAll({baseValue:w().noDataValue,extraMax:0,extraMin:0,maxDeviation:0,numberFormatter:this._makeFormatter(t,"elevation"),strictMinMax:!0,strictMinMaxSelection:!0,tooltip:void 0}),r.axisHeader.set("visible",!1);const a=r.get("renderer");return a.setAll({minGridDistance:i.yAxisMinGridDistance,opposite:o,inside:!0}),a.labels.template.setAll({centerX:e.p0,centerY:e.p100,fill:e.color(i.axisLabelsColor),fontFamily:i.fontFamily,fontSize:i.axisLabelsFontSize,fontWeight:i.axisLabelsFontWeight,maxPosition:i.yAxisMaxLabelPosition,minPosition:i.yAxisMinLabelPosition,paddingBottom:0,paddingLeft:o?0:i.yAxisLabelSpacing,paddingRight:o?i.yAxisLabelSpacing:0,paddingTop:0,textAlign:"start"}),a.grid.template.setAll({strokeOpacity:1,stroke:e.color(i.axisGridStroke)}),r}_setupZoomHandling(){const t=this._chartInfo;if(!t)return f();const{xAxis:e,yAxis:i}=t,s=()=>{this.onRangeChange?.(Y(e),Y(i))},o=t=>[t.on("start",s),t.on("end",s)];return G([...o(e),...o(i)])}_setupCursorHandling(){const t=this._chartInfo?.chart;if(!t)return f();const e=t.plotContainer.events,i=t=>{this._pointerIsOver=t,this._updateTooltips()},s=()=>{i(!1),this.onCursorPositionChange?.(null,null)};return G([e.on("pointerover",()=>i(!0)),e.on("pointerout",s),e.on("blur",s)])}_updateAxes(){const t=this._chartInfo;if(!t)return;const{chart:e,xAxis:i,yAxis:s}=t,o=this._data,{minX:n,maxX:r,minY:a,maxY:l}=C({data:o,pixelWidth:i.width(),pixelHeight:s.height()}),p=!!o?.uniformScaling,c=!!o?.refined;e.setAll({panX:!0,panY:p,pinchZoomX:c,pinchZoomY:c&&p,wheelX:"panX",wheelY:c?p?"zoomXY":"zoomX":"none"}),i.setAll({max:r,min:n,panX:!0,panY:!1,zoomX:!0,zoomY:p}),s.setAll({max:l,min:a,panX:!1,panY:p,zoomX:p,zoomY:p})}_updateSeries(){const t=this._seriesInfos,e=this._chartInfo;if(!e)return;const{chart:i,xAxis:s,yAxis:o}=e,n=this._data;if(!n||0===n.lines.length)return this._seriesInfos.clear(),void i.series.clear();const r=new Map,a=new Set(i.series.values),l=n.lines.length;for(let p=0;p<l;p++){const s=n.lines[p];let o=t.get(s.id);o?(o.fill&&a.delete(o.fill),a.delete(o.line)):(o=D(e,s),o.fill&&i.series.push(o.fill),i.series.push(o.line)),r.set(o.id,o);const c=l-p-1;o.fill?.set("layer",c),o.line.set("layer",l+c),this._updateLineSeries(o,s)}this._seriesInfos=r;for(const p of a)i.series.removeValue(p);s.set("layer",l+1),o.set("layer",l+2)}_updateLineSeries(t,i){const s=e.color(i.color.toCss()),o=i.samples??[],n=o.length>0,{line:r,fill:a}=t;r.set("visible",n),r.set("stroke",s),a?.set("visible",n),a?.set("fill",e.Color.lighten(s,this._theme.seriesFillLighten)),r.data.setAll(o),a?.data.setAll(o)}_updateTooltips(){const t=this._chartInfo;if(!t)return;const{chart:e,xAxis:i,yAxis:s}=t,o=e.get("cursor");if(!this._data?.refined)return o?.events.removeType("cursormoved"),o?.dispose(),void e.set("cursor",void 0);if(!o){const t=r.new(e.root,{behavior:"none",xAxis:i,yAxis:s,snapToSeriesBy:"y"});t.lineY.set("visible",!1),t.events.on("cursormoved",this._onCursorMove),e.set("cursor",t)}const n=this._getSeriesTooltipText();n?this._seriesInfos.forEach(e=>{const i=e.line.get("tooltip")??X(t,this._theme,this._rtl);i.label.set("text",n),e.line.set("tooltip",i)}):this._seriesInfos.forEach(t=>{t.line.get("tooltip")?.dispose(),t.line.set("tooltip",void 0)}),this._chartInfo?.xAxis.getTooltip()?.setAll({tooltipText:this._getAxisTooltipText()})}_getSeriesTooltipText(){const t=this._data?.lines.map(t=>({line:t,y:this._getPointNearestToCursor(t)?.elevation})).sort(H);return t&&0!==t.length&&null!=t[0].y?t.map(({y:t,line:e})=>this._getTooltipTextForLine(e,t)).join("\n"):null}_getPointNearestToCursor(t){const e=t.samples??[];if(0===e.length)return null;const i=this._chartInfo;if(!i)return null;const{chart:s,xAxis:o}=i,n=s.get("cursor"),r=n?.getPrivate("positionX")??0,a=o.toAxisPosition(r),l=o.positionToValue(a);return I(e,l,t=>t.distance)}_getTooltipTextForLine(t,e){const i=this._data,s=this.messages,o=this._unitsMessages;if(!i||!s||!o)return"";const n=`[${t.color.toHex()}]●[/]`,r=" ",a=w().formatPrecision,l=d(s.chartTooltip,{name:B(t,s),elevation:null!=e?A(o,e,i.effectiveUnits.elevation,a):F});return this._rtl?l+r+n:n+r+l}_getAxisTooltipText(){const t=this._data,e=this._unitsMessages;if(!t||!e)return"";const i=t.lines[0],s=i?this._getPointNearestToCursor(i):null,o=w().formatPrecision;return null!=s?A(e,s.distance,t.effectiveUnits.distance,o):"-"}_makeFormatter(t,i){const s=e.NumberFormatter.new(t,{});return s.format=(t,e,s)=>{const o=this._data,n=this._unitsMessages;if(!o||!n||"string"==typeof t)return"";return`${h(t,{maximumFractionDigits:s})} ${T(n,o.effectiveUnits[i],"abbr")}`},s}};function D(t,e){const{id:i}=e,s=U(t,`line-${i}`);s.setAll({dy:e.strokeOffsetY,tooltip:void 0}),s.strokes.template.setAll({strokeWidth:e.strokeWidth});let o=null;return e.fillEnabled&&(o=U(t,`fill-${i}`),o.fills.template.setAll({fillOpacity:1,visible:!0})),{id:i,line:s,fill:o}}function U({chart:t,xAxis:e,yAxis:i},s){return a.new(t.root,{connect:!1,excludeFromTotal:!0,fill:void 0,id:s,stroke:void 0,valueXField:"distance",valueYField:"elevation",xAxis:e,yAxis:i})}function X({chart:t},i,s){const o=e.Tooltip.new(t.root,{autoTextColor:!1,getFillFromSprite:!1,getLabelFillFromSprite:!1,pointerOrientation:"vertical",visible:!1}),n=i.seriesTooltipPaddingHorizontal,r=i.seriesTooltipPaddingVertical;return o.label.setAll({fill:e.color(i.seriesTooltipLabelColor),fontFamily:i.fontFamily,fontSize:i.seriesTooltipFontSize,paddingBottom:r,paddingLeft:n,paddingRight:n,paddingTop:r,textAlign:s?"end":"start",direction:"ltr"}),o.get("background")?.setAll({stroke:void 0,fill:e.color(i.seriesTooltipBackgroundColor)}),o.adapters.add("dy",t=>{const e=i.seriesTooltipSpacing,s=o.get("pointTo")?.y??0;return(t??0)+(o.y()>s?e:-e)}),o}function Y(t){const e=Math.abs((t.get("end")??0)-(t.get("start")??0)),i=0!==e?1/e:1;return Math.abs(1-i)<P()?1:i}function V(t,e,i,s,o){return(e+t*(i-e)-s)/(o-s)}function H({y:t},{y:e}){return null==t?1:null==e?-1:e-t}function O(t){return t.positionToValue(t.get("start")??0)}function R(t){return t.positionToValue(t.get("end")??1)}function B(t,e){const i=t.title;if(null!=i)return i;switch(t.type){case"ground":return e.profiles.ground;case"input":return e.profiles.input;case"query":return e.profiles.query;case"scene":return e.profiles.scene;default:return""}}function E(t){const e=t?.closest("[dir]");return null!==e&&e instanceof HTMLElement&&"rtl"===e.dir||"rtl"===document.dir}function G(t){return g(t.map(W))}function W(t){return f(()=>t?.dispose())}t([b()],j.prototype,"view",void 0),t([b()],j.prototype,"analysisView",void 0),t([b()],j.prototype,"container",void 0),t([b()],j.prototype,"messages",void 0),t([b()],j.prototype,"onRangeChange",void 0),t([b()],j.prototype,"onCursorPositionChange",void 0),t([b()],j.prototype,"uniformScaling",void 0),t([b()],j.prototype,"chartVisible",null),t([b()],j.prototype,"spinnerVisible",null),t([b()],j.prototype,"test",void 0),t([b()],j.prototype,"_theme",void 0),t([b()],j.prototype,"_data",void 0),t([b()],j.prototype,"_seriesInfos",void 0),t([b()],j.prototype,"_pointerIsOver",void 0),t([b()],j.prototype,"_rtl",void 0),t([b()],j.prototype,"_chartInfo",void 0),t([b()],j.prototype,"_unitsMessages",void 0),t([b()],j.prototype,"_updateParameters",null),t([b()],j.prototype,"_chartData",null),t([b()],j.prototype,"_hasGeometry",null),t([b()],j.prototype,"_lineData",null),j=t([M("esri.views.analysis.ElevationProfile.ElevationProfileChart")],j);export{j as ElevationProfileChart};
2
+ import{__decorate as t}from"tslib";import*as e from"@amcharts/amcharts5/index.js";import{XYChart as i,ValueAxis as s,AxisRendererX as o,AxisRendererY as n,XYCursor as r,LineSeries as a}from"@amcharts/amcharts5/xy.js";import l from"@amcharts/amcharts5/themes/Dark.js";import p from"@amcharts/amcharts5/themes/Responsive.js";import{fetchMessageBundle as c,substitute as d,formatNumber as h}from"../../../intl.js";import u from"../../../core/Accessor.js";import{createTask as m}from"../../../core/asyncUtils.js";import{makeHandle as f,handlesGroup as g}from"../../../core/handleUtils.js";import"../../../core/has.js";import{throwIfAborted as x}from"../../../core/promiseUtils.js";import{watch as _,initial as y}from"../../../core/reactiveUtils.js";import{throttle as v}from"../../../core/throttle.js";import{formatDecimal as A,unitName as T}from"../../../core/unitFormatUtils.js";import{property as b,subclass as M}from"../../../core/accessorSupport/decorators.js";import{getEpsilon as S}from"../../../core/libs/gl-matrix-2/math/common.js";import{isDarkMode as P}from"../../../support/modeUtils.js";import{getConfig as w,notAvailable as F}from"./constants.js";import{getAdjustedBounds as C}from"./elevationProfileChartBoundsUtils.js";import{themeLight as L,themeDark as z}from"./elevationProfileChartTheme.js";import{binaryFindClosest as I}from"./elevationProfileGenerationUtils.js";import{createRoot as k}from"../../../widgets/support/chartUtilsAm5.js";let j=class extends u{get chartVisible(){const t=this._chartData;if(null==t)return!1;let e=0;for(const{samples:i}of t.lines)e+=i?.length??0;return t.refined||e<=w().largeChartSamples}get spinnerVisible(){return null!=this._chartData&&(this.analysisView?.progress??0)<1}get _updateParameters(){const{messages:t,_unitsMessages:e}=this;if(t&&e)return{data:this._chartData,messages:t,unitsMessages:e}}get _chartData(){const{analysisView:t,uniformScaling:e}=this;if(!this._hasGeometry||!t)return;const{analysis:i,effectiveDisplayUnits:s,progress:o,statistics:n}=t;return{lines:this._lineData,statistics:n,effectiveUnits:s,refined:1===o,uniformScaling:e,dynamicElevationRange:i.profiles.some(t=>"scene"===t.type)}}get _hasGeometry(){return null!=this.analysisView?.analysis.geometry}get _lineData(){const{analysisView:t}=this;if(!t)return[];const{analysis:e,results:i}=t,{profiles:s}=e;if(i.length!==s.length)return[];const o=[];for(let n=0;n<s.length;n++){const t=s.at(n),e=i.at(n);if(!e.available||!e.rawResult?.hasZ||!t.chartOptions.lineVisible)continue;const r="input"!==t.type;o.push({id:t.id,type:t.type,title:t.title,color:t.color,samples:e.samples,fillEnabled:r,strokeOffsetY:r?-1:0,strokeWidth:1.5})}return o}constructor(t){super(t),this.view=null,this.analysisView=null,this.messages=null,this.uniformScaling=!1,this._theme=L,this._data=null,this._seriesInfos=new Map,this._pointerIsOver=!1,this._rtl=!1,this._chartInfo=null,this._unitsMessages=null,this._throttledUpdate=v(t=>{this._update(t)},w().updateThrottleMillis),this._onCursorMove=()=>{const t=this._chartInfo;if(!t||!this._pointerIsOver)return;const{chart:e,xAxis:i,yAxis:s}=t;this._updateTooltips();const o=e.get("cursor");let n=o?.getPrivate("positionX")??0,r=o?.getPrivate("positionY")??0;const a=this._data;if(null!=a?.statistics){const{maxDistance:t,minElevation:e,maxElevation:o}=a.statistics;let l,p;if(null!=t){1===Y(i)?(l=0,p=t):(l=O(i),p=R(i)),n=V(n,l,p,0,t)}if(null!=e&&null!=o){1===Y(s)?(l=e,p=o):(l=O(s),p=R(s)),r=V(r,l,p,e,o)}}this.onCursorPositionChange?.(n,r)}}initialize(){this.addHandles(m(t=>this._initializeChart(t)))}destroy(){this._chartInfo=null,this._seriesInfos.clear(),this._data=null}zoomOut(){this._chartInfo?.xAxis.zoom(0,1),this._chartInfo?.yAxis.zoom(0,1)}async _initializeChart(t){const[e,s]=await Promise.all([k(this.container),c("esri/core/t9n/Units")]);x(t);const o=E(this.container),n=P(this.container),r=n?z:L;e.setThemes(n?[p.new(e),l.new(e)]:[p.new(e)]),this._rtl=o,this._theme=r,this._unitsMessages=s;const a=e.container.children.push(i.new(e,{panX:!0,panY:!0,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:o?r.paddingRight:r.paddingLeft,paddingRight:o?r.paddingLeft:r.paddingRight,maxTooltipDistance:-1}));a.zoomOutButton.set("forceHidden",!0);const d=a.xAxes.push(this._createXAxis(e)),h=a.yAxes.push(this._createYAxis(e));this._chartInfo={chart:a,xAxis:d,yAxis:h},this._initializeTest(a),this.addHandles([this._setupZoomHandling(),this._setupCursorHandling(),W(e),_(()=>this._updateParameters,t=>this._throttledUpdate(t),y),this._throttledUpdate])}_initializeTest(t){}_update(t){if(!t||this.destroyed)return;const e=this._data,i=t.data;if(i===e&&t.messages===this.messages&&t.unitsMessages===this._unitsMessages)return;const s=e!==i,o=e?.effectiveUnits!==i?.effectiveUnits,n=e?.uniformScaling!==i?.uniformScaling;this._data=i,(s||o)&&(this._updateAxes(),this._updateSeries()),n&&this.zoomOut(),this._updateTooltips()}_createXAxis(t){const i=this._theme,n=s.new(t,{renderer:o.new(t,{})});n.setAll({extraMax:0,extraMin:0,maxDeviation:0,numberFormatter:this._makeFormatter(t,"distance"),strictMinMax:!0,strictMinMaxSelection:!0}),n.axisHeader.set("forceHidden",!0);const r=n.get("renderer");r.setAll({inside:!1,minGridDistance:i.xAxisMinGridDistance}),r.labels.template.setAll({centerX:e.p0,centerY:e.p0,fill:e.color(i.axisLabelsColor),fontFamily:i.fontFamily,fontSize:i.axisLabelsFontSize,fontWeight:i.axisLabelsFontWeight,maxPosition:i.xAxisMaxLabelPosition,minPosition:i.xAxisMinLabelPosition,paddingLeft:0,paddingRight:0,paddingTop:i.xAxisLabelsSpacing});const a=n.set("tooltip",e.Tooltip.new(t,{paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0}));return a.get("background")?.setAll({fill:e.color(i.axisTooltipBackgroundColor),stroke:void 0}),a.label.setAll({fill:e.color(i.axisTooltipLabelColor),fontFamily:i.fontFamily,fontSize:i.axisTooltipFontSize,paddingBottom:i.axisTooltipPaddingBottom,paddingLeft:i.axisTooltipPaddingHorizontal,paddingRight:i.axisTooltipPaddingHorizontal,paddingTop:i.axisTooltipPaddingTop,direction:this._rtl?"rtl":"ltr"}),r.grid.template.setAll({strokeOpacity:1,stroke:e.color(i.axisGridStroke)}),n}_createYAxis(t){const i=this._theme,o=this._rtl,r=s.new(t,{renderer:n.new(t,{})});r.setAll({baseValue:w().noDataValue,extraMax:0,extraMin:0,maxDeviation:0,numberFormatter:this._makeFormatter(t,"elevation"),strictMinMax:!0,strictMinMaxSelection:!0,tooltip:void 0}),r.axisHeader.set("visible",!1);const a=r.get("renderer");return a.setAll({minGridDistance:i.yAxisMinGridDistance,opposite:o,inside:!0}),a.labels.template.setAll({centerX:e.p0,centerY:e.p100,fill:e.color(i.axisLabelsColor),fontFamily:i.fontFamily,fontSize:i.axisLabelsFontSize,fontWeight:i.axisLabelsFontWeight,maxPosition:i.yAxisMaxLabelPosition,minPosition:i.yAxisMinLabelPosition,paddingBottom:0,paddingLeft:o?0:i.yAxisLabelSpacing,paddingRight:o?i.yAxisLabelSpacing:0,paddingTop:0,textAlign:"start"}),a.grid.template.setAll({strokeOpacity:1,stroke:e.color(i.axisGridStroke)}),r}_setupZoomHandling(){const t=this._chartInfo;if(!t)return f();const{xAxis:e,yAxis:i}=t,s=()=>{this.onRangeChange?.(Y(e),Y(i))},o=t=>[t.on("start",s),t.on("end",s)];return G([...o(e),...o(i)])}_setupCursorHandling(){const t=this._chartInfo?.chart;if(!t)return f();const e=t.plotContainer.events,i=t=>{this._pointerIsOver=t,this._updateTooltips()},s=()=>{i(!1),this.onCursorPositionChange?.(null,null)};return G([e.on("pointerover",()=>i(!0)),e.on("pointerout",s),e.on("blur",s)])}_updateAxes(){const t=this._chartInfo;if(!t)return;const{chart:e,xAxis:i,yAxis:s}=t,o=this._data,{minX:n,maxX:r,minY:a,maxY:l}=C({data:o,pixelWidth:i.width(),pixelHeight:s.height()}),p=!!o?.uniformScaling,c=!!o?.refined;e.setAll({panX:!0,panY:p,pinchZoomX:c,pinchZoomY:c&&p,wheelX:"panX",wheelY:c?p?"zoomXY":"zoomX":"none"}),i.setAll({max:r,min:n,panX:!0,panY:!1,zoomX:!0,zoomY:p}),s.setAll({max:l,min:a,panX:!1,panY:p,zoomX:p,zoomY:p})}_updateSeries(){const t=this._seriesInfos,e=this._chartInfo;if(!e)return;const{chart:i,xAxis:s,yAxis:o}=e,n=this._data;if(!n||0===n.lines.length)return this._seriesInfos.clear(),void i.series.clear();const r=new Map,a=new Set(i.series.values),l=n.lines.length;for(let p=0;p<l;p++){const s=n.lines[p];let o=t.get(s.id);o?(o.fill&&a.delete(o.fill),a.delete(o.line)):(o=D(e,s),o.fill&&i.series.push(o.fill),i.series.push(o.line)),r.set(o.id,o);const c=l-p-1;o.fill?.set("layer",c),o.line.set("layer",l+c),this._updateLineSeries(o,s)}this._seriesInfos=r;for(const p of a)i.series.removeValue(p);s.set("layer",l+1),o.set("layer",l+2)}_updateLineSeries(t,i){const s=e.color(i.color.toCss()),o=i.samples??[],n=o.length>0,{line:r,fill:a}=t;r.set("visible",n),r.set("stroke",s),a?.set("visible",n),a?.set("fill",e.Color.lighten(s,this._theme.seriesFillLighten)),r.data.setAll(o),a?.data.setAll(o)}_updateTooltips(){const t=this._chartInfo;if(!t)return;const{chart:e,xAxis:i,yAxis:s}=t,o=e.get("cursor");if(!this._data?.refined)return o?.events.removeType("cursormoved"),o?.dispose(),void e.set("cursor",void 0);if(!o){const t=r.new(e.root,{behavior:"none",xAxis:i,yAxis:s,snapToSeriesBy:"y"});t.lineY.set("visible",!1),t.events.on("cursormoved",this._onCursorMove),e.set("cursor",t)}const n=this._getSeriesTooltipText();n?this._seriesInfos.forEach(e=>{const i=e.line.get("tooltip")??X(t,this._theme,this._rtl);i.label.set("text",n),e.line.set("tooltip",i)}):this._seriesInfos.forEach(t=>{t.line.get("tooltip")?.dispose(),t.line.set("tooltip",void 0)}),this._chartInfo?.xAxis.getTooltip()?.setAll({tooltipText:this._getAxisTooltipText()})}_getSeriesTooltipText(){const t=this._data?.lines.map(t=>({line:t,y:this._getPointNearestToCursor(t)?.elevation})).sort(H);return t&&0!==t.length&&null!=t[0].y?t.map(({y:t,line:e})=>this._getTooltipTextForLine(e,t)).join("\n"):null}_getPointNearestToCursor(t){const e=t.samples??[];if(0===e.length)return null;const i=this._chartInfo;if(!i)return null;const{chart:s,xAxis:o}=i,n=s.get("cursor"),r=n?.getPrivate("positionX")??0,a=o.toAxisPosition(r),l=o.positionToValue(a);return I(e,l,t=>t.distance)}_getTooltipTextForLine(t,e){const i=this._data,s=this.messages,o=this._unitsMessages;if(!i||!s||!o)return"";const n=`[${t.color.toHex()}]●[/]`,r=" ",a=w().formatPrecision,l=d(s.chartTooltip,{name:B(t,s),elevation:null!=e?A(o,e,i.effectiveUnits.elevation,a):F});return this._rtl?l+r+n:n+r+l}_getAxisTooltipText(){const t=this._data,e=this._unitsMessages;if(!t||!e)return"";const i=t.lines[0],s=i?this._getPointNearestToCursor(i):null,o=w().formatPrecision;return null!=s?A(e,s.distance,t.effectiveUnits.distance,o):"-"}_makeFormatter(t,i){const s=e.NumberFormatter.new(t,{}),o=1e6,n="distance"===i?new Intl.NumberFormat(void 0,{notation:"compact",compactDisplay:"short",maximumSignificantDigits:3}):null;return s.format=(t,e,s)=>{const r=this._data,a=this._unitsMessages;if(!r||!a||"string"==typeof t)return"";let l;return l=n&&Math.abs(t)>=o?n.format(t):h(t,{maximumFractionDigits:s}),`${l} ${T(a,r.effectiveUnits[i],"abbr")}`},s}};function D(t,e){const{id:i}=e,s=U(t,`line-${i}`);s.setAll({dy:e.strokeOffsetY,tooltip:void 0}),s.strokes.template.setAll({strokeWidth:e.strokeWidth});let o=null;return e.fillEnabled&&(o=U(t,`fill-${i}`),o.fills.template.setAll({fillOpacity:1,visible:!0})),{id:i,line:s,fill:o}}function U({chart:t,xAxis:e,yAxis:i},s){return a.new(t.root,{connect:!1,excludeFromTotal:!0,fill:void 0,id:s,stroke:void 0,valueXField:"distance",valueYField:"elevation",xAxis:e,yAxis:i})}function X({chart:t},i,s){const o=e.Tooltip.new(t.root,{autoTextColor:!1,getFillFromSprite:!1,getLabelFillFromSprite:!1,pointerOrientation:"vertical",visible:!1}),n=i.seriesTooltipPaddingHorizontal,r=i.seriesTooltipPaddingVertical;return o.label.setAll({fill:e.color(i.seriesTooltipLabelColor),fontFamily:i.fontFamily,fontSize:i.seriesTooltipFontSize,paddingBottom:r,paddingLeft:n,paddingRight:n,paddingTop:r,textAlign:s?"end":"start",direction:"ltr"}),o.get("background")?.setAll({stroke:void 0,fill:e.color(i.seriesTooltipBackgroundColor)}),o.adapters.add("dy",t=>{const e=i.seriesTooltipSpacing,s=o.get("pointTo")?.y??0;return(t??0)+(o.y()>s?e:-e)}),o}function Y(t){const e=Math.abs((t.get("end")??0)-(t.get("start")??0)),i=0!==e?1/e:1;return Math.abs(1-i)<S()?1:i}function V(t,e,i,s,o){return(e+t*(i-e)-s)/(o-s)}function H({y:t},{y:e}){return null==t?1:null==e?-1:e-t}function O(t){return t.positionToValue(t.get("start")??0)}function R(t){return t.positionToValue(t.get("end")??1)}function B(t,e){const i=t.title;if(null!=i)return i;switch(t.type){case"ground":return e.profiles.ground;case"input":return e.profiles.input;case"query":return e.profiles.query;case"scene":return e.profiles.scene;default:return""}}function E(t){const e=t?.closest("[dir]");return null!==e&&e instanceof HTMLElement&&"rtl"===e.dir||"rtl"===document.dir}function G(t){return g(t.map(W))}function W(t){return f(()=>t?.dispose())}t([b()],j.prototype,"view",void 0),t([b()],j.prototype,"analysisView",void 0),t([b()],j.prototype,"container",void 0),t([b()],j.prototype,"messages",void 0),t([b()],j.prototype,"onRangeChange",void 0),t([b()],j.prototype,"onCursorPositionChange",void 0),t([b()],j.prototype,"uniformScaling",void 0),t([b()],j.prototype,"chartVisible",null),t([b()],j.prototype,"spinnerVisible",null),t([b()],j.prototype,"test",void 0),t([b()],j.prototype,"_theme",void 0),t([b()],j.prototype,"_data",void 0),t([b()],j.prototype,"_seriesInfos",void 0),t([b()],j.prototype,"_pointerIsOver",void 0),t([b()],j.prototype,"_rtl",void 0),t([b()],j.prototype,"_chartInfo",void 0),t([b()],j.prototype,"_unitsMessages",void 0),t([b()],j.prototype,"_updateParameters",null),t([b()],j.prototype,"_chartData",null),t([b()],j.prototype,"_hasGeometry",null),t([b()],j.prototype,"_lineData",null),j=t([M("esri.views.analysis.ElevationProfile.ElevationProfileChart")],j);export{j as ElevationProfileChart};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{clone as i}from"../../core/lang.js";import{equalsMaybe as n,destroyMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as o}from"../../core/promiseUtils.js";import a from"../../core/ReactiveSet.js";import{watch as p,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as d,subclass as h}from"../../core/accessorSupport/decorators.js";import{diff as u}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as m,pointNear as y}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as _}from"../../support/elevationInfoUtils.js";import{defaultDrawingMode as v}from"./drawingModes.js";import{LegacyDrawManipulator as f}from"./LegacyDrawManipulator.js";import{createCoordinateHelper as x}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as P,sceneSnappingAtLocation as b}from"../interactive/dragEventPipeline.js";import{EditGeometry as T,Part as S}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as C}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as V}from"../interactive/sketch/constraints.js";import{getPointConstraint as w,getPolylineOrPolygonConstraint as O,pointToConstraintSpace as M,constraintSpaceToPoint as D}from"../interactive/sketch/constraintUtils.js";import E from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as I}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as H}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as G}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as j}from"../interactive/snapping/snappingUtils.js";const k="crosshair",Z="progress",A=Symbol(),L=Symbol();let z=class extends e{constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new a,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(w),this._getPolylineOrPolygonConstraint=s(O),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new E,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=_(!!t.hasZ))}initializePointer(){const t=this.view.inputManager?.latestPointerInfo;null!=t&&this._updatePointer(t.location,t.id,t.type)}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,r="viewingMode"in e.state?e.state.viewingMode:2,s="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=x(this.hasZ,this.hasM,i),this._editGeometryOperations=new C(new T(s,this.coordinateHelper),r),this._snappingOperation=new G({view:e}),this.addHandles([p(()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint}),({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&V(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&&n(t.constraint,e.constraint)}),p(()=>this.view.viewpoint,(t,e)=>{t&&e&&u(t,e)&&this._onKeyboardBasedChange()})]),this._activePart=new S(i,r),this._editGeometryOperations.data.parts.push(this._activePart);const a=this.segmentLabels;null!=a&&(a.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(p(()=>this.labelOptions.enabled,t=>{a.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._activePart.getFirstVertex()?.pos)??null;m(n,this.firstVertex)||(this.firstVertex=n);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activePart.getLastVertex()?.pos)??null;m(r,this.lastVertex)||(this.lastVertex=r);const s=this.coordinateHelper.vectorToDehydratedPoint(this._activePart.segments.at(-1)?.leftVertex?.pos)??null;switch(m(s,this.secondToLastVertex)||(this.secondToLastVertex=s),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 c=this._manipulator=new f({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(c),c.grabbable="point"!==t&&"multipoint"!==t,this.addHandles([c.events.on("immediate-click",t=>this._onImmediateClick(t)),c.events.on("immediate-double-click",t=>this._onImmediateDoubleClick(t)),p(()=>this.drawingMode,()=>{this.removeHandles(A),this.addHandles(this._createManipulatorDragPipeline(c),A)},l),p(()=>({effectiveCursor:this.effectiveCursor}),({effectiveCursor:t})=>{c.cursor=t},l)]),j(this,()=>{const t=this.view.inputManager.latestPointerInfo?.type??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.consumePromise(o(t))}})}destroy(){r(this.segmentLabels),r(this._snappingOperation),this._editGeometryOperations=r(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._activePart.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??v)}get effectiveCursor(){return this.loading?Z:this._hideDefaultCursor?null:this.cursor||k}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activePart.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&&y(t,i)||y(t,e)?null:t}get updating(){return this._updatingHandles.updating||!!this.segmentLabels?.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),this._activePart)}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,r="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!r,(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=i(this.cursorVertex),n=i(t),r=n&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(n)??n),s=this._snapToClosingVertex(r),o=this._applyConstraints(s);y(e,o)||(this._set("cursorVertex",o),this.segmentLabels?.set("stagedVertex",null!=o?this.coordinateHelper.pointToVector(o):null),null==o||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activePart.vertices.length,coordinates:this.coordinateHelper.pointToArray(o)}],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._activePart;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 P(t,(t,e,i,n)=>{const r="touch"===n&&this._snappingEnabled;if(this.isCompleted||!r)return;const{snappingStep:s,cancelSnapping:o}=H({predicate:()=>r,snappingManager:this.snappingManager,snappingContext:new I({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=>(r&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t)).next(o),e.next(this._screenToMapDragEventStep()).next(t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||r&&!this.numCommittedVertices)&&this.commitStagedVertex()),t)).next(b(this.view,this.elevationInfo)).next(...s).next(t=>(r&&(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 P(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 P(t,(t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next(t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),L),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(L),"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:r}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const s=this.elevationInfo?.mode;let o=this.defaultZ,a=t||"absolute-height"===s;if(null!=r&&(a=r),"on-the-ground"===s&&(a=!1),this._drawAtFixedElevation){o=(t?this.constraintZ:null)??e.getZ(this._activePart.vertices[0].pos),a=!1}return a?i:(n.defaultZ=o,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=c(t.x,t.y);this._updatePointer(e,t.pointerId,t.pointerType)&&t.stopPropagation()}_updatePointer(t,e,i){return this._stagedScreenPoint=t,this._stagedPointerType=i,this._stagedPointerId=e,this._isDragging?(this._snappingOperation.abort(),!1):(this._processCursorMovementRelativeToSurface(t,i),!0)}_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),r=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const s=this.snappingManager;if(null==s)return this._processCursor(n),void i.abort();const a=this._getSnappingContext(e);this._updatingHandles.consumePromise(o(i.snap({point:n,scenePoint:r},s,a)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,r=M(t,n),s=r?e.closestTo(r):void 0;if(!s)return t;const o=D(s,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=o&&a&&null!=this.constraintZ&&this.hasZ&&(o.z=this.constraintZ),o}_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&&U(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new I({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 U(t,e,i){const n=t.x-e.x,r=t.y-e.y;return n*n+r*r<=i}t([d()],z.prototype,"_hideDefaultCursor",void 0),t([d()],z.prototype,"_stagedPointerId",void 0),t([d()],z.prototype,"_isDragging",null),t([d()],z.prototype,"_snappingOperation",void 0),t([d()],z.prototype,"_snappingEnabled",null),t([d({constructOnly:!0})],z.prototype,"graphic",void 0),t([d()],z.prototype,"constraintsEnabled",void 0),t([d()],z.prototype,"constraints",void 0),t([d()],z.prototype,"_constraint",null),t([d()],z.prototype,"constraintZ",void 0),t([d()],z.prototype,"defaultZ",void 0),t([d()],z.prototype,"isDraped",void 0),t([d({value:v})],z.prototype,"drawingMode",null),t([d({constructOnly:!0})],z.prototype,"elevationDrawSurface",void 0),t([d({constructOnly:!0})],z.prototype,"elevationInfo",void 0),t([d({constructOnly:!0,type:E})],z.prototype,"labelOptions",void 0),t([d({constructOnly:!0})],z.prototype,"geometryType",void 0),t([d({constructOnly:!0})],z.prototype,"hasM",void 0),t([d({constructOnly:!0})],z.prototype,"hasZ",void 0),t([d()],z.prototype,"cursor",void 0),t([d()],z.prototype,"effectiveCursor",null),t([d()],z.prototype,"loading",void 0),t([d({constructOnly:!0})],z.prototype,"manipulators",void 0),t([d({constructOnly:!0})],z.prototype,"drawSurface",void 0),t([d({constructOnly:!0})],z.prototype,"segmentLabels",void 0),t([d({constructOnly:!0})],z.prototype,"snappingManager",void 0),t([d({constructOnly:!0})],z.prototype,"snappingVisualizer",void 0),t([d()],z.prototype,"snapToSceneEnabled",void 0),t([d({readOnly:!0})],z.prototype,"cursorVertex",null),t([d({readOnly:!0})],z.prototype,"visualizationCursorVertex",null),t([d()],z.prototype,"committableVertex",null),t([d()],z.prototype,"firstVertex",void 0),t([d()],z.prototype,"lastVertex",void 0),t([d()],z.prototype,"secondToLastVertex",void 0),t([d()],z.prototype,"updating",null),t([d({constructOnly:!0})],z.prototype,"view",void 0),z=t([h("esri.views.draw.DrawOperation")],z);export{z as DrawOperation,k as defaultCursor,Z as defaultLoadingCursor};
2
+ import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{clone as i}from"../../core/lang.js";import{equalsMaybe as n,destroyMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as o}from"../../core/promiseUtils.js";import a from"../../core/ReactiveSet.js";import{watch as p,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as d,subclass as h}from"../../core/accessorSupport/decorators.js";import{diff as u}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as m,pointNear as y}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as _}from"../../support/elevationInfoUtils.js";import{defaultDrawingMode as v}from"./drawingModes.js";import{LegacyDrawManipulator as f}from"./LegacyDrawManipulator.js";import{createCoordinateHelper as x}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as P,sceneSnappingAtLocation as b}from"../interactive/dragEventPipeline.js";import{EditGeometry as T,Part as S}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as C}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as V}from"../interactive/sketch/constraints.js";import{getPointConstraint as w,getPolylineOrPolygonConstraint as O,pointToConstraintSpace as M,constraintSpaceToPoint as D}from"../interactive/sketch/constraintUtils.js";import E from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as I}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as H}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as G}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as j}from"../interactive/snapping/snappingUtils.js";const k="crosshair",Z="progress",A=Symbol(),L=Symbol();let z=class extends e{constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new a,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(w),this._getPolylineOrPolygonConstraint=s(O),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new E,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=_(!!t.hasZ))}initializePointer(){const t=this.view.inputManager?.latestPointerInfo;null!=t&&"touch"!==t.type&&this._updatePointer(t.location,t.id,t.type)}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,r="viewingMode"in e.state?e.state.viewingMode:2,s="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=x(this.hasZ,this.hasM,i),this._editGeometryOperations=new C(new T(s,this.coordinateHelper),r),this._snappingOperation=new G({view:e}),this.addHandles([p(()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint}),({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&V(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&&n(t.constraint,e.constraint)}),p(()=>this.view.viewpoint,(t,e)=>{t&&e&&u(t,e)&&this._onKeyboardBasedChange()})]),this._activePart=new S(i,r),this._editGeometryOperations.data.parts.push(this._activePart);const a=this.segmentLabels;null!=a&&(a.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(p(()=>this.labelOptions.enabled,t=>{a.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._activePart.getFirstVertex()?.pos)??null;m(n,this.firstVertex)||(this.firstVertex=n);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activePart.getLastVertex()?.pos)??null;m(r,this.lastVertex)||(this.lastVertex=r);const s=this.coordinateHelper.vectorToDehydratedPoint(this._activePart.segments.at(-1)?.leftVertex?.pos)??null;switch(m(s,this.secondToLastVertex)||(this.secondToLastVertex=s),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 c=this._manipulator=new f({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(c),c.grabbable="point"!==t&&"multipoint"!==t,this.addHandles([c.events.on("immediate-click",t=>this._onImmediateClick(t)),c.events.on("immediate-double-click",t=>this._onImmediateDoubleClick(t)),p(()=>this.drawingMode,()=>{this.removeHandles(A),this.addHandles(this._createManipulatorDragPipeline(c),A)},l),p(()=>({effectiveCursor:this.effectiveCursor}),({effectiveCursor:t})=>{c.cursor=t},l)]),j(this,()=>{const t=this.view.inputManager.latestPointerInfo?.type??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.consumePromise(o(t))}})}destroy(){r(this.segmentLabels),r(this._snappingOperation),this._editGeometryOperations=r(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._activePart.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??v)}get effectiveCursor(){return this.loading?Z:this._hideDefaultCursor?null:this.cursor||k}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activePart.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&&y(t,i)||y(t,e)?null:t}get updating(){return this._updatingHandles.updating||!!this.segmentLabels?.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),this._activePart)}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,r="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!r,(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=i(this.cursorVertex),n=i(t),r=n&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(n)??n),s=this._snapToClosingVertex(r),o=this._applyConstraints(s);y(e,o)||(this._set("cursorVertex",o),this.segmentLabels?.set("stagedVertex",null!=o?this.coordinateHelper.pointToVector(o):null),null==o||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activePart.vertices.length,coordinates:this.coordinateHelper.pointToArray(o)}],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._activePart;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 P(t,(t,e,i,n)=>{const r="touch"===n&&this._snappingEnabled;if(this.isCompleted||!r)return;const{snappingStep:s,cancelSnapping:o}=H({predicate:()=>r,snappingManager:this.snappingManager,snappingContext:new I({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=>(r&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t)).next(o),e.next(this._screenToMapDragEventStep()).next(t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||r&&!this.numCommittedVertices)&&this.commitStagedVertex()),t)).next(b(this.view,this.elevationInfo)).next(...s).next(t=>(r&&(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 P(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 P(t,(t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next(t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),L),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(L),"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:r}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const s=this.elevationInfo?.mode;let o=this.defaultZ,a=t||"absolute-height"===s;if(null!=r&&(a=r),"on-the-ground"===s&&(a=!1),this._drawAtFixedElevation){o=(t?this.constraintZ:null)??e.getZ(this._activePart.vertices[0].pos),a=!1}return a?i:(n.defaultZ=o,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=c(t.x,t.y);this._updatePointer(e,t.pointerId,t.pointerType)&&t.stopPropagation()}_updatePointer(t,e,i){return this._stagedScreenPoint=t,this._stagedPointerType=i,this._stagedPointerId=e,this._isDragging?(this._snappingOperation.abort(),!1):(this._processCursorMovementRelativeToSurface(t,i),!0)}_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),r=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const s=this.snappingManager;if(null==s)return this._processCursor(n),void i.abort();const a=this._getSnappingContext(e);this._updatingHandles.consumePromise(o(i.snap({point:n,scenePoint:r},s,a)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,r=M(t,n),s=r?e.closestTo(r):void 0;if(!s)return t;const o=D(s,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=o&&a&&null!=this.constraintZ&&this.hasZ&&(o.z=this.constraintZ),o}_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&&U(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new I({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 U(t,e,i){const n=t.x-e.x,r=t.y-e.y;return n*n+r*r<=i}t([d()],z.prototype,"_hideDefaultCursor",void 0),t([d()],z.prototype,"_stagedPointerId",void 0),t([d()],z.prototype,"_isDragging",null),t([d()],z.prototype,"_snappingOperation",void 0),t([d()],z.prototype,"_snappingEnabled",null),t([d({constructOnly:!0})],z.prototype,"graphic",void 0),t([d()],z.prototype,"constraintsEnabled",void 0),t([d()],z.prototype,"constraints",void 0),t([d()],z.prototype,"_constraint",null),t([d()],z.prototype,"constraintZ",void 0),t([d()],z.prototype,"defaultZ",void 0),t([d()],z.prototype,"isDraped",void 0),t([d({value:v})],z.prototype,"drawingMode",null),t([d({constructOnly:!0})],z.prototype,"elevationDrawSurface",void 0),t([d({constructOnly:!0})],z.prototype,"elevationInfo",void 0),t([d({constructOnly:!0,type:E})],z.prototype,"labelOptions",void 0),t([d({constructOnly:!0})],z.prototype,"geometryType",void 0),t([d({constructOnly:!0})],z.prototype,"hasM",void 0),t([d({constructOnly:!0})],z.prototype,"hasZ",void 0),t([d()],z.prototype,"cursor",void 0),t([d()],z.prototype,"effectiveCursor",null),t([d()],z.prototype,"loading",void 0),t([d({constructOnly:!0})],z.prototype,"manipulators",void 0),t([d({constructOnly:!0})],z.prototype,"drawSurface",void 0),t([d({constructOnly:!0})],z.prototype,"segmentLabels",void 0),t([d({constructOnly:!0})],z.prototype,"snappingManager",void 0),t([d({constructOnly:!0})],z.prototype,"snappingVisualizer",void 0),t([d()],z.prototype,"snapToSceneEnabled",void 0),t([d({readOnly:!0})],z.prototype,"cursorVertex",null),t([d({readOnly:!0})],z.prototype,"visualizationCursorVertex",null),t([d()],z.prototype,"committableVertex",null),t([d()],z.prototype,"firstVertex",void 0),t([d()],z.prototype,"lastVertex",void 0),t([d()],z.prototype,"secondToLastVertex",void 0),t([d()],z.prototype,"updating",null),t([d({constructOnly:!0})],z.prototype,"view",void 0),z=t([h("esri.views.draw.DrawOperation")],z);export{z as DrawOperation,k as defaultCursor,Z as defaultLoadingCursor};