@arcgis/core 5.2.0-next.69 → 5.2.0-next.70

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 (639) hide show
  1. package/Basemap.js +1 -1
  2. package/Ground.js +1 -1
  3. package/WebDocument2D.js +1 -1
  4. package/WebScene.js +1 -1
  5. package/applications/Components/analysisUtils.js +1 -1
  6. package/applications/Components/arcadeEditorUtils.js +1 -1
  7. package/applications/Components/testUtils.js +1 -1
  8. package/applications/Urban/meshUtils.js +1 -1
  9. package/arcade/arcadeCompiler.js +1 -1
  10. package/arcade/functions/geomasync.js +1 -1
  11. package/arcade/functions/geomsync.js +1 -1
  12. package/arcade/functions/knowledgegraph.js +1 -1
  13. package/arcade/functions/track.js +1 -1
  14. package/arcade/geometry/operators.js +1 -1
  15. package/arcade/geometry/operatorsWorker.js +1 -1
  16. package/arcade/geometry/rotate.js +2 -0
  17. package/arcade/geometry/unitConversion.js +1 -1
  18. package/arcgisGlobal.d.ts +1 -0
  19. package/assets/components/assets/icon/loadConfiguration16.json +1 -0
  20. package/assets/components/assets/icon/loadConfiguration24.json +1 -0
  21. package/assets/components/assets/icon/loadConfiguration32.json +1 -0
  22. package/assets/esri/core/workers/RemoteClient.js +1 -1
  23. package/assets/esri/core/workers/chunks/{bece22668622a9a6bfe2.js → 011281fe918c4f0aec5d.js} +1 -1
  24. package/assets/esri/core/workers/chunks/01c92e68fb17cf2d0e08.js +1 -0
  25. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +1 -0
  26. package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +29 -0
  27. package/assets/esri/core/workers/chunks/065e3353124fc5ac44ce.js +1 -0
  28. package/assets/esri/core/workers/chunks/06c9aac75a01d3af6d54.js +1 -0
  29. package/assets/esri/core/workers/chunks/073f1d5f89875c6aefb1.js +1 -0
  30. package/assets/esri/core/workers/chunks/{d583bcea4d1a21da9147.js → 0846855843f85661e974.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{7a818499c1079906c2d7.js → 089f8c60e96d920a2cb2.js} +1 -1
  32. package/assets/esri/core/workers/chunks/09653bd2a31d293a10d9.js +2 -0
  33. package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +1 -0
  34. package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +1 -0
  35. package/assets/esri/core/workers/chunks/0b18de5147d76b68896f.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f5d809d30cbb56be852d.js → 0e333aced8b23aa49a0e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{dad39ddf0f8dfb0bef47.js → 0eaa8265a4cd64297545.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{4e1b087453fc5e20e961.js → 118ccfa2d685764752ee.js} +1 -1
  39. package/assets/esri/core/workers/chunks/158d2ac0333d53556e33.js +1 -0
  40. package/assets/esri/core/workers/chunks/160b204cbf5bda2a29e9.js +1 -0
  41. package/assets/esri/core/workers/chunks/16cade1c2ddf44e336ee.js +1 -0
  42. package/assets/esri/core/workers/chunks/19233d0016e5b154c5ce.js +1 -0
  43. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +1 -0
  44. package/assets/esri/core/workers/chunks/{0ae35b02dda9b9662560.js → 1ac8a7a129ba33e05a24.js} +1 -1
  45. package/assets/esri/core/workers/chunks/1b130af7d14eaae69d96.js +1 -0
  46. package/assets/esri/core/workers/chunks/1ca04ecf010e68863014.js +1 -0
  47. package/assets/esri/core/workers/chunks/1cc063aa2ddf44bbd515.js +1 -0
  48. package/assets/esri/core/workers/chunks/{c055c16379f5bb56e930.js → 1d92d53186debd52e753.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{37a8cfec11057947b45f.js → 1dba93abe84d30f05d8d.js} +1 -1
  50. package/assets/esri/core/workers/chunks/1e0140556c2e3fa72545.js +1 -0
  51. package/assets/esri/core/workers/chunks/1e5cb72830c7f32f2961.js +1 -0
  52. package/assets/esri/core/workers/chunks/{510acf2e8781be9b0dba.js → 1f888f026b004447772c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/2033e6d42453e4e67048.js +1 -0
  54. package/assets/esri/core/workers/chunks/24006cea112d657f053a.js +1 -0
  55. package/assets/esri/core/workers/chunks/{7b531feba4fd662575f9.js → 28924f31f5ba8ebdc60a.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{893ffc38e1a43de5b63d.js → 28b09fe50b855a1d8a3f.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{b9c7aa04861f545a559c.js → 2bcb7e43578124538c3c.js} +1 -1
  58. package/assets/esri/core/workers/chunks/2bdb9b5365869081c936.js +1 -0
  59. package/assets/esri/core/workers/chunks/{df89bf05c18f0c8e418b.js → 2cfe6f41865ffb3a4645.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{63858dfcff1177e597e7.js → 2d1ae18a28491b00091d.js} +1 -1
  61. package/assets/esri/core/workers/chunks/2d3a18d56e2e5669c562.js +1 -0
  62. package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +1 -0
  63. package/assets/esri/core/workers/chunks/2f58e1f64df2da8259a2.js +1 -0
  64. package/assets/esri/core/workers/chunks/31669511cfddf116d991.js +1 -0
  65. package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +1 -0
  66. package/assets/esri/core/workers/chunks/33e293836f5d28dc5d62.js +1 -0
  67. package/assets/esri/core/workers/chunks/{59a795eba31061dc357a.js → 359584a8fb5687a7d098.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{9c5dff4f13102871786e.js → 36171c72a3c04b0d13ef.js} +1 -1
  69. package/assets/esri/core/workers/chunks/38660a8cc3623c854d88.js +1 -0
  70. package/assets/esri/core/workers/chunks/3978f00a03e97645b276.js +1 -0
  71. package/assets/esri/core/workers/chunks/3b14ed3184743df336a6.js +1 -0
  72. package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js → 3b3a8a6167f2e1eeb828.js} +2 -2
  73. package/assets/esri/core/workers/chunks/3d6b2d5ae647e140abaf.js +1 -0
  74. package/assets/esri/core/workers/chunks/3dc71e03a630dd50b28e.js +1 -0
  75. package/assets/esri/core/workers/chunks/3de6e54b6ed0feae1940.js +1 -0
  76. package/assets/esri/core/workers/chunks/3dff36f6de181d9dcdc5.js +1 -0
  77. package/assets/esri/core/workers/chunks/3fd022df127af32782ce.js +1 -0
  78. package/assets/esri/core/workers/chunks/40693ee558a1eb1e93f4.js +1 -0
  79. package/assets/esri/core/workers/chunks/4344ab1250a1c550bf8b.js +1 -0
  80. package/assets/esri/core/workers/chunks/4491dc227c28e2ab4f8e.js +1 -0
  81. package/assets/esri/core/workers/chunks/{909e88c27d80777b047c.js → 463747a822499dd933ef.js} +1 -1
  82. package/assets/esri/core/workers/chunks/4695cd6120f60b234d5c.js +1 -0
  83. package/assets/esri/core/workers/chunks/4823e77515f451628fad.js +1 -0
  84. package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +1 -0
  85. package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +1 -0
  86. package/assets/esri/core/workers/chunks/{b5b698008b8f3f4d5d61.js → 4ce57dd39075e8fb357c.js} +1 -1
  87. package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js +2 -0
  88. package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js.LICENSE.txt +4 -0
  89. package/assets/esri/core/workers/chunks/4e129b9f5772a06e580c.js +1 -0
  90. package/assets/esri/core/workers/chunks/50e0dd74795978468625.js +1 -0
  91. package/assets/esri/core/workers/chunks/{0a98a13418f53082ca7a.js → 5459ba8fdeb2370bb52b.js} +1 -1
  92. package/assets/esri/core/workers/chunks/582a1d468089b9986416.js +1 -0
  93. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +1 -0
  94. package/assets/esri/core/workers/chunks/{bfb626805405646a0419.js → 5eb29f0068f1c839d05e.js} +1 -1
  95. package/assets/esri/core/workers/chunks/5f201c77a09ae0df29d6.js +1 -0
  96. package/assets/esri/core/workers/chunks/{6d5038d4351fe29e2718.js → 5fb76575575fe8cfb1f0.js} +1 -1
  97. package/assets/esri/core/workers/chunks/6072c63a5da4366e9942.js +1 -0
  98. package/assets/esri/core/workers/chunks/6080e46fc79127500283.js +1 -0
  99. package/assets/esri/core/workers/chunks/623d5518bca227f643bd.js +1 -0
  100. package/assets/esri/core/workers/chunks/62811bca7ad2100c023c.js +1 -0
  101. package/assets/esri/core/workers/chunks/6357c7cac401aee9fe77.js +1 -0
  102. package/assets/esri/core/workers/chunks/{91c543443cd6768ad6ff.js → 6525c925bb91facb3575.js} +1 -1
  103. package/assets/esri/core/workers/chunks/67d3ff7fcefaa7d5d27f.js +1 -0
  104. package/assets/esri/core/workers/chunks/{b5571e93bc136dac8ee1.js → 67ebde34377f98d17cda.js} +1 -1
  105. package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +1 -0
  106. package/assets/esri/core/workers/chunks/{6b0acd1a7dd74a7367e0.js → 694371f51c52a7a94da4.js} +1 -1
  107. package/assets/esri/core/workers/chunks/6a9002fcba11e2cf3f2e.js +1 -0
  108. package/assets/esri/core/workers/chunks/{f4e813ead56d963b16b8.js → 6b208bac120bcfecd9e4.js} +1 -1
  109. package/assets/esri/core/workers/chunks/6cd6d0cfd313f0475d98.js +1 -0
  110. package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +1 -0
  111. package/assets/esri/core/workers/chunks/7260e63252fa5452dc22.js +1 -0
  112. package/assets/esri/core/workers/chunks/72dcd4bd1a28bf8605c5.js +1 -0
  113. package/assets/esri/core/workers/chunks/73f77f5a6907cb8d9a35.js +1 -0
  114. package/assets/esri/core/workers/chunks/77df0bb35d2688729479.js +1 -0
  115. package/assets/esri/core/workers/chunks/{09c43bcb09aad02e83a9.js → 7a143ca61c0a70306185.js} +1 -1
  116. package/assets/esri/core/workers/chunks/7ca9c908432b1afa0367.js +1 -0
  117. package/assets/esri/core/workers/chunks/{ec2e0b2e31fd53b81d0a.js → 7ddf9b2718dd047f15e6.js} +1 -1
  118. package/assets/esri/core/workers/chunks/7f208ef75ef2ce0d7cf9.js +1 -0
  119. package/assets/esri/core/workers/chunks/7f4a592bcf4ecb55949a.js +1 -0
  120. package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +1 -0
  121. package/assets/esri/core/workers/chunks/864691186c449ca2c3db.js +1 -0
  122. package/assets/esri/core/workers/chunks/869d292a60747c93dc84.js +1 -0
  123. package/assets/esri/core/workers/chunks/{7e2794705b4e679fcb3f.js → 86a4057572755b403548.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{99772ce7e628364434fa.js → 8c1bddc88cc5f4251021.js} +1 -1
  125. package/assets/esri/core/workers/chunks/8c76f31a363dd0c3354d.js +1 -0
  126. package/assets/esri/core/workers/chunks/8eecc6df6511c8830f5d.js +1 -0
  127. package/assets/esri/core/workers/chunks/{0da4816c11b45b4a6289.js → 8fea514aada1195c8f30.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{7ebbb90d80600d9ba889.js → 913fb883455aeac8582b.js} +1 -1
  129. package/assets/esri/core/workers/chunks/927582ec15bff2acbb49.js +1 -0
  130. package/assets/esri/core/workers/chunks/{89132395eca329b9ab92.js → 9482a6d7baa24bbf5693.js} +1 -1
  131. package/assets/esri/core/workers/chunks/9684ab5e8254fdfcb7bb.js +1 -0
  132. package/assets/esri/core/workers/chunks/96d861265566854760cd.js +1 -0
  133. package/assets/esri/core/workers/chunks/98e6c1d035755a074d24.js +1 -0
  134. package/assets/esri/core/workers/chunks/9937920e7993814d0b2c.js +1 -0
  135. package/assets/esri/core/workers/chunks/{9d0bda096cdbd7e22f4b.js → 9bbff8237540409610b3.js} +1 -1
  136. package/assets/esri/core/workers/chunks/9dda9414104f585560a4.js +2 -0
  137. package/assets/esri/core/workers/chunks/{be291d920ebc68fde02b.js.LICENSE.txt → 9dda9414104f585560a4.js.LICENSE.txt} +0 -5
  138. package/assets/esri/core/workers/chunks/{1dc1bfb3425665f560e4.js → a486d99f9879f94151ba.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{475c60ed8785d07911c6.js → a5c115fc53edb52ce1de.js} +1 -1
  140. package/assets/esri/core/workers/chunks/a62f1b8ed065b2a38f1a.js +1 -0
  141. package/assets/esri/core/workers/chunks/{830d1a7dee43422507ab.js → a739e617fc461014ad1f.js} +1 -1
  142. package/assets/esri/core/workers/chunks/aa21031c8f12ca438eaa.js +1 -0
  143. package/assets/esri/core/workers/chunks/ad27689b231e282b7620.js +1 -0
  144. package/assets/esri/core/workers/chunks/af6e8c961fd768fa7be3.js +1 -0
  145. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +1 -0
  146. package/assets/esri/core/workers/chunks/b599b7dadce8b8bc88f6.js +1 -0
  147. package/assets/esri/core/workers/chunks/{873d8332e2149eb1b36a.js → b6c7b7b7f87dce5de811.js} +3 -3
  148. package/assets/esri/core/workers/chunks/b7d8817018b3d277c454.js +1 -0
  149. package/assets/esri/core/workers/chunks/{d90bc34d97bb21c29c40.js → b8cd81d8fcc78d272130.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{450bc48a7389607bce1e.js → b984b808d383974ca3d8.js} +1 -1
  151. package/assets/esri/core/workers/chunks/b9953277d0cd4a01bdc6.js +1 -0
  152. package/assets/esri/core/workers/chunks/c02b3b8b71205f6ce290.js +1 -0
  153. package/assets/esri/core/workers/chunks/c03da138651ac53cadcb.js +2 -0
  154. package/assets/esri/core/workers/chunks/c21212c356f65244e34e.js +1 -0
  155. package/assets/esri/core/workers/chunks/{1fece9757de7c10d1e9f.js → c29df43817278f674707.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{589b31cc5c663a288942.js → c6bf17b5ff6ec4b980a1.js} +1 -1
  157. package/assets/esri/core/workers/chunks/c715c585c42d8c2b86f5.js +1 -0
  158. package/assets/esri/core/workers/chunks/c7e9513f75b8ec205562.js +1 -0
  159. package/assets/esri/core/workers/chunks/c866b66ba72d96453899.js +1 -0
  160. package/assets/esri/core/workers/chunks/{5fde1234c5cccaee6763.js → c873383e7dae35dc1a61.js} +1 -1
  161. package/assets/esri/core/workers/chunks/c99dcc17fbd7acd2ad2e.js +1 -0
  162. package/assets/esri/core/workers/chunks/cae94d6805e0e8db3600.js +1 -0
  163. package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +1 -0
  164. package/assets/esri/core/workers/chunks/cd4e5c948d1bfa9b9a2d.js +1 -0
  165. package/assets/esri/core/workers/chunks/{6501ee40bf25f9f75d02.js → ce481eeb27ea9c1782ae.js} +1 -1
  166. package/assets/esri/core/workers/chunks/{d214ac457ac970479536.js → cec1c87eb3749276ced4.js} +1 -1
  167. package/assets/esri/core/workers/chunks/cfe31b7d1c6c05fbd268.js +1 -0
  168. package/assets/esri/core/workers/chunks/d08f81d545930a79fb2e.js +1 -0
  169. package/assets/esri/core/workers/chunks/d0c1bc90e474f706211c.js +1 -0
  170. package/assets/esri/core/workers/chunks/d2faac81142586cf7509.js +1 -0
  171. package/assets/esri/core/workers/chunks/d607cf154218d20e4114.js +1 -0
  172. package/assets/esri/core/workers/chunks/{b94cd7eac5ff4a78dd5b.js → d7b6985984071e78c764.js} +1 -1
  173. package/assets/esri/core/workers/chunks/d901f8503a73277cfa58.js +1 -0
  174. package/assets/esri/core/workers/chunks/d93d0cb69f3a9a722510.js +1 -0
  175. package/assets/esri/core/workers/chunks/{9073b0f0ec93d6e243b9.js → da1c9257793c2817f40f.js} +1 -1
  176. package/assets/esri/core/workers/chunks/{94719ac469dadc4c05dc.js → dc0c3109b7558b4fe016.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{dc7e4f7879debf557e46.js → de3d0973cff1e0858c52.js} +2 -2
  178. package/assets/esri/core/workers/chunks/{adce59e4111bae4225f7.js → e421dee5d8b030e79ffb.js} +1 -1
  179. package/assets/esri/core/workers/chunks/e602b91d8fdc36a92530.js +1 -0
  180. package/assets/esri/core/workers/chunks/{c13e55b9efb0b532f7ee.js → e61ab8ef30bbe788b9d7.js} +1 -1
  181. package/assets/esri/core/workers/chunks/e702abaeccef20b64a81.js +1 -0
  182. package/assets/esri/core/workers/chunks/{11a3aa43fb940c21f148.js → eb95464bd017fb839510.js} +1 -1
  183. package/assets/esri/core/workers/chunks/ebd619533be077059494.js +1 -0
  184. package/assets/esri/core/workers/chunks/ed564358cc7b3ee463a3.js +1 -0
  185. package/assets/esri/core/workers/chunks/ef2e0a014c982d9c7ca4.js +1 -0
  186. package/assets/esri/core/workers/chunks/f5cf338cecfc81f23128.js +1 -0
  187. package/assets/esri/core/workers/chunks/f6150b51a9430691a040.js +1 -0
  188. package/assets/esri/core/workers/chunks/{f4aed2b6e92bd0474069.js → f69329b85b362b349a8c.js} +1 -1
  189. package/assets/esri/core/workers/chunks/f721756a6c1593f96409.js +1 -0
  190. package/assets/esri/core/workers/chunks/fa19d5923276418096da.js +1 -0
  191. package/assets/esri/core/workers/chunks/fa5d27e47d47ff8fcb96.js +2 -0
  192. package/assets/esri/core/workers/chunks/fb12d3c63fcac8391e06.js +1 -0
  193. package/assets/esri/core/workers/chunks/fc9065d0cd6285fe0f0d.js +1 -0
  194. package/assets/esri/core/workers/chunks/{b526055794e64b0227ca.js → fd6107f95082e05f016a.js} +11 -11
  195. package/assets/esri/core/workers/chunks/fe10a95ebe1da2322af6.js +1 -0
  196. package/assets/esri/core/workers/chunks/fe71a0604f0928113419.js +1 -0
  197. package/assets/esri/core/workers/chunks/fec07a16b72cdcafc641.js +1 -0
  198. package/assets/esri/core/workers/chunks/fff23b2682590c4b21e3.js +1 -0
  199. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  200. package/chunks/Bufferer-CclWhXVb.js +1 -1
  201. package/chunks/ColorMaterial.glsl.js +18 -5
  202. package/chunks/Component.glsl.js +42 -34
  203. package/chunks/Envelope.js +1 -1
  204. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  205. package/chunks/Geometry.js +1 -1
  206. package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
  207. package/chunks/MultiPathImpl.js +1 -1
  208. package/chunks/OperatorAffineTransform.js +2 -0
  209. package/chunks/OperatorCentroid2D.js +2 -0
  210. package/chunks/OperatorCrosses.js +1 -1
  211. package/chunks/OperatorCut.js +1 -1
  212. package/chunks/OperatorGeneralize.js +1 -1
  213. package/chunks/OperatorGeodesicBuffer.js +1 -1
  214. package/chunks/OperatorGeodeticLength.js +1 -1
  215. package/chunks/OperatorGraphicBuffer.js +1 -1
  216. package/chunks/OperatorIntersects.js +1 -1
  217. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  218. package/chunks/OperatorOverlaps.js +1 -1
  219. package/chunks/OperatorProximityGeodesic.js +1 -1
  220. package/chunks/OperatorShapePreservingLength.js +1 -1
  221. package/chunks/OperatorShapePreservingProject.js +1 -1
  222. package/chunks/OperatorSimplifyOGC.js +1 -1
  223. package/chunks/OperatorTouches.js +1 -1
  224. package/chunks/OperatorWithin.js +1 -1
  225. package/chunks/Point2D.js +1 -1
  226. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  227. package/chunks/SpatialReference.js +1 -1
  228. package/chunks/arcade.js +1 -1
  229. package/chunks/bundle.js +1 -1
  230. package/chunks/bundle2.js +1 -1
  231. package/chunks/centroidOperator.js +1 -1
  232. package/chunks/containsOperator.js +1 -1
  233. package/chunks/disjointOperator.js +1 -1
  234. package/chunks/equalsOperator.js +1 -1
  235. package/chunks/geodeticDistanceOperator.js +2 -0
  236. package/chunks/multiPartToSinglePartOperator.js +2 -0
  237. package/chunks/offsetOperator.js +2 -0
  238. package/config.js +1 -1
  239. package/core/imageUtils.js +1 -1
  240. package/core/workers/WorkerFallback.js +1 -1
  241. package/core/workers/registry.js +1 -1
  242. package/core/workers/workerFactory.js +1 -1
  243. package/core/workers/workers.js +1 -1
  244. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  245. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  246. package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
  247. package/editing/sharedTemplates/templateLoader.js +1 -1
  248. package/geometry/libtess.js +1 -1
  249. package/geometry/operators/affineTransformOperator.js +1 -1
  250. package/geometry/operators/centroidOperator.js +1 -1
  251. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  252. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  253. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  254. package/geometry/operators/gx/operatorBuffer.js +1 -1
  255. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  256. package/geometry/operators/gx/operatorDifference.js +1 -1
  257. package/geometry/operators/gx/operatorIntersection.js +1 -1
  258. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  259. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  260. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  261. package/geometry/operators/gx/operatorOffset.js +1 -1
  262. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  263. package/geometry/operators/gx/operatorUnion.js +1 -1
  264. package/geometry/operators/json/containsOperator.js +1 -1
  265. package/geometry/operators/json/disjointOperator.js +1 -1
  266. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  267. package/geometry/operators/offsetOperator.js +1 -1
  268. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  269. package/geometry/support/meshUtils.js +1 -1
  270. package/interfaces.d.ts +3 -0
  271. package/kernel.js +1 -1
  272. package/layers/CSVLayer.js +1 -1
  273. package/layers/CatalogLayer.js +1 -1
  274. package/layers/ElevationLayer.js +1 -1
  275. package/layers/FeatureLayer.js +1 -1
  276. package/layers/GeoJSONLayer.js +1 -1
  277. package/layers/GroupLayer.js +1 -1
  278. package/layers/ImageryLayer.js +1 -1
  279. package/layers/ImageryTileLayer.js +1 -1
  280. package/layers/Layer.js +1 -1
  281. package/layers/MapImageLayer.js +1 -1
  282. package/layers/MediaLayer.js +1 -1
  283. package/layers/SceneLayer.js +1 -1
  284. package/layers/StreamLayer.js +1 -1
  285. package/layers/SubtypeGroupLayer.js +1 -1
  286. package/layers/WCSLayer.js +1 -1
  287. package/layers/WFSLayer.js +1 -1
  288. package/layers/graphics/data/QueryEngineResult.js +1 -1
  289. package/layers/graphics/data/queryUtils.js +1 -1
  290. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  291. package/layers/graphics/sources/MemorySource.js +1 -1
  292. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  293. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  294. package/layers/knowledgeGraph/cypherUtils.js +1 -1
  295. package/layers/mixins/ArcGISImageService.js +1 -1
  296. package/layers/mixins/PortalLayer.js +1 -1
  297. package/layers/mixins/TiledImagery.js +1 -1
  298. package/layers/raster/datasets/FunctionRaster.js +1 -1
  299. package/layers/raster/datasets/pixelReader.js +1 -1
  300. package/layers/raster/functions/clipUtils.js +1 -1
  301. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  302. package/layers/support/Sublayer.js +1 -1
  303. package/layers/support/arcgisLayers.js +1 -1
  304. package/layers/support/featureLayerUtils.js +1 -1
  305. package/layers/support/fromPortalItem.js +1 -1
  306. package/layers/support/layersLoader.js +1 -1
  307. package/layers/support/vectorTileLayerLoader.js +1 -1
  308. package/libs/basisu/BasisUEncoder.js +1 -1
  309. package/libs/basisu/BasisUTranscoder.js +1 -1
  310. package/libs/dracoMeshDecoder/dracoMeshDecoder.js +1 -1
  311. package/libs/dxtEncoder/DXTEncoder.js +1 -1
  312. package/libs/i3s/I3SModule.js +1 -1
  313. package/libs/parquet/loadParquetModule.js +1 -1
  314. package/libs/text/loadTextModule.js +1 -1
  315. package/networks/UtilityNetwork.js +1 -1
  316. package/networks/support/utils.js +1 -1
  317. package/package.json +3 -3
  318. package/popup/FeatureContentCollection.js +1 -1
  319. package/popup/Features.js +1 -1
  320. package/portal/Portal.js +1 -1
  321. package/portal/PortalItem.js +1 -1
  322. package/portal/PortalItemResource.js +1 -1
  323. package/portal/PortalUser.js +1 -1
  324. package/renderers/support/DictionaryLoader.js +1 -1
  325. package/request/process.js +1 -1
  326. package/request/queue.js +1 -1
  327. package/request.js +1 -1
  328. package/rest/geoprocessor/utils.js +1 -1
  329. package/rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js +1 -1
  330. package/rest/support/JobInfo.js +1 -1
  331. package/rest/utils.js +1 -1
  332. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  333. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  334. package/support/revision.js +1 -1
  335. package/support/tests/serviceMockDependencies.js +1 -1
  336. package/support/zipUtils.js +1 -1
  337. package/symbols/WebStyleSymbol.js +1 -1
  338. package/symbols/cim/CIMOperators.js +1 -1
  339. package/symbols/cim/cimAnalyzer.js +1 -1
  340. package/symbols/cim/defaultCIMValues.js +1 -1
  341. package/symbols/cim/effects/EffectCircularSector.js +2 -0
  342. package/symbols/cim/types.d.ts +42 -1
  343. package/symbols/cim/utils.js +1 -1
  344. package/symbols/support/symbolLayerUtils.js +1 -1
  345. package/symbols/support/symbolUtils.js +1 -1
  346. package/symbols/support/utils.js +1 -1
  347. package/undoredo/support/ServiceVersionInfo.js +1 -1
  348. package/versionManagement/VersionManagementService.js +1 -1
  349. package/views/2d/engine/Stage.js +1 -1
  350. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  351. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  352. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  353. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  354. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  355. package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
  356. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  357. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +2 -0
  358. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +2 -0
  359. package/views/2d/engine/vectorTiles/style/RemoteVectorTileSource.js +2 -0
  360. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  361. package/views/2d/engine/vectorTiles/style/VectorTilePbfWriter.js +2 -0
  362. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  363. package/views/2d/engine/vectorTiles/style/encodeVectorTileFeatures.js +2 -0
  364. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  365. package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
  366. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  367. package/views/2d/engine/webgl/GlyphWorker.js +2 -0
  368. package/views/2d/engine/webgl/Painter.js +1 -1
  369. package/views/2d/engine/webgl/TextureManager.js +1 -1
  370. package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
  371. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  372. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  373. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  374. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  375. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  376. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  377. package/views/2d/layers/RouteLayerView2D.js +1 -1
  378. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  379. package/views/2d/layers/features/Processor.js +1 -1
  380. package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
  381. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  382. package/views/2d/layers/features/support/FeatureSetReaderVectorTileFeatureCursor.js +2 -0
  383. package/views/2d/layers/support/MediaLayerInteraction.js +1 -1
  384. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  385. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  386. package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
  387. package/views/3d/analysis/Viewshed/ViewshedSnappingController.js +1 -1
  388. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  389. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  390. package/views/3d/interactive/manipulatorUtils.js +1 -1
  391. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  392. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  393. package/views/3d/layers/I3SMeshView3D.js +1 -1
  394. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  395. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  396. package/views/3d/layers/SceneLayerWorker.js +1 -1
  397. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  398. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  400. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  403. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  404. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  405. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  406. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  407. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  408. package/views/3d/layers/support/FlowTileTree3DDebugger.js +1 -1
  409. package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
  410. package/views/3d/state/ViewStateManager.js +1 -1
  411. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  412. package/views/3d/support/CombinedElevationProvider.js +1 -1
  413. package/views/3d/support/viewpointUtils.js +1 -1
  414. package/views/3d/terrain/TerrainSurface.js +1 -1
  415. package/views/3d/terrain/TransparencyMode.js +2 -0
  416. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  417. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  418. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  419. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialInitParameters.js +1 -1
  420. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  421. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  422. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
  423. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  424. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  425. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  426. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  427. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  428. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  429. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  430. package/views/PopupView.js +1 -1
  431. package/views/SceneView.js +1 -1
  432. package/views/VideoView.js +1 -1
  433. package/views/View.js +1 -1
  434. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  435. package/views/draw/PointDrawAction.js +1 -1
  436. package/views/draw/PolygonDrawAction.js +1 -1
  437. package/views/draw/PolylineDrawAction.js +1 -1
  438. package/views/draw/SegmentDrawAction.js +1 -1
  439. package/views/draw/support/createSnappingVisualizer.js +1 -1
  440. package/views/interactive/snapping/SnappingManager.js +1 -1
  441. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  442. package/views/layers/HighlightableLayerView.d.ts +2 -0
  443. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  444. package/views/selection/SelectionOperation.js +1 -1
  445. package/views/support/GeometryWorker.js +1 -1
  446. package/views/support/GroundElevationSampler.js +1 -1
  447. package/webdoc/support/resourceUtils.js +1 -1
  448. package/webdoc/support/webdocLoadUtils.js +1 -1
  449. package/webdoc/support/webdocSaveUtils.js +1 -1
  450. package/webscene/Slide.js +1 -1
  451. package/webscene/spec-certification/api.js +1 -1
  452. package/webscene/spec-certification/spec.js +1 -1
  453. package/webscene/support/analysisUtils.js +1 -1
  454. package/widgets/BasemapLayerList.js +1 -1
  455. package/widgets/BatchAttributeForm/ValueChangeTransaction.js +1 -1
  456. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  457. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  458. package/widgets/BatchAttributeForm/templates/support/textElementTemplateUtils.js +1 -1
  459. package/widgets/BatchAttributeForm.js +1 -1
  460. package/widgets/CatalogLayerList.js +1 -1
  461. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  462. package/widgets/Editor/UpdateWorkflow.js +1 -1
  463. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  464. package/widgets/Editor/legacy/UpdateWorkflow.js +1 -1
  465. package/widgets/Editor/modelUploadUtils.js +1 -1
  466. package/widgets/Editor/support/mergeFeaturesUtils.js +1 -1
  467. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  468. package/widgets/Editor/workflowUtils.js +1 -1
  469. package/widgets/Editor.js +1 -1
  470. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  471. package/widgets/ElevationProfile.js +1 -1
  472. package/widgets/Feature/FeatureMedia.js +1 -1
  473. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  474. package/widgets/Feature/FeatureRelationship.js +1 -1
  475. package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
  476. package/widgets/Feature.js +1 -1
  477. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  478. package/widgets/FeatureForm/support/textManipulationUtils.js +1 -1
  479. package/widgets/FeatureForm.js +1 -1
  480. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  481. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  482. package/widgets/FeatureTable/Grid/types.d.ts +78 -4
  483. package/widgets/FeatureTable/support/FeatureStore.d.ts +675 -0
  484. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  485. package/widgets/FeatureTable/support/types.d.ts +28 -0
  486. package/widgets/Features/FeaturesViewModel.js +1 -1
  487. package/widgets/Features.js +1 -1
  488. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  489. package/widgets/LayerList/ListItemPanel.js +1 -1
  490. package/widgets/LayerList.js +1 -1
  491. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  492. package/widgets/Legend/support/colorRampUtils.js +1 -1
  493. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  494. package/widgets/Legend/support/utils.js +1 -1
  495. package/widgets/Measurement.js +1 -1
  496. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  497. package/widgets/OrientedImageryViewer/services/DepthImageService.js +1 -1
  498. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  499. package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
  500. package/widgets/OrientedImageryViewer.js +1 -1
  501. package/widgets/PanoramicVideoViewer.js +1 -1
  502. package/widgets/PanoramicViewer/support/PanoramicMedia.js +1 -1
  503. package/widgets/PanoramicViewer/support/importUtils.js +1 -1
  504. package/widgets/PanoramicViewer.js +1 -1
  505. package/widgets/Print.js +1 -1
  506. package/widgets/Search/SearchViewModel.js +1 -1
  507. package/widgets/Search/support/layerSearchUtils.js +1 -1
  508. package/widgets/Search/support/locatorUtils.js +1 -1
  509. package/widgets/Sketch/SketchViewModel.js +1 -1
  510. package/widgets/Sketch/support/PluginManager.js +1 -1
  511. package/widgets/Sketch.js +1 -1
  512. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  513. package/widgets/support/SnappingControls.js +1 -1
  514. package/widgets/support/symbolPreviewUtils.js +1 -1
  515. package/arcade/geometry/offset.js +0 -2
  516. package/assets/esri/core/workers/chunks/067b00498ae85f635f60.js +0 -1
  517. package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +0 -1
  518. package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +0 -1
  519. package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +0 -1
  520. package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +0 -1
  521. package/assets/esri/core/workers/chunks/126f1f6b355723db6c4f.js +0 -1
  522. package/assets/esri/core/workers/chunks/149284464115981694ff.js +0 -1
  523. package/assets/esri/core/workers/chunks/181f330314c1989f642f.js +0 -1
  524. package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +0 -1
  525. package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +0 -1
  526. package/assets/esri/core/workers/chunks/1d38a710cf799cb0e5b3.js +0 -1
  527. package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +0 -1
  528. package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +0 -1
  529. package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +0 -1
  530. package/assets/esri/core/workers/chunks/28565756f884d0851003.js +0 -1
  531. package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +0 -1
  532. package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +0 -1
  533. package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +0 -1
  534. package/assets/esri/core/workers/chunks/302d91b7c480c6c9304b.js +0 -1
  535. package/assets/esri/core/workers/chunks/30c53a7e1ad5aa52f2f3.js +0 -1
  536. package/assets/esri/core/workers/chunks/3b493e8043ec1a2a5d96.js +0 -1
  537. package/assets/esri/core/workers/chunks/3ddd717ea12d9823eee2.js +0 -1
  538. package/assets/esri/core/workers/chunks/3f84ade6285560b692d1.js +0 -1
  539. package/assets/esri/core/workers/chunks/4129b27fcd4103cdc499.js +0 -1
  540. package/assets/esri/core/workers/chunks/41f7f3615d3ecb87c59a.js +0 -1
  541. package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +0 -1
  542. package/assets/esri/core/workers/chunks/46d8a1d6f7341ad20749.js +0 -1
  543. package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +0 -1
  544. package/assets/esri/core/workers/chunks/4addea2e35b0c845743e.js +0 -1
  545. package/assets/esri/core/workers/chunks/4ae626868e14bedd7fc5.js +0 -1
  546. package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +0 -1
  547. package/assets/esri/core/workers/chunks/538bdf02c4dfb5ec72fe.js +0 -1
  548. package/assets/esri/core/workers/chunks/59d1708ae13c6e7e6e55.js +0 -1
  549. package/assets/esri/core/workers/chunks/5adf16c034a590b5e9f5.js +0 -1
  550. package/assets/esri/core/workers/chunks/5fb0e8f89b885e5e3742.js +0 -1
  551. package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +0 -1
  552. package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +0 -1
  553. package/assets/esri/core/workers/chunks/632ab11cdd4b0d9a5cc5.js +0 -1
  554. package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +0 -1
  555. package/assets/esri/core/workers/chunks/6cc1120554bcb1b4899b.js +0 -1
  556. package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +0 -1
  557. package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +0 -1
  558. package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +0 -1
  559. package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +0 -1
  560. package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +0 -1
  561. package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +0 -1
  562. package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +0 -1
  563. package/assets/esri/core/workers/chunks/7ac47a9ad244100bc3b1.js +0 -1
  564. package/assets/esri/core/workers/chunks/7b0ed52363704cfce129.js +0 -1
  565. package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +0 -1
  566. package/assets/esri/core/workers/chunks/7dd672c25beb8813cc75.js +0 -2
  567. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  568. package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +0 -1
  569. package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +0 -1
  570. package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +0 -1
  571. package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +0 -1
  572. package/assets/esri/core/workers/chunks/894343e415639df88243.js +0 -1
  573. package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +0 -1
  574. package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +0 -1
  575. package/assets/esri/core/workers/chunks/8e1d4867406753c5483c.js +0 -1
  576. package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +0 -29
  577. package/assets/esri/core/workers/chunks/8f785b722b1a131bf370.js +0 -1
  578. package/assets/esri/core/workers/chunks/8f8db62f126e4a8c1bf7.js +0 -1
  579. package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +0 -1
  580. package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +0 -1
  581. package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +0 -1
  582. package/assets/esri/core/workers/chunks/9954149def644c371894.js +0 -1
  583. package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +0 -1
  584. package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +0 -1
  585. package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +0 -1
  586. package/assets/esri/core/workers/chunks/a504fa17d83facf1c01f.js +0 -1
  587. package/assets/esri/core/workers/chunks/a5fdb02b1714e93fa69e.js +0 -1
  588. package/assets/esri/core/workers/chunks/a9f616f22042b0dce8b9.js +0 -1
  589. package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +0 -1
  590. package/assets/esri/core/workers/chunks/b059dabb1c732829487c.js +0 -1
  591. package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +0 -1
  592. package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +0 -1
  593. package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +0 -1
  594. package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +0 -1
  595. package/assets/esri/core/workers/chunks/ba030767cf935f967454.js +0 -1
  596. package/assets/esri/core/workers/chunks/be291d920ebc68fde02b.js +0 -2
  597. package/assets/esri/core/workers/chunks/c10a0eebd935472d8fae.js +0 -1
  598. package/assets/esri/core/workers/chunks/c16e83e448a32d13048f.js +0 -1
  599. package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +0 -1
  600. package/assets/esri/core/workers/chunks/c4c83b5129c279c3615b.js +0 -1
  601. package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +0 -1
  602. package/assets/esri/core/workers/chunks/cca095f0c623e037002d.js +0 -1
  603. package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +0 -1
  604. package/assets/esri/core/workers/chunks/cf03d391d50a4c7aca4f.js +0 -1
  605. package/assets/esri/core/workers/chunks/cf8ce63711488f2e677c.js +0 -1
  606. package/assets/esri/core/workers/chunks/d198ecb1fe3690d6092f.js +0 -2
  607. package/assets/esri/core/workers/chunks/d2a51c797b2966cb95f3.js +0 -2
  608. package/assets/esri/core/workers/chunks/d303621c902330be5035.js +0 -1
  609. package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +0 -1
  610. package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +0 -1
  611. package/assets/esri/core/workers/chunks/d5e15021928e95c11463.js +0 -1
  612. package/assets/esri/core/workers/chunks/d6500f6b2ff115d9eb09.js +0 -1
  613. package/assets/esri/core/workers/chunks/d9c78c2db04a06ee83ed.js +0 -1
  614. package/assets/esri/core/workers/chunks/dccb46c7dce68528c72b.js +0 -1
  615. package/assets/esri/core/workers/chunks/df174346a7e9b629a392.js +0 -1
  616. package/assets/esri/core/workers/chunks/e08c64e4ae5a68eae2be.js +0 -1
  617. package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +0 -1
  618. package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +0 -1
  619. package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +0 -1
  620. package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +0 -1
  621. package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +0 -1
  622. package/assets/esri/core/workers/chunks/f029c12f1afee0e9b2a1.js +0 -1
  623. package/assets/esri/core/workers/chunks/f4eda59ec1e816ecc827.js +0 -1
  624. package/assets/esri/core/workers/chunks/f54eba484f40d5eeb590.js +0 -1
  625. package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +0 -1
  626. package/assets/esri/core/workers/chunks/f6a13f07a5f7b781a9a8.js +0 -1
  627. package/assets/esri/core/workers/chunks/f6f1122bed931f1d960b.js +0 -1
  628. package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +0 -1
  629. package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +0 -1
  630. package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +0 -1
  631. package/chunks/ShadedColorMaterial.glsl.js +0 -13
  632. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +0 -2
  633. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +0 -2
  634. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +0 -2
  635. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +0 -2
  636. /package/assets/esri/core/workers/chunks/{d198ecb1fe3690d6092f.js.LICENSE.txt → 09653bd2a31d293a10d9.js.LICENSE.txt} +0 -0
  637. /package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js.LICENSE.txt → 3b3a8a6167f2e1eeb828.js.LICENSE.txt} +0 -0
  638. /package/assets/esri/core/workers/chunks/{d2a51c797b2966cb95f3.js.LICENSE.txt → c03da138651ac53cadcb.js.LICENSE.txt} +0 -0
  639. /package/assets/esri/core/workers/chunks/{7dd672c25beb8813cc75.js.LICENSE.txt → fa5d27e47d47ff8fcb96.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{max as t,createLength as e,createArea as o}from"../../core/quantity.js";import{deriveLengthUnitFromAreaUnit as r}from"../../core/units.js";import{set as n,scale as i,normalize as s,cross as a,subtract as c,dot as m,add as f}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isEarth as p,isSphericalECEF as l}from"../../geometry/ellipsoidUtils.js";import g from"../../geometry/Multipoint.js";import y from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import h from"../../geometry/Polyline.js";import{projectWithoutEngine as S}from"../../geometry/projectionUtils.js";import J from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as N,getSphericalPCPF as d,SphericalECEFSpatialReference as j}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{e as R}from"../../chunks/areaOperator.js";import{e as w}from"../../chunks/centroidOperator.js";import{e as k}from"../../chunks/distanceOperator.js";import{l as v,e as P}from"../../chunks/geodeticAreaOperator.js";import{load as U,execute as x}from"../../geometry/operators/geodeticDistanceOperator.js";import{l as L,e as M}from"../../chunks/geodeticLengthOperator.js";import{e as b}from"../../chunks/lengthOperator.js";import{e as C}from"../../chunks/simplifyOperator.js";import{projectDirection as E}from"../../geometry/projection/projectDirection.js";import{fromJSON as q}from"../../geometry/support/jsonUtils.js";import{isWGS84 as z,isWebMercator as Z,isCGCS2000 as D,equals as W}from"../../geometry/support/spatialReferenceUtils.js";import{makeOrthonormal as $}from"../3d/support/mathUtils.js";import{autoMeasurementMode as A}from"./measurementWorkerUtils.js";async function I({geometryJSON:t,options:e}){await Promise.allSettled([v(),e?.returnLength?L():void 0]);const n=F(t,e),i=e?.unit??"square-meters",s=C(n)??n,a=P(s,{unit:i,...e}),c=o(a,i),m=e?.lengthUnit??r(i);return{area:c,centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?await H(s,{unit:m}):void 0}}function B(){v(),L(),U()}function F(t,e){const o="rings"in t?O.fromJSON(t):h.fromJSON(t);if(e?.stagedPoint){const t=y.fromJSON(e.stagedPoint),r=("rings"in o?o.rings:o.paths).at(-1);if(r){const{x:e,y:n,z:i,m:s}=t,a=o.hasZ&&o.hasM?[e,n,i??0,s??0]:o.hasZ?[e,n,i??0]:o.hasM?[e,n,s??0]:[e,n];r.push(a)}}return o}function G(t){return w(t)}async function H(t,o){await L();const r=o?.unit??"meters";return e(M(t,{...o,unit:r}),r)}function K({geometryJSON:t,options:e}){return H(F(t,e),e)}async function Q({geometry1JSON:t,geometry2JSON:o,options:r}){await U();const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(x(n,i,{...r,unit:s}),s)}async function T({geometry1JSON:t,geometry2JSON:o,options:r}){await U();const n=g.fromJSON(t),i=g.fromJSON(o);if(n.points.length!==i.points.length)throw new Error("Input multipoints must have the same number of points.");const s=n.points.length,a=r?.unit??"meters",c=[],m={...r,unit:a};for(let f=0;f<s;f++){const t=n.getPoint(f),o=i.getPoint(f);c.push(null!=t&&null!=o?e(x(t,o,m),a):null)}return c}function V({geometryJSON:t,options:e}){return X(F(t,e),e)}function X(t,e){const n=e?.unit??"square-meters",i=e?.lengthUnit??r(n),s=C(t)??t,a=R(s,{unit:n,...e});return{area:o(a,n),centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?Y(s,{unit:i}):void 0}}function Y(t,o){const r=o?.unit??"meters";return e(b(t,{...o,unit:r}),r)}function _({geometryJSON:t,options:e}){return Y(F(t,e),e)}function tt({geometry1JSON:t,geometry2JSON:o,options:r}){const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(k(n,i,{...r,unit:s}),s)}async function et(t){return it(t.geometryJSON.spatialReference,I,V)(t)}async function ot(t){return it(t.geometryJSON.spatialReference,K,_)(t)}async function rt(t){return it(t.geometry1JSON.spatialReference,Q,tt)(t)}async function nt(e){const o=it(e.topLeftJSON.spatialReference,Q,tt),{topLeftJSON:r,topRightJSON:n,bottomRightJSON:i,bottomLeftJSON:s,options:a}=e,[c,m,f,u]=await Promise.all([o({geometry1JSON:s,geometry2JSON:i,options:a}),o({geometry1JSON:r,geometry2JSON:n,options:a}),o({geometry1JSON:i,geometry2JSON:n,options:a}),o({geometry1JSON:s,geometry2JSON:r,options:a})]);return{width:t(c,m),height:t(u,f)}}function it(t,e,o){switch(A(t)){case 0:return e;case 1:return o}}function st(t){const{geometryJSON:e}=t,o=ut(e.spatialReference);if(!o)throw new Error("Cannot compute horizontal area without a valid spatial reference.");switch(o.mode){case 0:return V(t);case 1:return ct(o,t)}}function at({geometryJSON:t}){const e=q(t);if(!e)return null;const o=C(e);return o?o.toJSON():null}function ct(t,{geometryJSON:e,options:o}){const r=F(e,o),n=gt,i=pt,s=lt,a=W(r.spatialReference,t.spatialReference)?r.clone():S(r,r.spatialReference,t.spatialReference);if(!a)throw new Error(`Cannot project geometry from ${r.spatialReference?.wkid??"unknown"} to ${t.spatialReference.wkid}.`);ft(a,n,i,s);const{area:c,centroid:m,length:f}=X(a,o);return{area:c,centroid:mt(m,n,i,s,t.spatialReference,r.spatialReference),length:f}}function mt(t,e,o,r,n,s){if(!t)return t;i(o,o,t.x),i(r,r,t.y);const a=yt;return f(a,o,r),f(a,a,e),t.x=a[0],t.y=a[1],t.z=a[2],t.spatialReference=n,S(t,t.spatialReference,s)?.toJSON()??void 0}function ft(t,e,o,r){let f=0;n(e,0,0,0);for(const n of t.rings)for(const t of n)e[0]+=t[0],e[1]+=t[1],e[2]+=t[2],f++;i(e,e,1/f);const u=Ot;s(u,e);const p=ht,l=Math.atan2(u[1],u[0]);n(p,-Math.sin(l),Math.cos(l),0),W(t.spatialReference,N)&&(E(e,u,j,u,t.spatialReference),E(e,p,j,p,t.spatialReference)),$(p,u,o),a(r,o,u);const g=yt;for(const i of t.rings)for(const t of i){n(g,t[0],t[1],t[2]),c(g,g,e);const i=m(o,g),s=m(r,g);t[0]=i,t[1]=s}t.hasZ=!1,t.spatialReference=J.WebMercator}function ut(t){return t?p(t)?z(t)||Z(t)||D(t)||l(t)||W(t,N)?{mode:1,spatialReference:N}:{mode:0,spatialReference:t}:{mode:1,spatialReference:d(t)}:null}const pt=u(),lt=u(),gt=u(),yt=u(),Ot=u(),ht=u();export{V as area2D,st as areaHorizontal,et as autoArea2D,rt as autoDistance2DBetweenPoints,ot as autoLength2D,nt as autoSize2D,tt as distance2DBetweenPoints,I as geodeticArea,Q as geodeticDistanceBetweenPoints,T as geodeticDistanceBetweenPointsMany,K as geodeticLength,_ as length2D,B as preloadGeodetic,at as simplify};
2
+ import{max as t,createLength as e,createArea as o}from"../../core/quantity.js";import{deriveLengthUnitFromAreaUnit as r}from"../../core/units.js";import{set as n,scale as i,normalize as s,cross as a,subtract as c,dot as m,add as f}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isEarth as p,isSphericalECEF as l}from"../../geometry/ellipsoidUtils.js";import g from"../../geometry/Multipoint.js";import y from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import h from"../../geometry/Polyline.js";import{projectWithoutEngine as S}from"../../geometry/projectionUtils.js";import J from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as N,getSphericalPCPF as d,SphericalECEFSpatialReference as j}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{e as R}from"../../chunks/areaOperator.js";import{e as w}from"../../chunks/centroidOperator.js";import{e as k}from"../../chunks/distanceOperator.js";import{l as v,e as P}from"../../chunks/geodeticAreaOperator.js";import{l as U,e as L}from"../../chunks/geodeticDistanceOperator.js";import{l as M,e as b}from"../../chunks/geodeticLengthOperator.js";import{e as x}from"../../chunks/lengthOperator.js";import{e as C}from"../../chunks/simplifyOperator.js";import{projectDirection as E}from"../../geometry/projection/projectDirection.js";import{fromJSON as q}from"../../geometry/support/jsonUtils.js";import{isWGS84 as z,isWebMercator as Z,isCGCS2000 as D,equals as W}from"../../geometry/support/spatialReferenceUtils.js";import{makeOrthonormal as $}from"../3d/support/mathUtils.js";import{autoMeasurementMode as A}from"./measurementWorkerUtils.js";async function I({geometryJSON:t,options:e}){await Promise.allSettled([v(),e?.returnLength?M():void 0]);const n=F(t,e),i=e?.unit??"square-meters",s=C(n)??n,a=P(s,{unit:i,...e}),c=o(a,i),m=e?.lengthUnit??r(i);return{area:c,centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?await H(s,{unit:m}):void 0}}function B(){v(),M(),U()}function F(t,e){const o="rings"in t?O.fromJSON(t):h.fromJSON(t);if(e?.stagedPoint){const t=y.fromJSON(e.stagedPoint),r=("rings"in o?o.rings:o.paths).at(-1);if(r){const{x:e,y:n,z:i,m:s}=t,a=o.hasZ&&o.hasM?[e,n,i??0,s??0]:o.hasZ?[e,n,i??0]:o.hasM?[e,n,s??0]:[e,n];r.push(a)}}return o}function G(t){return w(t)}async function H(t,o){await M();const r=o?.unit??"meters";return e(b(t,{...o,unit:r}),r)}function K({geometryJSON:t,options:e}){return H(F(t,e),e)}async function Q({geometry1JSON:t,geometry2JSON:o,options:r}){await U();const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(L(n,i,{...r,unit:s}),s)}async function T({geometry1JSON:t,geometry2JSON:o,options:r}){await U();const n=g.fromJSON(t),i=g.fromJSON(o);if(n.points.length!==i.points.length)throw new Error("Input multipoints must have the same number of points.");const s=n.points.length,a=r?.unit??"meters",c=[],m={...r,unit:a};for(let f=0;f<s;f++){const t=n.getPoint(f),o=i.getPoint(f);c.push(null!=t&&null!=o?e(L(t,o,m),a):null)}return c}function V({geometryJSON:t,options:e}){return X(F(t,e),e)}function X(t,e){const n=e?.unit??"square-meters",i=e?.lengthUnit??r(n),s=C(t)??t,a=R(s,{unit:n,...e});return{area:o(a,n),centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?Y(s,{unit:i}):void 0}}function Y(t,o){const r=o?.unit??"meters";return e(x(t,{...o,unit:r}),r)}function _({geometryJSON:t,options:e}){return Y(F(t,e),e)}function tt({geometry1JSON:t,geometry2JSON:o,options:r}){const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(k(n,i,{...r,unit:s}),s)}async function et(t){return it(t.geometryJSON.spatialReference,I,V)(t)}async function ot(t){return it(t.geometryJSON.spatialReference,K,_)(t)}async function rt(t){return it(t.geometry1JSON.spatialReference,Q,tt)(t)}async function nt(e){const o=it(e.topLeftJSON.spatialReference,Q,tt),{topLeftJSON:r,topRightJSON:n,bottomRightJSON:i,bottomLeftJSON:s,options:a}=e,[c,m,f,u]=await Promise.all([o({geometry1JSON:s,geometry2JSON:i,options:a}),o({geometry1JSON:r,geometry2JSON:n,options:a}),o({geometry1JSON:i,geometry2JSON:n,options:a}),o({geometry1JSON:s,geometry2JSON:r,options:a})]);return{width:t(c,m),height:t(u,f)}}function it(t,e,o){switch(A(t)){case 0:return e;case 1:return o}}function st(t){const{geometryJSON:e}=t,o=ut(e.spatialReference);if(!o)throw new Error("Cannot compute horizontal area without a valid spatial reference.");switch(o.mode){case 0:return V(t);case 1:return ct(o,t)}}function at({geometryJSON:t}){const e=q(t);if(!e)return null;const o=C(e);return o?o.toJSON():null}function ct(t,{geometryJSON:e,options:o}){const r=F(e,o),n=gt,i=pt,s=lt,a=W(r.spatialReference,t.spatialReference)?r.clone():S(r,r.spatialReference,t.spatialReference);if(!a)throw new Error(`Cannot project geometry from ${r.spatialReference?.wkid??"unknown"} to ${t.spatialReference.wkid}.`);ft(a,n,i,s);const{area:c,centroid:m,length:f}=X(a,o);return{area:c,centroid:mt(m,n,i,s,t.spatialReference,r.spatialReference),length:f}}function mt(t,e,o,r,n,s){if(!t)return t;i(o,o,t.x),i(r,r,t.y);const a=yt;return f(a,o,r),f(a,a,e),t.x=a[0],t.y=a[1],t.z=a[2],t.spatialReference=n,S(t,t.spatialReference,s)?.toJSON()??void 0}function ft(t,e,o,r){let f=0;n(e,0,0,0);for(const n of t.rings)for(const t of n)e[0]+=t[0],e[1]+=t[1],e[2]+=t[2],f++;i(e,e,1/f);const u=Ot;s(u,e);const p=ht,l=Math.atan2(u[1],u[0]);n(p,-Math.sin(l),Math.cos(l),0),W(t.spatialReference,N)&&(E(e,u,j,u,t.spatialReference),E(e,p,j,p,t.spatialReference)),$(p,u,o),a(r,o,u);const g=yt;for(const i of t.rings)for(const t of i){n(g,t[0],t[1],t[2]),c(g,g,e);const i=m(o,g),s=m(r,g);t[0]=i,t[1]=s}t.hasZ=!1,t.spatialReference=J.WebMercator}function ut(t){return t?p(t)?z(t)||Z(t)||D(t)||l(t)||W(t,N)?{mode:1,spatialReference:N}:{mode:0,spatialReference:t}:{mode:1,spatialReference:d(t)}:null}const pt=u(),lt=u(),gt=u(),yt=u(),Ot=u(),ht=u();export{V as area2D,st as areaHorizontal,et as autoArea2D,rt as autoDistance2DBetweenPoints,ot as autoLength2D,nt as autoSize2D,tt as distance2DBetweenPoints,I as geodeticArea,Q as geodeticDistanceBetweenPoints,T as geodeticDistanceBetweenPointsMany,K as geodeticLength,_ as length2D,B as preloadGeodetic,at as simplify};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../core/Logger.js";import{property as n,subclass as i}from"../../core/accessorSupport/decorators.js";import o from"../../geometry/SpatialReference.js";import{toExtent as r}from"../../geometry/support/aaBoundingRect.js";import{extentContainsXYZ as a}from"../../geometry/support/contains.js";import{GroundViewElevationSampler as s}from"./GroundViewElevationSampler.js";let l=class extends s{initialize(){this.view.basemapTerrain.on("elevation-change",()=>this.emit("changed",{}))}get demResolution(){return this.view.basemapTerrain.demResolution}get extent(){const{groundView:e}=this.view;if(null==e?.groundExtent||null==e.spatialReference)return null;const t=r(e.groundExtent,e.spatialReference);return t.zmin=e.visibleElevationRange.minElevation,t.zmax=e.visibleElevationRange.maxElevation,t}get spatialReference(){return this.view.basemapTerrain?.spatialReference??o.WGS84}elevationAt(e,n){if(null==this.extent||!a(this.extent,e,n)){const i=null!=this.extent?`${this.extent.xmin}, ${this.extent.ymin}, ${this.extent.xmax}, ${this.extent.ymax}`:null;return t.getLogger(this).warn("#elevationAt()",`Point used to sample elevation (${e}, ${n}) is outside of the sampler extent (${i})`),this.noDataValue}return this.view.elevationProvider?.getElevation(e,n,0,this.spatialReference,"ground")??this.noDataValue}};e([n({readOnly:!0})],l.prototype,"demResolution",null),e([n({readOnly:!0})],l.prototype,"extent",null),e([n()],l.prototype,"spatialReference",null),l=e([i("esri.views.support.GroundElevationSampler")],l);export{l as GroundElevationSampler};
2
+ import{__decorate as e}from"tslib";import t from"../../core/Logger.js";import{property as n,subclass as i}from"../../core/accessorSupport/decorators.js";import o from"../../geometry/SpatialReference.js";import{toExtent as r}from"../../geometry/support/aaBoundingRect.js";import{extentContainsXYZ as a}from"../../geometry/support/contains.js";import{GroundViewElevationSampler as s}from"./GroundViewElevationSampler.js";let l=class extends s{initialize(){this.view.basemapTerrain.on("elevation-change",()=>this.emit("changed",{}))}get demResolution(){return this.view.basemapTerrain.demResolution}get extent(){const{groundView:e}=this.view;if(null==e?.groundExtent||null==e.spatialReference)return null;const t=r(e.groundExtent,e.spatialReference);return t.zmin=e.visibleElevationRange.minElevation,t.zmax=e.visibleElevationRange.maxElevation,t}get spatialReference(){return this.view.groundView?.spatialReference??o.WGS84}elevationAt(e,n){if(null==this.extent||!a(this.extent,e,n)){const i=null!=this.extent?`${this.extent.xmin}, ${this.extent.ymin}, ${this.extent.xmax}, ${this.extent.ymax}`:null;return t.getLogger(this).warn("#elevationAt()",`Point used to sample elevation (${e}, ${n}) is outside of the sampler extent (${i})`),this.noDataValue}return this.view.elevationProvider?.getElevation(e,n,0,this.spatialReference,"ground")??this.noDataValue}};e([n({readOnly:!0})],l.prototype,"demResolution",null),e([n({readOnly:!0})],l.prototype,"extent",null),e([n()],l.prototype,"spatialReference",null),l=e([i("esri.views.support.GroundElevationSampler")],l);export{l as GroundElevationSampler};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../core/Error.js";import{allSettledErrors as t,throwIfAborted as r,eachAlways as o}from"../../core/promiseUtils.js";import{generateUUID as s}from"../../core/uuid.js";import{getSiblingOfSameTypeI as a,contentToBlob as c}from"../../portal/support/resourceUtils.js";async function p(e,t,r){const o=await u(e,t,r);await h(o,t,r)}async function n(e,t,r,o,s){const a=await u(r,o,s);await e.update({data:t}),await h(a,o,s)}async function u(o,p,n){if(!p?.resources)return;const u=i(o,p)?new Set(o.paths):new Set;o.paths.length=0,o.portalItem=p.portalItem,o.portalItemResourcePath=p.portalItemResourcePath;const h=new Set(p.resources.toKeep.map(e=>e.resource.path)),m=new Set,l=[];h.forEach(e=>{u.delete(e),o.paths.push(e)});const f=[],w=[],d=[];for(const e of p.resources.toUpdate)if(u.delete(e.resource.path),h.has(e.resource.path)||m.has(e.resource.path)){const{resource:t,content:r,finish:p}=e,n=a(t,s());o.paths.push(n.path),f.push({resource:n,content:await c(r),compress:e.compress}),p&&d.push(()=>p(n))}else{o.paths.push(e.resource.path),w.push({resource:e.resource,content:await c(e.content),compress:e.compress});const t=e.finish;t&&d.push(()=>t(e.resource)),m.add(e.resource.path)}for(const e of p.resources.toAdd)if(o.paths.push(e.resource.path),u.has(e.resource.path))u.delete(e.resource.path);else{f.push({resource:e.resource,content:await c(e.content),compress:e.compress});const t=e.finish;t&&d.push(()=>t(e.resource))}if(f.length||w.length){const{addOrUpdateResources:e}=await import("../../portal/support/resourceUtils.js");await e(p.portalItem,f,"add",n),await e(p.portalItem,w,"update",n)}if(d.forEach(e=>e()),0===l.length)return u;const I=await t(l);if(r(n),I.length>0)throw new e("save:resources","Failed to save one or more resources",{errors:I});return u}async function h(e,t,r){if(!e||!t.portalItem)return;const s=[];for(const o of e){const e=t.portalItem.resourceFromPath(o);s.push(e.portalItem.removeResource(e,r))}await o(s)}function i(e,t){const{portalItem:r,portalItemResourcePath:o}=e,{portalItem:s,portalItemResourcePath:a}=t;return r===s&&(!(o||a)||o===a)}export{p as saveResources,n as updateItemWithResources};
2
+ import e from"../../core/Error.js";import{allSettledErrors as t,throwIfAborted as r,eachAlways as o}from"../../core/promiseUtils.js";import{generateUUID as s}from"../../core/uuid.js";import{getSiblingOfSameTypeI as a,contentToBlob as c}from"../../portal/support/resourceUtils.js";async function p(e,t,r){const o=await u(e,t,r);await h(o,t,r)}async function n(e,t,r,o,s){const a=await u(r,o,s);await e.update({data:t}),await h(a,o,s)}async function u(o,p,n){if(!p?.resources)return;const u=i(o,p)?new Set(o.paths):new Set;o.paths.length=0,o.portalItem=p.portalItem,o.portalItemResourcePath=p.portalItemResourcePath;const h=new Set(p.resources.toKeep.map(e=>e.resource.path)),m=new Set,l=[];h.forEach(e=>{u.delete(e),o.paths.push(e)});const f=[],w=[],d=[];for(const e of p.resources.toUpdate)if(u.delete(e.resource.path),h.has(e.resource.path)||m.has(e.resource.path)){const{resource:t,content:r,finish:p}=e,n=a(t,s());o.paths.push(n.path),f.push({resource:n,content:await c(r),compress:e.compress}),p&&d.push(()=>p(n))}else{o.paths.push(e.resource.path),w.push({resource:e.resource,content:await c(e.content),compress:e.compress});const t=e.finish;t&&d.push(()=>t(e.resource)),m.add(e.resource.path)}for(const e of p.resources.toAdd)if(o.paths.push(e.resource.path),u.has(e.resource.path))u.delete(e.resource.path);else{f.push({resource:e.resource,content:await c(e.content),compress:e.compress});const t=e.finish;t&&d.push(()=>t(e.resource))}if(f.length||w.length){const{addOrUpdateResources:e}=await(import("../../portal/support/resourceUtils.js"));await e(p.portalItem,f,"add",n),await e(p.portalItem,w,"update",n)}if(d.forEach(e=>e()),0===l.length)return u;const I=await t(l);if(r(n),I.length>0)throw new e("save:resources","Failed to save one or more resources",{errors:I});return u}async function h(e,t,r){if(!e||!t.portalItem)return;const s=[];for(const o of e){const e=t.portalItem.resourceFromPath(o);s.push(e.portalItem.removeResource(e,r))}await o(s)}function i(e,t){const{portalItem:r,portalItemResourcePath:o}=e,{portalItem:s,portalItemResourcePath:a}=t;return r===s&&(!(o||a)||o===a)}export{p as saveResources,n as updateItemWithResources};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../Viewpoint.js";import t from"../../core/Error.js";import r from"../../core/Logger.js";import{geographicToWebMercator as o}from"../../geometry/support/webMercatorUtils.js";import a from"../../portal/Portal.js";import{createForItemRead as i}from"../../portal/support/jsonContext.js";import{project as n}from"../../rest/geometryService/project.js";import s from"../../rest/support/ProjectParameters.js";import{hasWebDocumentAsPrimaryContent as p}from"./utils.js";function l(e,t){return t.resourceInfo?c(t,t.resourceInfo,{origin:e.origin}):t.portalItem?.id?m(e,t,t.portalItem):Promise.resolve()}function c(e,t,r){const o={context:{...r,layerContainerType:"operational-layers"}};return e.portalItem&&(o.context.portal=e.portalItem.portal||a.getDefault()),import("../../layers/support/layersCreator.js").then(({populateOperationalLayers:r})=>{const a=[],i=t.operationalLayers;i?.length&&a.push(r(e.layers,i,o));const n={...o,context:{...o.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=t.tables;return s?.length&&a.push(r(e.tables,s,n)),Promise.allSettled(a).then(()=>{})})}async function m(e,o,a){await a.load().catch(r=>{throw new t(`${e.name}:load-portal-item`,"Failed to load portal item",{error:r})});const n=a.type,s=e.supportedItemTypes;if(!n||!s.has(n))throw new t(`${e.name}:invalid-portal-item`,`Invalid portal item type '${n}', expected one of: '${Array.from(s).join("', '")}'`,{type:n});let l;const{portalItemResourcePath:c}=o;if(p(a)){if(c)throw new t(`${e.name}:portal-item-resource-path-not-supported`,`'portalItemResourcePath' is not supported when loading a map from '${n}' item`);l=await a.fetchData()}else{if(!c)throw new t(`${e.name}:missing-portal-item-resource-path`,`'portalItemResourcePath' is required to load a map from '${n}' item`);const r=a.resourceFromPath(c);l=await r.fetch()}o.resourceInfo=l;const m=i(a,e.origin);await u(e,o,l,m),o.resourceReferences={portalItem:a,portalItemResourcePath:c,paths:m.readResourcePaths};const f=await w(o.initialViewProperties,a,r.getLogger(o));if(f){const t=o.initialViewProperties?.clone()??e.createInitialViewProperties();t.viewpoint=f,o.initialViewProperties=t}}function u(e,t,r,o){const a=f(e,r);return t.read(a,o),c(t,a,o)}function f(e,t){const r=e.parseVersion(t.version||"",e.name);return e.currentVersion.validate(r),t.version=`${r.major}.${r.minor}`,t}async function w(t,r,o){const a=t?.viewpoint?.targetGeometry;if(a)return null;const i=await y(t,r,o);if(!i)return null;return new e({targetGeometry:i})}async function y(e,t,r){const a=e?.spatialReference,i=t?.extent;if(!a||!i)return null;if(a.isWGS84)return i.clone();if(a.isWebMercator)return o(i);const{getGeometryServiceURL:p}=await import("../../portal/support/geometryServiceUtils.js");try{const e=await p(t),r=new s({geometries:[i],outSpatialReference:a});return(await n(e,r))[0]}catch(l){r.error("Error projecting item's extent:",l)}return null}export{l as loadFromSource};
2
+ import e from"../../Viewpoint.js";import t from"../../core/Error.js";import r from"../../core/Logger.js";import{geographicToWebMercator as o}from"../../geometry/support/webMercatorUtils.js";import a from"../../portal/Portal.js";import{createForItemRead as i}from"../../portal/support/jsonContext.js";import{project as n}from"../../rest/geometryService/project.js";import s from"../../rest/support/ProjectParameters.js";import{hasWebDocumentAsPrimaryContent as p}from"./utils.js";function l(e,t){return t.resourceInfo?c(t,t.resourceInfo,{origin:e.origin}):t.portalItem?.id?m(e,t,t.portalItem):Promise.resolve()}function c(e,t,r){const o={context:{...r,layerContainerType:"operational-layers"}};return e.portalItem&&(o.context.portal=e.portalItem.portal||a.getDefault()),import("../../layers/support/layersCreator.js").then(({populateOperationalLayers:r})=>{const a=[],i=t.operationalLayers;i?.length&&a.push(r(e.layers,i,o));const n={...o,context:{...o.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=t.tables;return s?.length&&a.push(r(e.tables,s,n)),Promise.allSettled(a).then(()=>{})})}async function m(e,o,a){await a.load().catch(r=>{throw new t(`${e.name}:load-portal-item`,"Failed to load portal item",{error:r})});const n=a.type,s=e.supportedItemTypes;if(!n||!s.has(n))throw new t(`${e.name}:invalid-portal-item`,`Invalid portal item type '${n}', expected one of: '${Array.from(s).join("', '")}'`,{type:n});let l;const{portalItemResourcePath:c}=o;if(p(a)){if(c)throw new t(`${e.name}:portal-item-resource-path-not-supported`,`'portalItemResourcePath' is not supported when loading a map from '${n}' item`);l=await a.fetchData()}else{if(!c)throw new t(`${e.name}:missing-portal-item-resource-path`,`'portalItemResourcePath' is required to load a map from '${n}' item`);const r=a.resourceFromPath(c);l=await r.fetch()}o.resourceInfo=l;const m=i(a,e.origin);await u(e,o,l,m),o.resourceReferences={portalItem:a,portalItemResourcePath:c,paths:m.readResourcePaths};const f=await w(o.initialViewProperties,a,r.getLogger(o));if(f){const t=o.initialViewProperties?.clone()??e.createInitialViewProperties();t.viewpoint=f,o.initialViewProperties=t}}function u(e,t,r,o){const a=f(e,r);return t.read(a,o),c(t,a,o)}function f(e,t){const r=e.parseVersion(t.version||"",e.name);return e.currentVersion.validate(r),t.version=`${r.major}.${r.minor}`,t}async function w(t,r,o){const a=t?.viewpoint?.targetGeometry;if(a)return null;const i=await y(t,r,o);if(!i)return null;return new e({targetGeometry:i})}async function y(e,t,r){const a=e?.spatialReference,i=t?.extent;if(!a||!i)return null;if(a.isWGS84)return i.clone();if(a.isWebMercator)return o(i);const{getGeometryServiceURL:p}=await(import("../../portal/support/geometryServiceUtils.js"));try{const e=await p(t),r=new s({geometries:[i],outSpatialReference:a});return(await n(e,r))[0]}catch(l){r.error("Error projecting item's extent:",l)}return null}export{l as loadFromSource};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../core/Error.js";import{MultiOriginJSONSupport as t}from"../../core/MultiOriginJSONSupport.js";import{whenOnce as r}from"../../core/reactiveUtils.js";import{hasSameCanonicalPortal as o,urlToObject as a}from"../../core/urlUtils.js";import{updateOrigins as i}from"../../core/accessorSupport/originUtils.js";import n from"../../geometry/SpatialReference.js";import{webMercatorToGeographic as s}from"../../geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as l}from"../../layers/support/arcgisLayerUrl.js";import{isLayerWithFeatureLayerSource as p,isFeatureCollectionLayer as c}from"../../layers/support/layerUtils.js";import u from"../../portal/Portal.js";import m from"../../portal/PortalItem.js";import{createForItemWrite as d}from"../../portal/support/jsonContext.js";import{removeTypeKeyword as f,addTypeKeyword as w,typeKeyword as y,toggleTypeKeyword as h,hasTypeKeyword as g}from"../../portal/support/portalItemUtils.js";import{project as I}from"../../rest/geometryService/project.js";import R from"../../rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as P,isDeveloperBasemapLayer as _}from"../../support/basemapUtils.js";import{saveResources as b}from"./resourceUtils.js";import{beforeSave as j,evaluateWriteErrors as v,hasCharts as S}from"./saveUtils.js";import{hasWebDocumentAsPrimaryContent as W,hasWebDocumentAsResource as A}from"./utils.js";const O=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map(e=>e.toLowerCase());async function T(e,t,o){o??={},M(e,t),await r(()=>!t.updatingFromView),await t.load(),await k(t),await j(t),await $(e,t);const a=t.portalItem,{json:i,jsonContext:n}=await C(t,a,e.origin,t.portalItemResourcePath);return v(n,{errorName:`${e.name}:save`},o),await x(t,a),await de(e,t,a,i,n),await Promise.all([W(a)?t.updateItemThumbnail():null,b(t.resourceReferences,n)]),a}async function C(e,t,r,o){const a=A(t),i=a&&t.id===e.portalItem?.id&&o!==e.portalItemResourcePath,n=d(t,r,{withResources:!0,forceNewItemContext:i});n.portalItemResourcePath=a?o:null;const s=e.write({},n);return await Promise.all(n.resources.pendingOperations),{json:s,jsonContext:n}}async function U(e,t,o,a){a??={};const i=t.portalItem,n=await D(e,t,o,a);await r(()=>!t.updatingFromView),await t.load(),await k(t),await j(t),await $(e,t);const{json:s,jsonContext:l}=await C(t,n,e.origin,a.portalItemResourcePath);let p;v(l,{errorName:`${e.name}:save`},a),await ee(t,n);const c=W(n);c&&(p=t.getThumbnailState());return await fe(e,t,n,s,l,a)&&(t.resourceReferences.portalItem=n),p&&t.restoreThumbnailFromState(p),await Promise.all([c?t.updateItemThumbnail(i):null,b(t.resourceReferences,l)]),n}function M(t,r){if(!r.portalItem)throw new e(`${t.name}:portal-item-not-set`,"Portal item to save to has not been set on the WebMap");E(t,r.portalItem)}function E(t,r){const o=r.type,a=t.supportedItemTypes;if(!o||!a.has(o))throw new e(`${t.name}:portal-item-wrong-type`,`Portal item needs to have one of these types: '${Array.from(a).join("', '")}'`)}async function $(t,r){if("linkchart"!==t.name&&!r.basemap?.baseLayers.length)throw new e(`${t.name}:save`,"Map does not have a valid basemap with a base layer.")}async function D(t,r,o,a){let i=m.from(o);i.id&&await i.load();const{portalItemResourcePath:n}=a,{name:s,primaryItemType:l}=t;if(A(i)){if(!n)throw new e(`${s}:missing-portal-item-resource-path`,`'portalItemResourcePath' is required to save a map to '${i.type}' item`);if(n===r.portalItemResourcePath&&i.id===r.portalItem?.id)throw new e(`${s}:invalid-portal-item-resource-path`,`Target 'portalItemResourcePath' should be different from '${s}.portalItemResourcePath'`);return i}if(n)throw new e(`${s}:portal-item-resource-path-not-supported`,`'portalItemResourcePath' is not supported when saving a map to '${l}' item`);return i.id&&(i=i.clone(),i.id=null),i.type||(i.type=l),i.portal||(i.portal=u.getDefault()),E(t,i),i}function k(e){const t=[];return e.basemap&&t.push(e.basemap.load()),e.ground&&t.push(e.ground.load()),Promise.allSettled(t).then(()=>{})}async function x(e,t){A(t)||(t.extent=await ne(e.portalItem,e.initialViewProperties.viewpoint.targetGeometry),await te(e,t))}const N=y.JSAPI,G="CollectorDisabled",L="Collector",B="Data Editing",F="OfflineDisabled",V="Offline",H="Workforce Project",J="Workforce Worker",K="Workforce Dispatcher",q="Offline Map Areas",z="FieldMapsDisabled",Q=y.DEVELOPER_BASEMAP,X="UtilityNetwork",Y="ParcelFabric",Z="IPS";async function ee(e,t){A(t)||(f(t,G),f(t,z),f(t,y.METADATA),f(t,F),f(t,q),f(t,K),f(t,H),f(t,J),await x(e,t))}async function te(e,t){w(t,N),await re(e),h(t,L,!g(t,G)&&!g(t,H)&&!g(t,J)&&!g(t,K)&&ae(e)),h(t,B,ae(e)),h(t,V,!g(t,F)&&ie(e)),h(t,Q,P(e.basemap)),h(t,X,!!e.utilityNetworks?.length),h(t,Y,!!e.parcelFabric),h(t,Z,!!e.ipsInfo),h(t,y.CHARTS,S(e)),t.typeKeywords&&(t.typeKeywords=t.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}function re(e){const t=oe(e).map(e=>e.load()).toArray();return Promise.allSettled(t).then(()=>{})}function oe(e){return e.allLayers.concat(e.allTables)}function ae(e){return oe(e).some(e=>e.loaded&&p(e)&&e.capabilities.operations.supportsEditing&&"editingEnabled"in e&&e.editingEnabled&&("subtype-group"!==e.type||e.sublayers.some(e=>e.editingEnabled)))}function ie(e){return oe(e).filter(e=>"group"!==e.type).every(t=>t.loaded&&pe(e,t))}async function ne(e,t){const r=t.clone().normalize();let o;if(r.length>1)for(const a of r)o?a.width>o.width&&(o=a):o=a;else o=r[0];return se(e,o)}async function se(e,t){const r=t.spatialReference;if(r.isWGS84)return t.clone();if(r.isWebMercator)return s(t);const{getGeometryServiceURL:o}=await import("../../portal/support/geometryServiceUtils.js"),a=await o(e),i=new R({geometries:[t],outSpatialReference:n.WGS84});return(await I(a,i))[0]}function le(e){return c(e)||"map-notes"===e.type||"route"===e.type}function pe(e,t){return p(t)&&t.capabilities.operations.supportsSync||le(t)&&!t.portalItem||ce(t)&&!ue(t)&&t.spatialReference.equals(e.initialViewProperties.spatialReference)}function ce(e){return"imagery-tile"===e.type?e.supportsExportMapTiles():("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||me(e)||_(e))}function ue(e){return"vector-tile"===e.type&&Object.keys(e.sourceNameToSource).length>1}function me(e){return"tile"===e.type&&(l(e.url)&&O.some(t=>e.url?.toLowerCase().includes("/"+t+"/")))}async function de(e,t,r,o,a){if(W(r))await r.update({data:o});else{await r.portal.signIn();const e=r.resourceFromPath(t.portalItemResourcePath);await e.update(ge(o))}he(e,t,r,o,a)}async function fe(t,r,o,a,i,n){const s=r.portalItem,l={item:s,authenticated:!(!s?.id||!s.portal.user)},p=o.portal;await p.signIn();const{copyAllowed:c,itemReloaded:u}=await we(l,p);if(l.authenticated||=u,!c)throw new e(`${t.name}:save-as-copy-not-allowed`,"Owner of this map does not allow others to save a copy");let m=!1;if(W(o))m=await ye(o,l,a,n);else{const e=o.resourceFromPath(n.portalItemResourcePath);await o.addResource(e,ge(a))}return r.portalItem=o,r.portalItemResourcePath=n.portalItemResourcePath,he(t,r,o,a,i),m}async function we(e,t){const{item:r,authenticated:o}=e;return r&&W(r)&&r.id&&r.typeKeywords?.includes("useOnly")?r.portal.portalHostname!==t.portalHostname?{copyAllowed:!1,itemReloaded:!1}:(o||await r.reload(),{copyAllowed:"admin"===r.itemControl||"update"===r.itemControl,itemReloaded:!0}):{copyAllowed:!0,itemReloaded:!1}}async function ye(e,t,r,a){const i=e.portal,{item:n}=t,{folder:s,copyAllResources:l}=a;let p=!1;if(l&&n?.id&&n.type===e.type&&o(n.portal.url,i.url)&&parseInt(n.portal.currentVersion,10)>=2023){const{total:e}=await n.fetchResources();p=!!e}if(p){const t=await n.copy({copyResources:"all",folder:s});e.id=t.id,e.portal=t.portal;const o=e.toJSON();await e.load(),e.read(o),await e.update({data:r})}else await i.user.addItem({item:e,folder:s,data:r});return p}function he(e,r,o,n,s){t.prototype.read.call(r,{version:n.version,authoringApp:n.authoringApp,authoringAppVersion:n.authoringAppVersion},{origin:e.origin,ignoreDefaults:!0,url:o.itemUrl?a(o.itemUrl):void 0}),i(s),r.resourceInfo=n}function ge(e){return new Blob([JSON.stringify(e)],{type:"application/json"})}export{C as createJSON,ye as initializeNewItem,we as isCopyAllowed,T as save,U as saveAs};
2
+ import e from"../../core/Error.js";import{MultiOriginJSONSupport as t}from"../../core/MultiOriginJSONSupport.js";import{whenOnce as r}from"../../core/reactiveUtils.js";import{hasSameCanonicalPortal as o,urlToObject as a}from"../../core/urlUtils.js";import{updateOrigins as i}from"../../core/accessorSupport/originUtils.js";import n from"../../geometry/SpatialReference.js";import{webMercatorToGeographic as s}from"../../geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as l}from"../../layers/support/arcgisLayerUrl.js";import{isLayerWithFeatureLayerSource as p,isFeatureCollectionLayer as c}from"../../layers/support/layerUtils.js";import u from"../../portal/Portal.js";import m from"../../portal/PortalItem.js";import{createForItemWrite as d}from"../../portal/support/jsonContext.js";import{removeTypeKeyword as f,addTypeKeyword as w,typeKeyword as y,toggleTypeKeyword as h,hasTypeKeyword as g}from"../../portal/support/portalItemUtils.js";import{project as I}from"../../rest/geometryService/project.js";import R from"../../rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as P,isDeveloperBasemapLayer as _}from"../../support/basemapUtils.js";import{saveResources as b}from"./resourceUtils.js";import{beforeSave as j,evaluateWriteErrors as v,hasCharts as S}from"./saveUtils.js";import{hasWebDocumentAsPrimaryContent as W,hasWebDocumentAsResource as A}from"./utils.js";const O=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map(e=>e.toLowerCase());async function T(e,t,o){o??={},M(e,t),await r(()=>!t.updatingFromView),await t.load(),await k(t),await j(t),await $(e,t);const a=t.portalItem,{json:i,jsonContext:n}=await C(t,a,e.origin,t.portalItemResourcePath);return v(n,{errorName:`${e.name}:save`},o),await x(t,a),await de(e,t,a,i,n),await Promise.all([W(a)?t.updateItemThumbnail():null,b(t.resourceReferences,n)]),a}async function C(e,t,r,o){const a=A(t),i=a&&t.id===e.portalItem?.id&&o!==e.portalItemResourcePath,n=d(t,r,{withResources:!0,forceNewItemContext:i});n.portalItemResourcePath=a?o:null;const s=e.write({},n);return await Promise.all(n.resources.pendingOperations),{json:s,jsonContext:n}}async function U(e,t,o,a){a??={};const i=t.portalItem,n=await D(e,t,o,a);await r(()=>!t.updatingFromView),await t.load(),await k(t),await j(t),await $(e,t);const{json:s,jsonContext:l}=await C(t,n,e.origin,a.portalItemResourcePath);let p;v(l,{errorName:`${e.name}:save`},a),await ee(t,n);const c=W(n);c&&(p=t.getThumbnailState());return await fe(e,t,n,s,l,a)&&(t.resourceReferences.portalItem=n),p&&t.restoreThumbnailFromState(p),await Promise.all([c?t.updateItemThumbnail(i):null,b(t.resourceReferences,l)]),n}function M(t,r){if(!r.portalItem)throw new e(`${t.name}:portal-item-not-set`,"Portal item to save to has not been set on the WebMap");E(t,r.portalItem)}function E(t,r){const o=r.type,a=t.supportedItemTypes;if(!o||!a.has(o))throw new e(`${t.name}:portal-item-wrong-type`,`Portal item needs to have one of these types: '${Array.from(a).join("', '")}'`)}async function $(t,r){if("linkchart"!==t.name&&!r.basemap?.baseLayers.length)throw new e(`${t.name}:save`,"Map does not have a valid basemap with a base layer.")}async function D(t,r,o,a){let i=m.from(o);i.id&&await i.load();const{portalItemResourcePath:n}=a,{name:s,primaryItemType:l}=t;if(A(i)){if(!n)throw new e(`${s}:missing-portal-item-resource-path`,`'portalItemResourcePath' is required to save a map to '${i.type}' item`);if(n===r.portalItemResourcePath&&i.id===r.portalItem?.id)throw new e(`${s}:invalid-portal-item-resource-path`,`Target 'portalItemResourcePath' should be different from '${s}.portalItemResourcePath'`);return i}if(n)throw new e(`${s}:portal-item-resource-path-not-supported`,`'portalItemResourcePath' is not supported when saving a map to '${l}' item`);return i.id&&(i=i.clone(),i.id=null),i.type||(i.type=l),i.portal||(i.portal=u.getDefault()),E(t,i),i}function k(e){const t=[];return e.basemap&&t.push(e.basemap.load()),e.ground&&t.push(e.ground.load()),Promise.allSettled(t).then(()=>{})}async function x(e,t){A(t)||(t.extent=await ne(e.portalItem,e.initialViewProperties.viewpoint.targetGeometry),await te(e,t))}const N=y.JSAPI,G="CollectorDisabled",L="Collector",B="Data Editing",F="OfflineDisabled",V="Offline",H="Workforce Project",J="Workforce Worker",K="Workforce Dispatcher",q="Offline Map Areas",z="FieldMapsDisabled",Q=y.DEVELOPER_BASEMAP,X="UtilityNetwork",Y="ParcelFabric",Z="IPS";async function ee(e,t){A(t)||(f(t,G),f(t,z),f(t,y.METADATA),f(t,F),f(t,q),f(t,K),f(t,H),f(t,J),await x(e,t))}async function te(e,t){w(t,N),await re(e),h(t,L,!g(t,G)&&!g(t,H)&&!g(t,J)&&!g(t,K)&&ae(e)),h(t,B,ae(e)),h(t,V,!g(t,F)&&ie(e)),h(t,Q,P(e.basemap)),h(t,X,!!e.utilityNetworks?.length),h(t,Y,!!e.parcelFabric),h(t,Z,!!e.ipsInfo),h(t,y.CHARTS,S(e)),t.typeKeywords&&(t.typeKeywords=t.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}function re(e){const t=oe(e).map(e=>e.load()).toArray();return Promise.allSettled(t).then(()=>{})}function oe(e){return e.allLayers.concat(e.allTables)}function ae(e){return oe(e).some(e=>e.loaded&&p(e)&&e.capabilities.operations.supportsEditing&&"editingEnabled"in e&&e.editingEnabled&&("subtype-group"!==e.type||e.sublayers.some(e=>e.editingEnabled)))}function ie(e){return oe(e).filter(e=>"group"!==e.type).every(t=>t.loaded&&pe(e,t))}async function ne(e,t){const r=t.clone().normalize();let o;if(r.length>1)for(const a of r)o?a.width>o.width&&(o=a):o=a;else o=r[0];return se(e,o)}async function se(e,t){const r=t.spatialReference;if(r.isWGS84)return t.clone();if(r.isWebMercator)return s(t);const{getGeometryServiceURL:o}=await(import("../../portal/support/geometryServiceUtils.js")),a=await o(e),i=new R({geometries:[t],outSpatialReference:n.WGS84});return(await I(a,i))[0]}function le(e){return c(e)||"map-notes"===e.type||"route"===e.type}function pe(e,t){return p(t)&&t.capabilities.operations.supportsSync||le(t)&&!t.portalItem||ce(t)&&!ue(t)&&t.spatialReference.equals(e.initialViewProperties.spatialReference)}function ce(e){return"imagery-tile"===e.type?e.supportsExportMapTiles():("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||me(e)||_(e))}function ue(e){return"vector-tile"===e.type&&Object.keys(e.sourceNameToSource).length>1}function me(e){return"tile"===e.type&&(l(e.url)&&O.some(t=>e.url?.toLowerCase().includes("/"+t+"/")))}async function de(e,t,r,o,a){if(W(r))await r.update({data:o});else{await r.portal.signIn();const e=r.resourceFromPath(t.portalItemResourcePath);await e.update(ge(o))}he(e,t,r,o,a)}async function fe(t,r,o,a,i,n){const s=r.portalItem,l={item:s,authenticated:!(!s?.id||!s.portal.user)},p=o.portal;await p.signIn();const{copyAllowed:c,itemReloaded:u}=await we(l,p);if(l.authenticated||=u,!c)throw new e(`${t.name}:save-as-copy-not-allowed`,"Owner of this map does not allow others to save a copy");let m=!1;if(W(o))m=await ye(o,l,a,n);else{const e=o.resourceFromPath(n.portalItemResourcePath);await o.addResource(e,ge(a))}return r.portalItem=o,r.portalItemResourcePath=n.portalItemResourcePath,he(t,r,o,a,i),m}async function we(e,t){const{item:r,authenticated:o}=e;return r&&W(r)&&r.id&&r.typeKeywords?.includes("useOnly")?r.portal.portalHostname!==t.portalHostname?{copyAllowed:!1,itemReloaded:!1}:(o||await r.reload(),{copyAllowed:"admin"===r.itemControl||"update"===r.itemControl,itemReloaded:!0}):{copyAllowed:!0,itemReloaded:!1}}async function ye(e,t,r,a){const i=e.portal,{item:n}=t,{folder:s,copyAllResources:l}=a;let p=!1;if(l&&n?.id&&n.type===e.type&&o(n.portal.url,i.url)&&parseInt(n.portal.currentVersion,10)>=2023){const{total:e}=await n.fetchResources();p=!!e}if(p){const t=await n.copy({copyResources:"all",folder:s});e.id=t.id,e.portal=t.portal;const o=e.toJSON();await e.load(),e.read(o),await e.update({data:r})}else await i.user.addItem({item:e,folder:s,data:r});return p}function he(e,r,o,n,s){t.prototype.read.call(r,{version:n.version,authoringApp:n.authoringApp,authoringAppVersion:n.authoringAppVersion},{origin:e.origin,ignoreDefaults:!0,url:o.itemUrl?a(o.itemUrl):void 0}),i(s),r.resourceInfo=n}function ge(e){return new Blob([JSON.stringify(e)],{type:"application/json"})}export{C as createJSON,ye as initializeNewItem,we as isCopyAllowed,T as save,U as saveAs};
package/webscene/Slide.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import{ClonableMixin as r}from"../core/Clonable.js";import s from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{EventedMixin as a}from"../core/Evented.js";import{JSONSupport as l}from"../core/JSONSupport.js";import p from"../core/Logger.js";import{moduloPositive as m}from"../core/mathUtils.js";import{destroyMaybe as h,removeMaybe as c}from"../core/maybe.js";import{onAbortOrThrow as d,createAbortError as u,isAbortError as y}from"../core/promiseUtils.js";import{whenOnce as g,when as b}from"../core/reactiveUtils.js";import{Milliseconds as v,Seconds as w}from"../core/time.js";import{property as f,cast as T,subclass as _}from"../core/accessorSupport/decorators.js";import{ensureType as j}from"../core/accessorSupport/ensureType.js";import{squaredDistance as L}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as C}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import E from"../layers/Layer.js";import{basemapEnsureType as S,clonePreservingTiledLayers as A}from"../support/basemapEnsureType.js";import{TaskPriority as V}from"../views/support/Scheduler.js";import k from"../webdoc/support/SlideThumbnail.js";import{timeExtent as U}from"../webdoc/support/timeProperties.js";import x from"./SunLighting.js";import F from"./VirtualLighting.js";import I from"./support/Description.js";import R from"./support/SlideElements.js";import D from"./support/SlideEnvironment.js";import O from"./support/SlideGround.js";import P from"./support/SlideVisibleLayer.js";import q from"./support/Title.js";let M=0;const N=s.ofType(P),B=["caption","cover","none"];let G=class extends(r(a(l))){constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+M++,this.hidden=!1,this.viewpoint=null,this.ground=null,this.layout="caption",this.enabledFocusAreas=null,this.environment=new D,this.timeExtent=null,this.elements=new R,this.title=new q,this.description=new I,this.thumbnail=new k,this.visibleLayers=new N}destroy(){this.visibleLayers.removeAll(),this.enabledFocusAreas=null,this.basemap=null,this.thumbnail=h(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null,this.elements.destroy()}get title(){return this._get("title")}set title(e){e="string"==typeof e?new q({text:e}):j(q,e),this._set("title",e)}get description(){return this._get("description")}set description(e){e="string"==typeof e?new I({text:e}):j(I,e),this._set("description",e)}get thumbnail(){return this._get("thumbnail")}set thumbnail(e){e="string"==typeof e?new k({url:e}):j(k,e),this._set("thumbnail",e)}get basemap(){return this._get("basemap")}set basemap(e){this._set("basemap",S(e))}set visibleLayers(e){this._set("visibleLayers",o(e,this._get("visibleLayers"),N))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map(e=>{if("string"==typeof e)return{id:e};if(e instanceof E){const t=J(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(p.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)}):null}async _updateVisibleLayers(e){const t=[];await Promise.allSettled(this._getLayers(e.map).map(i=>e.whenLayerView(i).then(e=>{if(e.visible){const n=J(i);t.push(new P({id:e.layer.id,sublayerIds:n}))}})).toArray()),this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}async updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t?.screenshot};await e.when(),this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?F.prototype.clone.apply(e.environment.lighting):x.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.enabledFocusAreas=new s(e.focusAreasView?.enabledAreas.map(({id:e})=>e)??[]),this.basemap=e.map.basemap?.clone()||null,this.ground=e.map.ground?O.fromGround(e.map.ground):null,this.timeExtent=e.timeExtent?.clone()??null,this.elements.analyses.updateFrom(e),await this._updateVisibleLayers(e);const n=await e.takeScreenshot(i);return this.thumbnail=new k({url:n.dataUrl}),this}async applyTo(e,t){this.emit("apply-slide-start"),null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=d(t,()=>i?.abort()),s=()=>{this._applyToController===i&&(this._applyToController=null),i=null,r?.remove()};try{await g(()=>e.ready,i.signal)}catch(h){throw s(),h}if(i.signal.aborted)throw s(),this.emit("apply-slide-cancel"),u();const o=e.resourceController.scheduler.registerTask(V.SLIDE);let a=!1;const l={animate:!0,...t,signal:this._applyToController.signal},p=async()=>{await Promise.all([o.schedule(async()=>a=await this._setViewpointOfInterest(e,l)),o.schedule(()=>this._applyBasemap(e,l),l.signal),o.schedule(()=>this._loadLayersWithSublayerVisibility(e))]),await Promise.all([o.schedule(()=>this._applyLayerVisibility(e),l.signal),o.schedule(()=>this._applyFocusAreaEnabled(e.map?.focusAreas.areas)),o.schedule(()=>this._applyGround(e),l.signal),o.schedule(()=>this.elements.analyses.applyTo(e),l.signal),o.schedule(()=>this._applyViewpoint(e,l),l.signal),o.schedule(()=>e.timeExtent=this.timeExtent?.clone()??null,l.signal),o.schedule(()=>e.environment.weather=this.environment.weather.clone())])},m=await n(e.addUpdatingPromise(p()));if(a&&(e.contentCamera=null),o.remove(),s(),!1===m.ok)throw this.emit("apply-slide-cancel"),m.error;return this.emit("apply-slide-complete"),this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(y(i))throw i}e.map.basemap=A(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_applyFocusAreaEnabled(e){if(e&&this.enabledFocusAreas)for(const t of e)t.enabled=this.enabledFocusAreas.includes(t.id)}_getLayers(e){const t=new s;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach(e=>{e.persistenceEnabled&&(t.add(e),"layers"in e&&this._collectLayers(e,t))})}async _loadLayersWithSublayerVisibility(e){this.visibleLayers&&await Promise.allSettled(this._getLayers(e.map).items.map(e=>{const t=this.visibleLayers.find(t=>t.id===e.id)?.sublayerIds;return t?e.load():null}))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach(e=>{const t=this.visibleLayers.find(t=>t.id===e.id);e.visible=null!=t;const i=t?.sublayerIds,n=H(e);i&&n&&n.forEach(e=>e.visible=i.includes(e.id))})}async _setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const{toCameraAsync:i}=await import("../views/3d/support/viewpointUtils.js"),n=await i(e,this.viewpoint);return e.contentCamera=n,null!=n}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){const i=this.environment.lighting;if(t.animate&&"sun"===i.type&&i.date)return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(i.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.glow=this.environment.lighting.glow,e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then(()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())}).catch(t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t}).finally(()=>{c(i)})}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[v(e.getTime()),w(3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds())]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,s]=this._getTime(n),[o,a]=this._getTime(i.date),l=Q(s,a),p=e.renderCoordsHelper,m=C();p.toRenderCoords(e.camera.position,m);const h=C(),c=C();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,h);const d=new Date;return b(()=>e.camera,e=>{p.toRenderCoords(e.position,c);const i=L(m,c),n=L(h,c);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(o-r)*a,y=X(s,w(l*a));t.date=this._setTime(d,u,y)})}write(e,t){t?.origin||(t={origin:"web-scene",...t});const i=super.write(e,t);return i?.elements&&0===Object.keys(i.elements).length&&delete i.elements,i}read(e,t){t?.origin||(t={origin:"web-scene",...t}),super.read(e,t)}static createFrom(e,t){return(new this).updateFrom(e,t)}};e([f({type:String,json:{write:{isRequired:!0}}})],G.prototype,"id",void 0),e([f({type:q,useTypeForAutocast:!1,json:{default:()=>new q({text:""}),write:{isRequired:!0}}})],G.prototype,"title",null),e([f({type:I,useTypeForAutocast:!1,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],G.prototype,"description",null),e([f({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],G.prototype,"hidden",void 0),e([f({type:k,useTypeForAutocast:!1,json:{default:()=>new k({url:""}),write:{isRequired:!0}}})],G.prototype,"thumbnail",null),e([f({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],G.prototype,"viewpoint",void 0),e([f({type:t,useTypeForAutocast:!1,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],G.prototype,"basemap",null),e([f({type:O,json:{write:!0}})],G.prototype,"ground",void 0),e([f({type:B,json:{write:!0,default:"caption"},nonNullable:!0})],G.prototype,"layout",void 0),e([f({type:N,json:{write:{isRequired:!0}}})],G.prototype,"visibleLayers",null),e([T("visibleLayers")],G.prototype,"castVisibleLayers",null),e([f({type:s.ofType(String),json:{write:!0},clonable:e=>e?new s(e.items):null})],G.prototype,"enabledFocusAreas",void 0),e([f({type:D,json:{write:!0}})],G.prototype,"environment",void 0),e([f(U)],G.prototype,"timeExtent",void 0),e([f({type:R,nonNullable:!0,json:{write:!0}})],G.prototype,"elements",void 0),G=e([_("esri.webscene.Slide")],G);const W=G;function H(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function J(e){const t=H(e);if(t)return t.filter(e=>e.visible).map(e=>e.id)}const z=w(86400),K=w(43200);function Q(e,t){let i=t-e;return i>K&&(i-=z),i<-K&&(i+=z),w(i)}function X(e,t){return w(m(e+t,z))}export{W as default};
2
+ import{__decorate as e}from"tslib";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import{ClonableMixin as r}from"../core/Clonable.js";import s from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{EventedMixin as a}from"../core/Evented.js";import{JSONSupport as l}from"../core/JSONSupport.js";import p from"../core/Logger.js";import{moduloPositive as m}from"../core/mathUtils.js";import{destroyMaybe as h,removeMaybe as c}from"../core/maybe.js";import{onAbortOrThrow as d,createAbortError as u,isAbortError as y}from"../core/promiseUtils.js";import{whenOnce as g,when as b}from"../core/reactiveUtils.js";import{Milliseconds as v,Seconds as w}from"../core/time.js";import{property as f,cast as T,subclass as _}from"../core/accessorSupport/decorators.js";import{ensureType as j}from"../core/accessorSupport/ensureType.js";import{squaredDistance as L}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as C}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import E from"../layers/Layer.js";import{basemapEnsureType as S,clonePreservingTiledLayers as A}from"../support/basemapEnsureType.js";import{TaskPriority as V}from"../views/support/Scheduler.js";import k from"../webdoc/support/SlideThumbnail.js";import{timeExtent as U}from"../webdoc/support/timeProperties.js";import x from"./SunLighting.js";import F from"./VirtualLighting.js";import I from"./support/Description.js";import R from"./support/SlideElements.js";import D from"./support/SlideEnvironment.js";import O from"./support/SlideGround.js";import P from"./support/SlideVisibleLayer.js";import q from"./support/Title.js";let M=0;const N=s.ofType(P),B=["caption","cover","none"];let G=class extends(r(a(l))){constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+M++,this.hidden=!1,this.viewpoint=null,this.ground=null,this.layout="caption",this.enabledFocusAreas=null,this.environment=new D,this.timeExtent=null,this.elements=new R,this.title=new q,this.description=new I,this.thumbnail=new k,this.visibleLayers=new N}destroy(){this.visibleLayers.removeAll(),this.enabledFocusAreas=null,this.basemap=null,this.thumbnail=h(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null,this.elements.destroy()}get title(){return this._get("title")}set title(e){e="string"==typeof e?new q({text:e}):j(q,e),this._set("title",e)}get description(){return this._get("description")}set description(e){e="string"==typeof e?new I({text:e}):j(I,e),this._set("description",e)}get thumbnail(){return this._get("thumbnail")}set thumbnail(e){e="string"==typeof e?new k({url:e}):j(k,e),this._set("thumbnail",e)}get basemap(){return this._get("basemap")}set basemap(e){this._set("basemap",S(e))}set visibleLayers(e){this._set("visibleLayers",o(e,this._get("visibleLayers"),N))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map(e=>{if("string"==typeof e)return{id:e};if(e instanceof E){const t=J(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(p.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)}):null}async _updateVisibleLayers(e){const t=[];await Promise.allSettled(this._getLayers(e.map).map(i=>e.whenLayerView(i).then(e=>{if(e.visible){const n=J(i);t.push(new P({id:e.layer.id,sublayerIds:n}))}})).toArray()),this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}async updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t?.screenshot};await e.when(),this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?F.prototype.clone.apply(e.environment.lighting):x.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.enabledFocusAreas=new s(e.focusAreasView?.enabledAreas.map(({id:e})=>e)??[]),this.basemap=e.map.basemap?.clone()||null,this.ground=e.map.ground?O.fromGround(e.map.ground):null,this.timeExtent=e.timeExtent?.clone()??null,this.elements.analyses.updateFrom(e),await this._updateVisibleLayers(e);const n=await e.takeScreenshot(i);return this.thumbnail=new k({url:n.dataUrl}),this}async applyTo(e,t){this.emit("apply-slide-start"),null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=d(t,()=>i?.abort()),s=()=>{this._applyToController===i&&(this._applyToController=null),i=null,r?.remove()};try{await g(()=>e.ready,i.signal)}catch(h){throw s(),h}if(i.signal.aborted)throw s(),this.emit("apply-slide-cancel"),u();const o=e.resourceController.scheduler.registerTask(V.SLIDE);let a=!1;const l={animate:!0,...t,signal:this._applyToController.signal},p=async()=>{await Promise.all([o.schedule(async()=>a=await this._setViewpointOfInterest(e,l)),o.schedule(()=>this._applyBasemap(e,l),l.signal),o.schedule(()=>this._loadLayersWithSublayerVisibility(e))]),await Promise.all([o.schedule(()=>this._applyLayerVisibility(e),l.signal),o.schedule(()=>this._applyFocusAreaEnabled(e.map?.focusAreas.areas)),o.schedule(()=>this._applyGround(e),l.signal),o.schedule(()=>this.elements.analyses.applyTo(e),l.signal),o.schedule(()=>this._applyViewpoint(e,l),l.signal),o.schedule(()=>e.timeExtent=this.timeExtent?.clone()??null,l.signal),o.schedule(()=>e.environment.weather=this.environment.weather.clone())])},m=await n(e.addUpdatingPromise(p()));if(a&&(e.contentCamera=null),o.remove(),s(),!1===m.ok)throw this.emit("apply-slide-cancel"),m.error;return this.emit("apply-slide-complete"),this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(y(i))throw i}e.map.basemap=A(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_applyFocusAreaEnabled(e){if(e&&this.enabledFocusAreas)for(const t of e)t.enabled=this.enabledFocusAreas.includes(t.id)}_getLayers(e){const t=new s;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach(e=>{e.persistenceEnabled&&(t.add(e),"layers"in e&&this._collectLayers(e,t))})}async _loadLayersWithSublayerVisibility(e){this.visibleLayers&&await Promise.allSettled(this._getLayers(e.map).items.map(e=>{const t=this.visibleLayers.find(t=>t.id===e.id)?.sublayerIds;return t?e.load():null}))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach(e=>{const t=this.visibleLayers.find(t=>t.id===e.id);e.visible=null!=t;const i=t?.sublayerIds,n=H(e);i&&n&&n.forEach(e=>e.visible=i.includes(e.id))})}async _setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const{toCameraAsync:i}=await(import("../views/3d/support/viewpointUtils.js")),n=await i(e,this.viewpoint);return e.contentCamera=n,null!=n}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){const i=this.environment.lighting;if(t.animate&&"sun"===i.type&&i.date)return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(i.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.glow=this.environment.lighting.glow,e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then(()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())}).catch(t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t}).finally(()=>{c(i)})}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[v(e.getTime()),w(3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds())]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,s]=this._getTime(n),[o,a]=this._getTime(i.date),l=Q(s,a),p=e.renderCoordsHelper,m=C();p.toRenderCoords(e.camera.position,m);const h=C(),c=C();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,h);const d=new Date;return b(()=>e.camera,e=>{p.toRenderCoords(e.position,c);const i=L(m,c),n=L(h,c);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(o-r)*a,y=X(s,w(l*a));t.date=this._setTime(d,u,y)})}write(e,t){t?.origin||(t={origin:"web-scene",...t});const i=super.write(e,t);return i?.elements&&0===Object.keys(i.elements).length&&delete i.elements,i}read(e,t){t?.origin||(t={origin:"web-scene",...t}),super.read(e,t)}static createFrom(e,t){return(new this).updateFrom(e,t)}};e([f({type:String,json:{write:{isRequired:!0}}})],G.prototype,"id",void 0),e([f({type:q,useTypeForAutocast:!1,json:{default:()=>new q({text:""}),write:{isRequired:!0}}})],G.prototype,"title",null),e([f({type:I,useTypeForAutocast:!1,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],G.prototype,"description",null),e([f({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],G.prototype,"hidden",void 0),e([f({type:k,useTypeForAutocast:!1,json:{default:()=>new k({url:""}),write:{isRequired:!0}}})],G.prototype,"thumbnail",null),e([f({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],G.prototype,"viewpoint",void 0),e([f({type:t,useTypeForAutocast:!1,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],G.prototype,"basemap",null),e([f({type:O,json:{write:!0}})],G.prototype,"ground",void 0),e([f({type:B,json:{write:!0,default:"caption"},nonNullable:!0})],G.prototype,"layout",void 0),e([f({type:N,json:{write:{isRequired:!0}}})],G.prototype,"visibleLayers",null),e([T("visibleLayers")],G.prototype,"castVisibleLayers",null),e([f({type:s.ofType(String),json:{write:!0},clonable:e=>e?new s(e.items):null})],G.prototype,"enabledFocusAreas",void 0),e([f({type:D,json:{write:!0}})],G.prototype,"environment",void 0),e([f(U)],G.prototype,"timeExtent",void 0),e([f({type:R,nonNullable:!0,json:{write:!0}})],G.prototype,"elements",void 0),G=e([_("esri.webscene.Slide")],G);const W=G;function H(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function J(e){const t=H(e);if(t)return t.filter(e=>e.visible).map(e=>e.id)}const z=w(86400),K=w(43200);function Q(e,t){let i=t-e;return i>K&&(i-=z),i<-K&&(i+=z),w(i)}function X(e,t){return w(m(e+t,z))}export{W as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as a}from"tslib";import t from"../../Basemap.js";import r from"../../Ground.js";import n from"../../WebScene.js";import{isLongFormType as y,Null as s,Integer as i}from"../../core/accessorSupport/ensureType.js";import{isCollection as l}from"../../core/accessorSupport/extensions/serializableProperty/type.js";import o from"../../layers/GroupLayer.js";import u from"../../layers/KMLLayer.js";import{layerTypeMapForReadContext as p}from"../../layers/support/layersMapping.js";import c from"../../layers/support/Sublayer.js";import m from"../../rest/layerSources/DynamicDataLayer.js";import f from"../../rest/layerSources/DynamicMapLayer.js";import d from"../../rest/layerSources/JoinTableDataSource.js";import L from"../InitialViewProperties.js";import{ScanContext as w,sorted as j}from"./utils.js";import{webSceneAnalysisRegistry as b}from"../support/analysisUtils.js";import S from"../support/SlideElements.js";async function g(t){const r={stack:[],error:void 0,hasError:!1};try{const a=e(r,new w,!1);return await q(null,{typeName:"json",type:t},void 0,a)}catch(n){r.error=n,r.hasError=!0}finally{a(r)}}async function v(e,a,t,r){switch(a.typeName){case"array":await M(e,a,t,r);break;case"union":await G(e,a,t,r);break;case"json":await q(e,a,t,r);break;case"native":await T(e,a,t,r);break;case"enum":await N(e,a,t,r)}}async function T(e,a,t,r){const n=t??a;r.addProperty({name:e,type:A(r,a),default:n.default,required:n.isRequired,nullable:n.nullable})}async function N(e,a,t,r){const n=t??a;r.currentClass?.typeValue&&"type"===e?r.addProperty({name:e,type:"string",enum:`"${r.currentClass.typeValue}"`,default:n.default,required:n.isRequired,nullable:n.nullable}):r.addProperty({name:e,type:A(r,a),enum:j(a.values).map(e=>"string"==typeof e?`"${e}"`:`${e}`).join("|"),default:n.default,required:n.isRequired,nullable:n.nullable})}async function M(e,a,t,r){a.elementType.isRequired=a.isRequired,await v(`${e}[]`,a.elementType,t??a.elementType,r)}function h(e,a){if("json"===e.typeName){const a=e.type.__accessorMetadata__,t=a?.type,r=t&&x(t),n=r?.type,y=n||t?.type;if(y&&Array.isArray(y)&&1===y.length&&"string"==typeof y[0])return n?y[0]:B(t,y[0])}return a}async function G(e,a,t,r){const n=[],y=t??a;for(const s of a.types)if("native"!==s.type.typeName&&a.key){const n=`${e}<${h(s.type,s.value)}>`;await v(n,s.type,t??a,r)}else n.push(s.type);if(n.length){const a=j(n.map(e=>A(r,e)));r.addProperty({type:a.join("|"),name:e,default:y.default,required:y.isRequired,nullable:y.nullable})}}async function I(e,a){return e.type===n&&"layers"===a?P("web-scene","operational-layers"):e.type===n&&"tables"===a?P("web-scene","tables"):e.type!==t||"baseLayers"!==a&&"baseMapLayers"!==a?e.type===t&&"groundLayers"===a?P("web-scene","basemap-ground-layers"):e.type===t&&"elevationLayers"===a||e.type===r&&"layers"===a?P("web-scene","ground"):e.type===o&&"layers"===a?P("web-scene","operational-layers",e=>e!==o):e.type!==S&&e.type!==L||"analyses"!==a?e.type!==d||"leftTableSource"!==a&&"rightTableSource"!==a?null:$({},{key:"type",base:null,typeMap:{"data-layer":m,"map-layer":f}}):{typeName:"array",elementType:{typeName:"union",key:"type",types:await Promise.all(Object.entries(b).map(async([e,a])=>({type:{typeName:"json",type:await a()},value:e})))}}:P("web-scene","basemap-base-layers")}async function C(e,a,t){const r=D(t),n=await I(e,a);return n?(n.isRequired=r.isRequired,n.nullable=r.nullable,n.default=r.default,n):r}async function q(e,a,t,r){const n=a.type.__accessorMetadata__,y=r.getDeclaredClass(a.type);if(!n)return e&&r.addProperty({name:e,type:"unknown"}),null;let s=y,i=null;a.layerContainerType&&(s+=`--${a.layerContainerType}`);const l=e?.match(/<([^>]+)>$/);l&&(s+=`--${l[1]}`,i=l[1]);const o=t??a;a.type===c&&(s+=`--${r.currentClass?.name}`,i=r.currentClass?.name);const u=r.seen.get(s);if(u&&e)return r.addProperty({name:e,type:u,required:o.isRequired,default:o.default,nullable:o.nullable}),u;const p={type:a.type,name:y,id:s,properties:[]};e&&(r.addProperty({name:e,type:p,required:o.isRequired,default:o.default,nullable:o.nullable}),p.typeValue=i),r.push(e,p);for(const m in n){const e=n[m],t=z(e);if(!t?.enabled)continue;if(t.layerContainerTypes&&a.layerContainerType&&!t.layerContainerTypes.includes(a.layerContainerType))continue;if(a.type===c){const e="esri/layers/TileLayer"===r.stack[r.stack.length-2].klass.name;if(e&&c.test.isMapImageLayerOverridePolicy(t.overridePolicy)||!e&&c.test.isTileImageLayerOverridePolicy(t.overridePolicy))continue}const y=t.target;if("string"==typeof y||null==y){const t=await C(a,m,e);if(!t)continue;await v("string"==typeof y?y:m,t,void 0,r)}else await k(a,y,r)}return r.pop()}async function k(e,a,t){for(const r in a){let n=await I(e,r);if(!n){const e=a[r];n=e.types?$({default:e.default,write:e},e.types):E(e.type),n.default=e.default,n.isRequired=e.isRequired,n.nullable=e.allowNull,n=V(n)}await v(r,n,void 0,t)}}async function P(e,a,t){const r={typeName:"union",key:"layerType",types:[]},n=p({origin:e,layerContainerType:a});for(const y of Object.keys(n||{})){if("operational-layers"===a&&"ArcGISTiledElevationServiceLayer"===y)continue;const e=await H[y]();e&&(t&&!t(e)||e!==u&&r.types.push({type:{typeName:"json",layerContainerType:a,type:e},value:y}))}if(0===r.types.length)return null;return{typeName:"array",elementType:1===r.types.length?r.types[0].type:r}}function A(e,a){switch(a.typeName){case"array":return`${A(e,a.elementType)}[]`;case"union":return`${j(a.types.map(a=>A(e,a.type))).join(" | ")}`;case"native":switch(a.type){case Number:return"number";case i:return"integer";case String:return"string";case Boolean:return"boolean";case Object:return"object";default:return"unknown"}case"json":return e.getDeclaredClass(a.type);case"enum":return"string"}}function O(e){const a=e.prototype.itemType?.Type;if(!a)return{typeName:"array",elementType:{typeName:"native",type:null}};if("function"==typeof a)return{typeName:"array",elementType:E(a)};if(a.typeMap){const e=[];for(const t in a.typeMap){const r=a.typeMap[t];e.push({type:E(r),value:K(r)?null:t})}return{typeName:"array",elementType:{typeName:"union",key:"string"==typeof a.key?a.key:"type",types:e}}}}function R(e){if("json"!==e.typeName)return null;const a=e.type.__accessorMetadata__,t=a?.type,r=t&&x(t),n=r?.type,y=n||t?.type;return y&&Array.isArray(y)&&"string"==typeof y[0]?n||t.type.map(e=>B(t,e)):null}function V(e){if("array"===e.typeName)return e.elementType=V(e.elementType),e;const a=R(e);return a?{typeName:"union",key:"type",nullable:e.nullable,isRequired:e.isRequired,types:a.map(a=>({value:a,type:e}))}:e}function D(e){const a=x(e);return a?.types?$(a,a.types):!a?.type&&e.types?$(a,e.types):V(W(e))}function $(e,a){if(Array.isArray(a))return{typeName:"array",elementType:$(e,a[0])};const t=[];for(const r in a.typeMap){const e=a.typeMap[r];t.push({type:E(e),value:K(e)?null:r})}return{typeName:"union",key:"string"==typeof a.key?a.key:"type",types:t,nullable:e?.write?.allowNull,isRequired:e?.write?.isRequired,default:e?.default}}function _(e){return null!=e&&e.isJSONMapWriter}function B(e,a){const t=z(e);if(t&&_(t.writer)){const e={value:""};return t.writer?.(a,e,"value"),e.value}return a}function W(e){const a=x(e),t=z(e),r=a?.type,n=E(r||e.type);return void 0!==a?.default&&"function"!=typeof a.default&&(n.default=B(e,a.default)),t?.allowNull&&(n.nullable=!0),t?.isRequired&&(n.isRequired=!0),n}function E(e){if(!e)return{typeName:"native",type:null};if(y(e))return F(e);if(Array.isArray(e)){if("string"==typeof e[0]||"number"==typeof e[0])return{typeName:"enum",values:e};if(e.length>1){const a=[];let t;for(const r of e)r!==s?a.push({type:E(r),value:null}):t=!0;return 1===a.length?{...a[0].type,nullable:t}:{typeName:"union",key:null,types:a,nullable:t}}return{typeName:"array",elementType:E(e[0])}}return l(e)?O(e):K(e)?{typeName:"native",type:e}:J(e)?{typeName:"json",type:e}:{typeName:"native",type:null}}function F(e){switch(e.type){case"native":return{typeName:"native",type:e.value};case"array":return{typeName:"array",elementType:E(e.value)};case"one-of":return{typeName:"union",key:null,types:e.values.map(e=>({type:F(e),value:null}))}}}function J(e){let a=e;for(;a;){if(a.prototype&&("esri.core.JSONSupport"===a.prototype.declaredClass||"esri.core.MultiOriginJSONSupport"===a.prototype.declaredClass))return!0;a=Object.getPrototypeOf(a)}return!1}function K(e){return e===String||e===Boolean||e===Number||e===i||e===Object||e===s}function x(e){if(!e.json)return null;const a=e.json.origins,t=e.json,r=a?.["web-scene"],n=a?.["web-document"];return r||n||t||null}function z(e){if(!e.json)return null;const a=e.json.origins,t=e.json.write,r=a?.["web-scene"]?.write,n=a?.["web-document"]?.write;return r||n||t||null}const H={ArcGISAnnotationLayer:()=>Promise.resolve(null),ArcGISDimensionLayer:async()=>(await import("../../layers/DimensionLayer.js")).default,ArcGISFeatureLayer:async()=>(await import("../../layers/FeatureLayer.js")).default,ArcGISImageServiceLayer:async()=>(await import("../../layers/ImageryLayer.js")).default,ArcGISImageServiceVectorLayer:()=>Promise.resolve(null),ArcGISMapServiceLayer:async()=>(await import("../../layers/MapImageLayer.js")).default,ArcGISSceneServiceLayer:async()=>(await import("../../layers/SceneLayer.js")).default,ArcGISStreamLayer:async()=>(await import("../../layers/StreamLayer.js")).default,ArcGISTiledElevationServiceLayer:async()=>(await import("../../layers/ElevationLayer.js")).default,ArcGISTiledImageServiceLayer:async()=>(await import("../../layers/ImageryTileLayer.js")).default,ArcGISTiledMapServiceLayer:async()=>(await import("../../layers/TileLayer.js")).default,ArcGISVideoLayer:async()=>(await import("../../layers/VideoLayer.js")).default,BingMapsAerial:async()=>(await import("../../layers/BingMapsLayer.js")).default,BingMapsRoad:async()=>(await import("../../layers/BingMapsLayer.js")).default,BingMapsHybrid:async()=>(await import("../../layers/BingMapsLayer.js")).default,BuildingSceneLayer:async()=>(await import("../../layers/BuildingSceneLayer.js")).default,CatalogLayer:async()=>(await import("../../layers/CatalogLayer.js")).default,CSV:async()=>(await import("../../layers/CSVLayer.js")).default,GaussianSplatLayer:async()=>(await import("../../layers/GaussianSplatLayer.js")).default,GeoRSS:async()=>(await import("../../layers/GeoRSSLayer.js")).default,GeoJSON:async()=>(await import("../../layers/GeoJSONLayer.js")).default,GroupLayer:async()=>(await import("../../layers/GroupLayer.js")).default,IntegratedMeshLayer:async()=>(await import("../../layers/IntegratedMeshLayer.js")).default,KML:async()=>(await import("../../layers/KMLLayer.js")).default,KnowledgeGraphLayer:async()=>(await import("../../layers/KnowledgeGraphLayer.js")).default,MediaLayer:async()=>(await import("../../layers/MediaLayer.js")).default,LineOfSightLayer:async()=>(await import("../../layers/LineOfSightLayer.js")).default,LinkChartLayer:()=>Promise.resolve(null),OGCFeatureLayer:async()=>(await import("../../layers/OGCFeatureLayer.js")).default,OpenStreetMap:async()=>(await import("../../layers/OpenStreetMapLayer.js")).default,OrientedImageryLayer:async()=>(await import("../../layers/OrientedImageryLayer.js")).default,ParquetLayer:async()=>(await import("../../layers/ParquetLayer.js")).default,PointCloudLayer:async()=>(await import("../../layers/PointCloudLayer.js")).default,VectorTileLayer:async()=>(await import("../../layers/VectorTileLayer.js")).default,ViewshedLayer:async()=>(await import("../../layers/ViewshedLayer.js")).default,Voxel:async()=>(await import("../../layers/VoxelLayer.js")).default,WCS:async()=>(await import("../../layers/WCSLayer.js")).default,WebTiledLayer:async()=>(await import("../../layers/WebTileLayer.js")).default,WFS:async()=>(await import("../../layers/WFSLayer.js")).default,SubtypeGroupLayer:async()=>(await import("../../layers/SubtypeGroupLayer.js")).default,SubtypeGroupTable:async()=>(await import("../../layers/SubtypeGroupLayer.js")).default,WMS:async()=>(await import("../../layers/WMSLayer.js")).default,RasterDataLayer:()=>Promise.resolve(null),RasterDataElevationLayer:()=>Promise.resolve(null),IntegratedMesh3DTilesLayer:async()=>(await import("../../layers/IntegratedMesh3DTilesLayer.js")).default,Object3DTilesLayer:()=>Promise.resolve(null)};export{g as scan};
2
+ import{__addDisposableResource as e,__disposeResources as a}from"tslib";import t from"../../Basemap.js";import r from"../../Ground.js";import n from"../../WebScene.js";import{isLongFormType as y,Null as s,Integer as i}from"../../core/accessorSupport/ensureType.js";import{isCollection as l}from"../../core/accessorSupport/extensions/serializableProperty/type.js";import o from"../../layers/GroupLayer.js";import u from"../../layers/KMLLayer.js";import{layerTypeMapForReadContext as p}from"../../layers/support/layersMapping.js";import c from"../../layers/support/Sublayer.js";import m from"../../rest/layerSources/DynamicDataLayer.js";import f from"../../rest/layerSources/DynamicMapLayer.js";import d from"../../rest/layerSources/JoinTableDataSource.js";import L from"../InitialViewProperties.js";import{ScanContext as w,sorted as j}from"./utils.js";import{webSceneAnalysisRegistry as b}from"../support/analysisUtils.js";import S from"../support/SlideElements.js";async function g(t){const r={stack:[],error:void 0,hasError:!1};try{const a=e(r,new w,!1);return await q(null,{typeName:"json",type:t},void 0,a)}catch(n){r.error=n,r.hasError=!0}finally{a(r)}}async function v(e,a,t,r){switch(a.typeName){case"array":await M(e,a,t,r);break;case"union":await G(e,a,t,r);break;case"json":await q(e,a,t,r);break;case"native":await T(e,a,t,r);break;case"enum":await N(e,a,t,r)}}async function T(e,a,t,r){const n=t??a;r.addProperty({name:e,type:A(r,a),default:n.default,required:n.isRequired,nullable:n.nullable})}async function N(e,a,t,r){const n=t??a;r.currentClass?.typeValue&&"type"===e?r.addProperty({name:e,type:"string",enum:`"${r.currentClass.typeValue}"`,default:n.default,required:n.isRequired,nullable:n.nullable}):r.addProperty({name:e,type:A(r,a),enum:j(a.values).map(e=>"string"==typeof e?`"${e}"`:`${e}`).join("|"),default:n.default,required:n.isRequired,nullable:n.nullable})}async function M(e,a,t,r){a.elementType.isRequired=a.isRequired,await v(`${e}[]`,a.elementType,t??a.elementType,r)}function h(e,a){if("json"===e.typeName){const a=e.type.__accessorMetadata__,t=a?.type,r=t&&x(t),n=r?.type,y=n||t?.type;if(y&&Array.isArray(y)&&1===y.length&&"string"==typeof y[0])return n?y[0]:B(t,y[0])}return a}async function G(e,a,t,r){const n=[],y=t??a;for(const s of a.types)if("native"!==s.type.typeName&&a.key){const n=`${e}<${h(s.type,s.value)}>`;await v(n,s.type,t??a,r)}else n.push(s.type);if(n.length){const a=j(n.map(e=>A(r,e)));r.addProperty({type:a.join("|"),name:e,default:y.default,required:y.isRequired,nullable:y.nullable})}}async function I(e,a){return e.type===n&&"layers"===a?P("web-scene","operational-layers"):e.type===n&&"tables"===a?P("web-scene","tables"):e.type!==t||"baseLayers"!==a&&"baseMapLayers"!==a?e.type===t&&"groundLayers"===a?P("web-scene","basemap-ground-layers"):e.type===t&&"elevationLayers"===a||e.type===r&&"layers"===a?P("web-scene","ground"):e.type===o&&"layers"===a?P("web-scene","operational-layers",e=>e!==o):e.type!==S&&e.type!==L||"analyses"!==a?e.type!==d||"leftTableSource"!==a&&"rightTableSource"!==a?null:$({},{key:"type",base:null,typeMap:{"data-layer":m,"map-layer":f}}):{typeName:"array",elementType:{typeName:"union",key:"type",types:await Promise.all(Object.entries(b).map(async([e,a])=>({type:{typeName:"json",type:await a()},value:e})))}}:P("web-scene","basemap-base-layers")}async function C(e,a,t){const r=D(t),n=await I(e,a);return n?(n.isRequired=r.isRequired,n.nullable=r.nullable,n.default=r.default,n):r}async function q(e,a,t,r){const n=a.type.__accessorMetadata__,y=r.getDeclaredClass(a.type);if(!n)return e&&r.addProperty({name:e,type:"unknown"}),null;let s=y,i=null;a.layerContainerType&&(s+=`--${a.layerContainerType}`);const l=e?.match(/<([^>]+)>$/);l&&(s+=`--${l[1]}`,i=l[1]);const o=t??a;a.type===c&&(s+=`--${r.currentClass?.name}`,i=r.currentClass?.name);const u=r.seen.get(s);if(u&&e)return r.addProperty({name:e,type:u,required:o.isRequired,default:o.default,nullable:o.nullable}),u;const p={type:a.type,name:y,id:s,properties:[]};e&&(r.addProperty({name:e,type:p,required:o.isRequired,default:o.default,nullable:o.nullable}),p.typeValue=i),r.push(e,p);for(const m in n){const e=n[m],t=z(e);if(!t?.enabled)continue;if(t.layerContainerTypes&&a.layerContainerType&&!t.layerContainerTypes.includes(a.layerContainerType))continue;if(a.type===c){const e="esri/layers/TileLayer"===r.stack[r.stack.length-2].klass.name;if(e&&c.test.isMapImageLayerOverridePolicy(t.overridePolicy)||!e&&c.test.isTileImageLayerOverridePolicy(t.overridePolicy))continue}const y=t.target;if("string"==typeof y||null==y){const t=await C(a,m,e);if(!t)continue;await v("string"==typeof y?y:m,t,void 0,r)}else await k(a,y,r)}return r.pop()}async function k(e,a,t){for(const r in a){let n=await I(e,r);if(!n){const e=a[r];n=e.types?$({default:e.default,write:e},e.types):E(e.type),n.default=e.default,n.isRequired=e.isRequired,n.nullable=e.allowNull,n=V(n)}await v(r,n,void 0,t)}}async function P(e,a,t){const r={typeName:"union",key:"layerType",types:[]},n=p({origin:e,layerContainerType:a});for(const y of Object.keys(n||{})){if("operational-layers"===a&&"ArcGISTiledElevationServiceLayer"===y)continue;const e=await H[y]();e&&(t&&!t(e)||e!==u&&r.types.push({type:{typeName:"json",layerContainerType:a,type:e},value:y}))}if(0===r.types.length)return null;return{typeName:"array",elementType:1===r.types.length?r.types[0].type:r}}function A(e,a){switch(a.typeName){case"array":return`${A(e,a.elementType)}[]`;case"union":return`${j(a.types.map(a=>A(e,a.type))).join(" | ")}`;case"native":switch(a.type){case Number:return"number";case i:return"integer";case String:return"string";case Boolean:return"boolean";case Object:return"object";default:return"unknown"}case"json":return e.getDeclaredClass(a.type);case"enum":return"string"}}function O(e){const a=e.prototype.itemType?.Type;if(!a)return{typeName:"array",elementType:{typeName:"native",type:null}};if("function"==typeof a)return{typeName:"array",elementType:E(a)};if(a.typeMap){const e=[];for(const t in a.typeMap){const r=a.typeMap[t];e.push({type:E(r),value:K(r)?null:t})}return{typeName:"array",elementType:{typeName:"union",key:"string"==typeof a.key?a.key:"type",types:e}}}}function R(e){if("json"!==e.typeName)return null;const a=e.type.__accessorMetadata__,t=a?.type,r=t&&x(t),n=r?.type,y=n||t?.type;return y&&Array.isArray(y)&&"string"==typeof y[0]?n||t.type.map(e=>B(t,e)):null}function V(e){if("array"===e.typeName)return e.elementType=V(e.elementType),e;const a=R(e);return a?{typeName:"union",key:"type",nullable:e.nullable,isRequired:e.isRequired,types:a.map(a=>({value:a,type:e}))}:e}function D(e){const a=x(e);return a?.types?$(a,a.types):!a?.type&&e.types?$(a,e.types):V(W(e))}function $(e,a){if(Array.isArray(a))return{typeName:"array",elementType:$(e,a[0])};const t=[];for(const r in a.typeMap){const e=a.typeMap[r];t.push({type:E(e),value:K(e)?null:r})}return{typeName:"union",key:"string"==typeof a.key?a.key:"type",types:t,nullable:e?.write?.allowNull,isRequired:e?.write?.isRequired,default:e?.default}}function _(e){return null!=e&&e.isJSONMapWriter}function B(e,a){const t=z(e);if(t&&_(t.writer)){const e={value:""};return t.writer?.(a,e,"value"),e.value}return a}function W(e){const a=x(e),t=z(e),r=a?.type,n=E(r||e.type);return void 0!==a?.default&&"function"!=typeof a.default&&(n.default=B(e,a.default)),t?.allowNull&&(n.nullable=!0),t?.isRequired&&(n.isRequired=!0),n}function E(e){if(!e)return{typeName:"native",type:null};if(y(e))return F(e);if(Array.isArray(e)){if("string"==typeof e[0]||"number"==typeof e[0])return{typeName:"enum",values:e};if(e.length>1){const a=[];let t;for(const r of e)r!==s?a.push({type:E(r),value:null}):t=!0;return 1===a.length?{...a[0].type,nullable:t}:{typeName:"union",key:null,types:a,nullable:t}}return{typeName:"array",elementType:E(e[0])}}return l(e)?O(e):K(e)?{typeName:"native",type:e}:J(e)?{typeName:"json",type:e}:{typeName:"native",type:null}}function F(e){switch(e.type){case"native":return{typeName:"native",type:e.value};case"array":return{typeName:"array",elementType:E(e.value)};case"one-of":return{typeName:"union",key:null,types:e.values.map(e=>({type:F(e),value:null}))}}}function J(e){let a=e;for(;a;){if(a.prototype&&("esri.core.JSONSupport"===a.prototype.declaredClass||"esri.core.MultiOriginJSONSupport"===a.prototype.declaredClass))return!0;a=Object.getPrototypeOf(a)}return!1}function K(e){return e===String||e===Boolean||e===Number||e===i||e===Object||e===s}function x(e){if(!e.json)return null;const a=e.json.origins,t=e.json,r=a?.["web-scene"],n=a?.["web-document"];return r||n||t||null}function z(e){if(!e.json)return null;const a=e.json.origins,t=e.json.write,r=a?.["web-scene"]?.write,n=a?.["web-document"]?.write;return r||n||t||null}const H={ArcGISAnnotationLayer:()=>Promise.resolve(null),ArcGISDimensionLayer:async()=>(await(import("../../layers/DimensionLayer.js"))).default,ArcGISFeatureLayer:async()=>(await(import("../../layers/FeatureLayer.js"))).default,ArcGISImageServiceLayer:async()=>(await(import("../../layers/ImageryLayer.js"))).default,ArcGISImageServiceVectorLayer:()=>Promise.resolve(null),ArcGISMapServiceLayer:async()=>(await(import("../../layers/MapImageLayer.js"))).default,ArcGISSceneServiceLayer:async()=>(await(import("../../layers/SceneLayer.js"))).default,ArcGISStreamLayer:async()=>(await(import("../../layers/StreamLayer.js"))).default,ArcGISTiledElevationServiceLayer:async()=>(await(import("../../layers/ElevationLayer.js"))).default,ArcGISTiledImageServiceLayer:async()=>(await(import("../../layers/ImageryTileLayer.js"))).default,ArcGISTiledMapServiceLayer:async()=>(await(import("../../layers/TileLayer.js"))).default,ArcGISVideoLayer:async()=>(await(import("../../layers/VideoLayer.js"))).default,BingMapsAerial:async()=>(await(import("../../layers/BingMapsLayer.js"))).default,BingMapsRoad:async()=>(await(import("../../layers/BingMapsLayer.js"))).default,BingMapsHybrid:async()=>(await(import("../../layers/BingMapsLayer.js"))).default,BuildingSceneLayer:async()=>(await(import("../../layers/BuildingSceneLayer.js"))).default,CatalogLayer:async()=>(await(import("../../layers/CatalogLayer.js"))).default,CSV:async()=>(await(import("../../layers/CSVLayer.js"))).default,GaussianSplatLayer:async()=>(await(import("../../layers/GaussianSplatLayer.js"))).default,GeoRSS:async()=>(await(import("../../layers/GeoRSSLayer.js"))).default,GeoJSON:async()=>(await(import("../../layers/GeoJSONLayer.js"))).default,GroupLayer:async()=>(await(import("../../layers/GroupLayer.js"))).default,IntegratedMeshLayer:async()=>(await(import("../../layers/IntegratedMeshLayer.js"))).default,KML:async()=>(await(import("../../layers/KMLLayer.js"))).default,KnowledgeGraphLayer:async()=>(await(import("../../layers/KnowledgeGraphLayer.js"))).default,MediaLayer:async()=>(await(import("../../layers/MediaLayer.js"))).default,LineOfSightLayer:async()=>(await(import("../../layers/LineOfSightLayer.js"))).default,LinkChartLayer:()=>Promise.resolve(null),OGCFeatureLayer:async()=>(await(import("../../layers/OGCFeatureLayer.js"))).default,OpenStreetMap:async()=>(await(import("../../layers/OpenStreetMapLayer.js"))).default,OrientedImageryLayer:async()=>(await(import("../../layers/OrientedImageryLayer.js"))).default,ParquetLayer:async()=>(await(import("../../layers/ParquetLayer.js"))).default,PointCloudLayer:async()=>(await(import("../../layers/PointCloudLayer.js"))).default,VectorTileLayer:async()=>(await(import("../../layers/VectorTileLayer.js"))).default,ViewshedLayer:async()=>(await(import("../../layers/ViewshedLayer.js"))).default,Voxel:async()=>(await(import("../../layers/VoxelLayer.js"))).default,WCS:async()=>(await(import("../../layers/WCSLayer.js"))).default,WebTiledLayer:async()=>(await(import("../../layers/WebTileLayer.js"))).default,WFS:async()=>(await(import("../../layers/WFSLayer.js"))).default,SubtypeGroupLayer:async()=>(await(import("../../layers/SubtypeGroupLayer.js"))).default,SubtypeGroupTable:async()=>(await(import("../../layers/SubtypeGroupLayer.js"))).default,WMS:async()=>(await(import("../../layers/WMSLayer.js"))).default,RasterDataLayer:()=>Promise.resolve(null),RasterDataElevationLayer:()=>Promise.resolve(null),IntegratedMesh3DTilesLayer:async()=>(await(import("../../layers/IntegratedMesh3DTilesLayer.js"))).default,Object3DTilesLayer:()=>Promise.resolve(null)};export{g as scan};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../WebScene.js";import t from"../../core/Error.js";import{getPropertiesMetadata as r}from"../../core/accessorSupport/metadata.js";import{json as n}from"../../portal/schemas/webScene.js";import{ScanContext as s,sorted as i}from"./utils.js";function a(e,t){if(t.properties){if("layerType"in t.properties)return t.properties.layerType.enum[0];if("type"in t.properties&&t.properties.type.enum)return t.properties.type.enum[0]}switch(e){case"multipoint_geometry_schema.json":return"multipoint";case"point_geometry_schema.json":return"point";case"polyline_geometry_schema.json":return"polyline";case"polygon_geometry_schema.json":return"polygon";case"extent_schema.json":return"extent"}}function o(e){return"array"===e.type?`${o(e.items)}[]`:e.type}function c(e){const t={count:e.length,refsCount:0,typesCount:0,distinctTypes:[],type:null},r=new Set;for(const n in e){const s=e[n];s.$ref?t.refsCount++:s.type&&(t.typesCount++,r.add(o(s)))}return r.forEach(e=>t.distinctTypes.push(e)),t.distinctTypes.sort(),t.refsCount===t.count?t.type="refs":2===t.count&&t.refsCount>0&&1===t.distinctTypes.length&&"null"===t.distinctTypes[0]?t.type="refsAndNull":t.typesCount===t.count?(t.type="types",t.distinctTypes=t.distinctTypes):t.type="mix",t}function l(e,t){const r=t.stack[t.stack.length-1],n=1===t.stack.length?t.schemaRoot:t.definitions[r.klass.name];return n?.required&&n.required.includes(e.replace("[]",""))}function u(e){return"array"===e.type||!("properties"in e)}function p(e,t,r){if(!r.hasFilteredProperties)return`${e}--${t}`;return`${e}--${t}--${r.filteredPropertiesArray.join("/")}`}async function f(t,n,s,i,o,c){if("version_schema.json"===t){const t=r(e.prototype),n=t.sourceVersion.json?.type;n&&(s={...s,enum:n})}o.schemaStack.push(t);const f=a(t,s),m=i?i.replace("<?TYPE?>",f?`<${f}>`:""):"";if(u(s)){const e=o.currentClass?null:{type:t,name:t,id:`${t}--${n}`,typeValue:n,properties:[]};return e&&o.push(null,e),await E(s,m,o,c),o.schemaStack.pop(),e}const h=p(t,n,o),y="drawingInfo_schema.json"!==t&&"layer_schema.json"!==t&&o.seen.get(h);if(y&&m)return o.addProperty({name:m,type:y,required:l(m,o),nullable:c?.nullable}),o.schemaStack.pop(),y;const d={type:t,name:t,id:h,typeValue:n,properties:[]};return m&&o.addProperty({name:m,type:d,required:l(m,o),nullable:c?.nullable}),o.push(m,d),await E(s,"",o),o.schemaStack.pop(),o.pop()}async function m(e,t,r,n){const s=await r.requestSchema(e.$ref),i=O(s.schema);if(i){for(const e of i){const i={...s.schema};i.properties={...i.properties,type:{type:"string",enum:[e]}};const a=t&&!t.includes("<?TYPE?>")?`${t}<?TYPE?>`:t;await f(s.schemaId,e,i,a,r,n)}return}const a="layer_schema.json"===s.schemaId&&r.schemaStack.length?r.schemaStack[r.schemaStack.length-1].replace(/_schema\.json/,""):null;await f(s.schemaId,a,s.schema,t,r,n)}function h(e,t){if(!d(e))return!1;const r=e.stack.map(e=>e.klass.type).join("/");return/.*pointCloudLayer_schema\.json\/layerDefinition_schema\.json\/drawingInfo_schema\.json$/.test(r)&&"renderer"===t}function y(e,t){if(!_(e)&&!j(e))return!1;const r=e.stack.map(e=>e.klass.type).join("/");return(/.*(imageServiceLayer|tiledImageServiceLayer|wcsLayer)_schema\.json\/(layerDefinition|rasterLayerDefinition)_schema\.json\/rasterDrawingInfo_schema\.json$/.test(r)||/.*rasterPresetRenderer_schema\.json$/.test(r))&&"renderer"===t}function d(e){return!!e.currentClass&&"drawingInfo_schema.json"===e.currentClass.name}function _(e){return!!e.currentClass&&"rasterDrawingInfo_schema.json"===e.currentClass.name}function j(e){return!!e.currentClass&&"rasterPresetRenderer_schema.json"===e.currentClass.name}function w(e){switch(e.schemaStack[e.schemaStack.length-1]){case"operationalLayers_schema.json":case"elevationLayers_schema.json":case"baseMapLayer_schema.json":return!0}return!1}const $=/raster.*Renderer|vectorFieldRenderer/,g=/(uniqueValueRenderer|classBreaksRenderer|raster.*Renderer|vectorFieldRenderer)/,P=/(rasterUniqueValueRenderer|rasterClassBreaksRenderer)/;function S(e,t,r){if(d(r)||_(r)||j(r)){const n=h(r,t),s=y(r,t);return e.filter(e=>{if(e.$ref.endsWith("uniqueValueFromStyleRenderer_schema.json"))return!1;if(s)return g.test(e.$ref)&&!P.test(e.$ref);if($.test(e.$ref))return!1;const t=/pointCloud.*Renderer/.test(e.$ref);return n===t})}if(w(r)){const t=["kmlLayer","rasterDataElevationLayer","rasterDataLayer","object3DTilesLayer"];return e.filter(e=>!t.some(t=>e.$ref.replace(/.*\//,"")===`${t}_schema.json`))}return e}async function b(e,t,r){await E(e.items,`${t}[]`,r)}async function k(e,t,r){for(const n in e.properties)if(!("webscene_schema.json"===r.currentClass?.name&&"mapRangeInfo"===n||"baseMap_schema.json"===r.currentClass?.name&&"elevationLayers"===n)){if(d(r)){const e=r.stack.map(e=>e.klass.type).join("/");if(/imageServiceLayer|tiledImageServiceLayer/.test(e)&&"transparency"===n)continue}await r.withFilter(n,async()=>{const s=t?`${t}.${n}`:n;await E(e.properties[n],s,r)})}}function R(e,t="",r=new Set){for(const n of e)if("properties"in n)for(const e in n.properties){const s=n.properties[e],i=t?`${t}.${e}`:e,a=Object.keys(s);if(0===a.length||1===a.length&&"$ref"===a[0])r.add(i);else{if(1!==a.length||"allOf"!==a[0])throw new Error(`unexpected allOf filter construct: ${JSON.stringify(s)}`);r.add(i),R(s.allOf,i,r)}}return r}async function C(e,t,r){let n=null;for(const i of e.allOf)if("$ref"in i){if(n)throw new Error("Cannot process more than 1 ref in an allOf construct");n=i}else if(!("properties"in i))throw new Error("allOf construct only allows simple top-level property filters");const s=R(e.allOf);await r.addFilter(s,()=>m(n,t,r))}async function L(e,t,r){const n=c(e.oneOf),s="refsAndNull"===n.type;if("refs"===n.type||s){const n=S(e.oneOf,t,r);for(const e of n)if(s&&"null"===e.type);else{const i=`${t||""}`+(1!==n.length?"<?TYPE?>":"");await E(e,i,r,{nullable:s})}return}if("types"===n.type){const{types:e,nullable:s}=q(n.distinctTypes);return void r.addProperty({name:t,type:i(e).join("|"),required:l(t,r),nullable:s})}for(const i in e.oneOf){const n=`.oneOf[${i}]`;await E(e.oneOf[i],`${t}${n}`,r)}}function q(e){const t=e.indexOf("null");if(-1===t)return{types:e};const r=e.slice();return r.splice(t,1),{types:r,nullable:!0}}function O(e){if("layerDefinition"===e.title)return null;const t=e.properties?.type;return t?.enum?t.enum:null}async function T(e,t,r,n){await m(e,t,r,n)}async function v(e,t,r){let n,s="unknown";if(e.type){const{types:t,nullable:r}=q(Array.isArray(e.type)?e.type:e.type.replaceAll(" ","").split(","));s=i(t).join("|"),n=r}const a={name:t,type:s,default:e.default,required:l(t,r),nullable:n};e.enum&&(a.enum=i(e.enum).map(e=>"string"==typeof e?`"${e}"`:`${e}`).join("|")),r.addProperty(a)}async function E(e,t,r,n){return"array"===e.type?b(e,t,r):"properties"in e?k(e,t,r):"allOf"in e?C(e,t,r):"oneOf"in e?L(e,t,r):"$ref"in e?T(e,t,r,n):v(e,t,r)}const I="#/definitions/";function F(e){return e.startsWith(I)?e.slice(I.length):e}async function D(e,t){const r=await x.create(e,t);return f(`${e||"webscene"}_schema.json`,null,r.schemaRoot,null,r)}class x extends s{constructor(e,t,r){super(),this.definitions=e,this.schemaRoot=t,this.requestSchema=r,this._filteredProperties=null,this.schemaStack=[],this.requestSchema.bind(this)}get hasFilteredProperties(){return(this._filteredProperties?.size??0)>0}get filteredPropertiesArray(){const e=[];return this._filteredProperties?.forEach(t=>e.push(t)),e}async withFilter(e,t){if(!this.hasFilteredProperties)return t();if(!this._filteredProperties?.has(e))return;const r=this._filteredProperties;this._filteredProperties=null;const n=e=>{this._filteredProperties||(this._filteredProperties=new Set),this._filteredProperties.add(e)};r.forEach(t=>{const r=t.split(".",2);r.length>1&&r[0]===e&&n(r[1])}),await t(),this._filteredProperties=r}async addFilter(e,t){const r=this._filteredProperties;this._filteredProperties=null;const n=e=>{this._filteredProperties||(this._filteredProperties=new Set),this._filteredProperties.add(e)};r&&r.forEach(n),e&&e.forEach(n);const s=await t();return this._filteredProperties=r,s}static async create(e,t){return t?.useRemoteSchema?x.createRemote(e,t?.baseUrl):x.createLocal(e)}static createLocal(e){const t=e&&"webscene"!==e?n.definitions[`${e}_schema.json`]:n;return new x(n.definitions,t,x._getLocalSchemaRequest())}static async createRemote(e,t){const r=await x._getRemoteSchemaRequest(t),n=new x({},null,r),s=(await n.requestSchema(`${e||"webscene"}_schema.json`)).schema;return new x(n.definitions,s,r)}static _getLocalSchemaRequest(){return function(e){const r=F(e),n=this.definitions[r];return n?Promise.resolve({schemaId:r,schema:n}):Promise.reject(new t("spec-certification:spec-invalid-local-schema","Schema reference is not a local reference"))}}static async _getRemoteSchemaRequest(e){if(!e)return Promise.reject(new t("spec-certification:spec-missing-base-url","The base url of the remote schema directory must be specified when using a remote schema"));const r=x._getLocalSchemaRequest(),n=(await import("../../request.js")).default;return function(t){return r.call(this,t).catch(()=>n(`${e}/${t}`,{responseType:"json"}).then(e=>(this.definitions[F(t)]=e.data,{schemaId:t,schema:e.data})))}}}const A=Object.keys(n.definitions).map(e=>e.replace(/_schema\.json$/,""));export{D as scan,A as schemaDefinitions};
2
+ import e from"../../WebScene.js";import t from"../../core/Error.js";import{getPropertiesMetadata as r}from"../../core/accessorSupport/metadata.js";import{json as n}from"../../portal/schemas/webScene.js";import{ScanContext as s,sorted as i}from"./utils.js";function a(e,t){if(t.properties){if("layerType"in t.properties)return t.properties.layerType.enum[0];if("type"in t.properties&&t.properties.type.enum)return t.properties.type.enum[0]}switch(e){case"multipoint_geometry_schema.json":return"multipoint";case"point_geometry_schema.json":return"point";case"polyline_geometry_schema.json":return"polyline";case"polygon_geometry_schema.json":return"polygon";case"extent_schema.json":return"extent"}}function o(e){return"array"===e.type?`${o(e.items)}[]`:e.type}function c(e){const t={count:e.length,refsCount:0,typesCount:0,distinctTypes:[],type:null},r=new Set;for(const n in e){const s=e[n];s.$ref?t.refsCount++:s.type&&(t.typesCount++,r.add(o(s)))}return r.forEach(e=>t.distinctTypes.push(e)),t.distinctTypes.sort(),t.refsCount===t.count?t.type="refs":2===t.count&&t.refsCount>0&&1===t.distinctTypes.length&&"null"===t.distinctTypes[0]?t.type="refsAndNull":t.typesCount===t.count?(t.type="types",t.distinctTypes=t.distinctTypes):t.type="mix",t}function l(e,t){const r=t.stack[t.stack.length-1],n=1===t.stack.length?t.schemaRoot:t.definitions[r.klass.name];return n?.required&&n.required.includes(e.replace("[]",""))}function u(e){return"array"===e.type||!("properties"in e)}function p(e,t,r){if(!r.hasFilteredProperties)return`${e}--${t}`;return`${e}--${t}--${r.filteredPropertiesArray.join("/")}`}async function f(t,n,s,i,o,c){if("version_schema.json"===t){const t=r(e.prototype),n=t.sourceVersion.json?.type;n&&(s={...s,enum:n})}o.schemaStack.push(t);const f=a(t,s),m=i?i.replace("<?TYPE?>",f?`<${f}>`:""):"";if(u(s)){const e=o.currentClass?null:{type:t,name:t,id:`${t}--${n}`,typeValue:n,properties:[]};return e&&o.push(null,e),await E(s,m,o,c),o.schemaStack.pop(),e}const h=p(t,n,o),y="drawingInfo_schema.json"!==t&&"layer_schema.json"!==t&&o.seen.get(h);if(y&&m)return o.addProperty({name:m,type:y,required:l(m,o),nullable:c?.nullable}),o.schemaStack.pop(),y;const d={type:t,name:t,id:h,typeValue:n,properties:[]};return m&&o.addProperty({name:m,type:d,required:l(m,o),nullable:c?.nullable}),o.push(m,d),await E(s,"",o),o.schemaStack.pop(),o.pop()}async function m(e,t,r,n){const s=await r.requestSchema(e.$ref),i=O(s.schema);if(i){for(const e of i){const i={...s.schema};i.properties={...i.properties,type:{type:"string",enum:[e]}};const a=t&&!t.includes("<?TYPE?>")?`${t}<?TYPE?>`:t;await f(s.schemaId,e,i,a,r,n)}return}const a="layer_schema.json"===s.schemaId&&r.schemaStack.length?r.schemaStack[r.schemaStack.length-1].replace(/_schema\.json/,""):null;await f(s.schemaId,a,s.schema,t,r,n)}function h(e,t){if(!d(e))return!1;const r=e.stack.map(e=>e.klass.type).join("/");return/.*pointCloudLayer_schema\.json\/layerDefinition_schema\.json\/drawingInfo_schema\.json$/.test(r)&&"renderer"===t}function y(e,t){if(!_(e)&&!j(e))return!1;const r=e.stack.map(e=>e.klass.type).join("/");return(/.*(imageServiceLayer|tiledImageServiceLayer|wcsLayer)_schema\.json\/(layerDefinition|rasterLayerDefinition)_schema\.json\/rasterDrawingInfo_schema\.json$/.test(r)||/.*rasterPresetRenderer_schema\.json$/.test(r))&&"renderer"===t}function d(e){return!!e.currentClass&&"drawingInfo_schema.json"===e.currentClass.name}function _(e){return!!e.currentClass&&"rasterDrawingInfo_schema.json"===e.currentClass.name}function j(e){return!!e.currentClass&&"rasterPresetRenderer_schema.json"===e.currentClass.name}function w(e){switch(e.schemaStack[e.schemaStack.length-1]){case"operationalLayers_schema.json":case"elevationLayers_schema.json":case"baseMapLayer_schema.json":return!0}return!1}const $=/raster.*Renderer|vectorFieldRenderer/,g=/(uniqueValueRenderer|classBreaksRenderer|raster.*Renderer|vectorFieldRenderer)/,P=/(rasterUniqueValueRenderer|rasterClassBreaksRenderer)/;function S(e,t,r){if(d(r)||_(r)||j(r)){const n=h(r,t),s=y(r,t);return e.filter(e=>{if(e.$ref.endsWith("uniqueValueFromStyleRenderer_schema.json"))return!1;if(s)return g.test(e.$ref)&&!P.test(e.$ref);if($.test(e.$ref))return!1;const t=/pointCloud.*Renderer/.test(e.$ref);return n===t})}if(w(r)){const t=["kmlLayer","rasterDataElevationLayer","rasterDataLayer","object3DTilesLayer"];return e.filter(e=>!t.some(t=>e.$ref.replace(/.*\//,"")===`${t}_schema.json`))}return e}async function b(e,t,r){await E(e.items,`${t}[]`,r)}async function k(e,t,r){for(const n in e.properties)if(!("webscene_schema.json"===r.currentClass?.name&&"mapRangeInfo"===n||"baseMap_schema.json"===r.currentClass?.name&&"elevationLayers"===n)){if(d(r)){const e=r.stack.map(e=>e.klass.type).join("/");if(/imageServiceLayer|tiledImageServiceLayer/.test(e)&&"transparency"===n)continue}await r.withFilter(n,async()=>{const s=t?`${t}.${n}`:n;await E(e.properties[n],s,r)})}}function R(e,t="",r=new Set){for(const n of e)if("properties"in n)for(const e in n.properties){const s=n.properties[e],i=t?`${t}.${e}`:e,a=Object.keys(s);if(0===a.length||1===a.length&&"$ref"===a[0])r.add(i);else{if(1!==a.length||"allOf"!==a[0])throw new Error(`unexpected allOf filter construct: ${JSON.stringify(s)}`);r.add(i),R(s.allOf,i,r)}}return r}async function C(e,t,r){let n=null;for(const i of e.allOf)if("$ref"in i){if(n)throw new Error("Cannot process more than 1 ref in an allOf construct");n=i}else if(!("properties"in i))throw new Error("allOf construct only allows simple top-level property filters");const s=R(e.allOf);await r.addFilter(s,()=>m(n,t,r))}async function L(e,t,r){const n=c(e.oneOf),s="refsAndNull"===n.type;if("refs"===n.type||s){const n=S(e.oneOf,t,r);for(const e of n)if(s&&"null"===e.type);else{const i=`${t||""}`+(1!==n.length?"<?TYPE?>":"");await E(e,i,r,{nullable:s})}return}if("types"===n.type){const{types:e,nullable:s}=q(n.distinctTypes);return void r.addProperty({name:t,type:i(e).join("|"),required:l(t,r),nullable:s})}for(const i in e.oneOf){const n=`.oneOf[${i}]`;await E(e.oneOf[i],`${t}${n}`,r)}}function q(e){const t=e.indexOf("null");if(-1===t)return{types:e};const r=e.slice();return r.splice(t,1),{types:r,nullable:!0}}function O(e){if("layerDefinition"===e.title)return null;const t=e.properties?.type;return t?.enum?t.enum:null}async function T(e,t,r,n){await m(e,t,r,n)}async function v(e,t,r){let n,s="unknown";if(e.type){const{types:t,nullable:r}=q(Array.isArray(e.type)?e.type:e.type.replaceAll(" ","").split(","));s=i(t).join("|"),n=r}const a={name:t,type:s,default:e.default,required:l(t,r),nullable:n};e.enum&&(a.enum=i(e.enum).map(e=>"string"==typeof e?`"${e}"`:`${e}`).join("|")),r.addProperty(a)}async function E(e,t,r,n){return"array"===e.type?b(e,t,r):"properties"in e?k(e,t,r):"allOf"in e?C(e,t,r):"oneOf"in e?L(e,t,r):"$ref"in e?T(e,t,r,n):v(e,t,r)}const I="#/definitions/";function F(e){return e.startsWith(I)?e.slice(I.length):e}async function D(e,t){const r=await x.create(e,t);return f(`${e||"webscene"}_schema.json`,null,r.schemaRoot,null,r)}class x extends s{constructor(e,t,r){super(),this.definitions=e,this.schemaRoot=t,this.requestSchema=r,this._filteredProperties=null,this.schemaStack=[],this.requestSchema.bind(this)}get hasFilteredProperties(){return(this._filteredProperties?.size??0)>0}get filteredPropertiesArray(){const e=[];return this._filteredProperties?.forEach(t=>e.push(t)),e}async withFilter(e,t){if(!this.hasFilteredProperties)return t();if(!this._filteredProperties?.has(e))return;const r=this._filteredProperties;this._filteredProperties=null;const n=e=>{this._filteredProperties||(this._filteredProperties=new Set),this._filteredProperties.add(e)};r.forEach(t=>{const r=t.split(".",2);r.length>1&&r[0]===e&&n(r[1])}),await t(),this._filteredProperties=r}async addFilter(e,t){const r=this._filteredProperties;this._filteredProperties=null;const n=e=>{this._filteredProperties||(this._filteredProperties=new Set),this._filteredProperties.add(e)};r&&r.forEach(n),e&&e.forEach(n);const s=await t();return this._filteredProperties=r,s}static async create(e,t){return t?.useRemoteSchema?x.createRemote(e,t?.baseUrl):x.createLocal(e)}static createLocal(e){const t=e&&"webscene"!==e?n.definitions[`${e}_schema.json`]:n;return new x(n.definitions,t,x._getLocalSchemaRequest())}static async createRemote(e,t){const r=await x._getRemoteSchemaRequest(t),n=new x({},null,r),s=(await n.requestSchema(`${e||"webscene"}_schema.json`)).schema;return new x(n.definitions,s,r)}static _getLocalSchemaRequest(){return function(e){const r=F(e),n=this.definitions[r];return n?Promise.resolve({schemaId:r,schema:n}):Promise.reject(new t("spec-certification:spec-invalid-local-schema","Schema reference is not a local reference"))}}static async _getRemoteSchemaRequest(e){if(!e)return Promise.reject(new t("spec-certification:spec-missing-base-url","The base url of the remote schema directory must be specified when using a remote schema"));const r=x._getLocalSchemaRequest(),n=(await(import("../../request.js"))).default;return function(t){return r.call(this,t).catch(()=>n(`${e}/${t}`,{responseType:"json"}).then(e=>(this.definitions[F(t)]=e.data,{schemaId:t,schema:e.data})))}}}const A=Object.keys(n.definitions).map(e=>e.replace(/_schema\.json$/,""));export{D as scan,A as schemaDefinitions};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../analysis/support/AnalysisOriginWebScene.js";import s from"../../core/Collection.js";import{castForReferenceSetter as i,referenceSetter as n}from"../../core/collectionUtils.js";import{subclass as o}from"../../core/accessorSupport/decorators.js";const r=["slice"];let a=class extends s{constructor(e){super(e),this.addHandles([this.on("after-add",e=>{this._setOrigin(e.item)}),this.on("before-remove",e=>{const{origin:t}=e.item;"web-scene"===t?.type&&this._setOrigin(e.item,null)})])}initialize(){for(const e of this.items)this._setOrigin(e)}_setOrigin(e,s=new t){e.origin=s}updateFrom(e){const s=e.analyses.filter(e=>c(e));this.removeAll(),s.length&&this.addMany(s.map(e=>(e.origin=new t,e.clone())))}applyTo(e){e.analyses.destroyMany(e.analyses.filter(({origin:e})=>"web-scene"===e?.type)),e.analyses.addMany(this.map(e=>e.clone()))}toJSON(e){return this.items.filter(c).map(t=>t.toJSON(e))}};function l(e){return{type:a,cast:i,clonable:e=>new a({items:e.items.map(e=>e.clone())}),set(t){this._set(e,n(t,this._get(e),a))},json:{read(t,s,i){i?.hooks?.onAfterLoad(()=>m(this[e],t,i))},write:{overridePolicy:e=>({enabled:e.length>0})}}}}function c(e){return r.includes(e.type)&&e.valid}async function m(e,t,s){if(!t)return;const i=await Promise.allSettled(t.map(e=>p(e,s)));for(const n of i)"fulfilled"===n.status&&e.add(n.value)}async function p(e,t){const s=new(await d[e.type]());return s.read(e,t),s}a=e([o("esri.webscene.support.analysisUtils.WebSceneAnalysesCollection")],a);const d={slice:async()=>{const{default:e}=await import("../../analysis/SliceAnalysis.js");return e}};export{a as WebSceneAnalysesCollection,l as webSceneAnalysisCollectionProperty,d as webSceneAnalysisRegistry};
2
+ import{__decorate as e}from"tslib";import t from"../../analysis/support/AnalysisOriginWebScene.js";import s from"../../core/Collection.js";import{castForReferenceSetter as i,referenceSetter as n}from"../../core/collectionUtils.js";import{subclass as o}from"../../core/accessorSupport/decorators.js";const r=["slice"];let a=class extends s{constructor(e){super(e),this.addHandles([this.on("after-add",e=>{this._setOrigin(e.item)}),this.on("before-remove",e=>{const{origin:t}=e.item;"web-scene"===t?.type&&this._setOrigin(e.item,null)})])}initialize(){for(const e of this.items)this._setOrigin(e)}_setOrigin(e,s=new t){e.origin=s}updateFrom(e){const s=e.analyses.filter(e=>c(e));this.removeAll(),s.length&&this.addMany(s.map(e=>(e.origin=new t,e.clone())))}applyTo(e){e.analyses.destroyMany(e.analyses.filter(({origin:e})=>"web-scene"===e?.type)),e.analyses.addMany(this.map(e=>e.clone()))}toJSON(e){return this.items.filter(c).map(t=>t.toJSON(e))}};function l(e){return{type:a,cast:i,clonable:e=>new a({items:e.items.map(e=>e.clone())}),set(t){this._set(e,n(t,this._get(e),a))},json:{read(t,s,i){i?.hooks?.onAfterLoad(()=>m(this[e],t,i))},write:{overridePolicy:e=>({enabled:e.length>0})}}}}function c(e){return r.includes(e.type)&&e.valid}async function m(e,t,s){if(!t)return;const i=await Promise.allSettled(t.map(e=>p(e,s)));for(const n of i)"fulfilled"===n.status&&e.add(n.value)}async function p(e,t){const s=new(await d[e.type]());return s.read(e,t),s}a=e([o("esri.webscene.support.analysisUtils.WebSceneAnalysesCollection")],a);const d={slice:async()=>{const{default:e}=await(import("../../analysis/SliceAnalysis.js"));return e}};export{a as WebSceneAnalysesCollection,l as webSceneAnalysisCollectionProperty,d as webSceneAnalysisRegistry};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Collection.js";import{deprecateWidget as i}from"../core/deprecate.js";import{IdentifiableMixin as s}from"../core/Identifiable.js";import o from"../core/Logger.js";import l from"../core/ReactiveMap.js";import{on as r,initial as a,watch as n,syncAndInitial as d}from"../core/reactiveUtils.js";import{property as c,subclass as p}from"../core/accessorSupport/decorators.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as g}from"./BasemapLayerList/css.js";import f from"./LayerList/LayerListItem.js";import y from"./LayerList/ListItem.js";import{minFilterItems as _,getItem as b,getLayerType as L,removeDestroyedListItems as v,setFilterPredicate as I,sortLayersToIds as w,sortChildLayersToIds as F}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as E}from"./support/componentsUtils.js";import{globalCss as C}from"./support/globalCss.js";import{incrementHeadingLevel as T}from"./support/Heading.js";import{calciteListFilterProps as M}from"./support/listUtils.js";import{tsx as P,messageBundle as O,vmEvent as A}from"./support/widget.js";import{setFocus as B}from"./support/widgetUtils.js";const R=t.ofType(y),k="nested",D=".*\\S+.*",j="data-basemap-layer-type";let x=class extends(s(m)){constructor(e,s){super(e,s),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new l,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder="",this.baseFilterPredicate=null,this.baseFilterText="",this.referenceFilterPredicate=null,this.referenceFilterText="",this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t(["knowledge-graph"]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=_,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new R,this.selectionMode="none",this.tileOptions=null,this.viewModel=new h,this.visibilityAppearance="default",this.visibleElements=new u,this._canMove=({dragEl:e,fromEl:t,toEl:i},s)=>{const o="pull"===s?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,l=b(e);if(!l?.sortable)return!1;const r=b(t),a=L(t),n=b(i),d=L(i),c=!!a&&!!d&&a===d,p={selected:l,from:r,to:n},m=t.group,h=i.group,u=r?.layer?.type??"",g=n?.layer?.type??"",f=new Set(["map-image","catalog","knowledge-graph"]),y="sublayer";return m&&h&&"function"==typeof o?o.call(null,p):c&&!f.has(u)&&!f.has(g)&&l?.layer?.type!==y},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if("default"!==this.visibilityAppearance)return;const t=Array.from(e.composedPath()).find(e=>e.classList?.contains(g.item));this._activeItem=b(t)},this._onCalciteListOrderChange=e=>{const{_lastDragDetail:t}=this,{toEl:i,fromEl:s,dragEl:o,newIndex:l}=e;if(!s||!i||t?.newIndex===l&&t?.dragEl===o&&t?.toEl===i&&t?.fromEl===s)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=o.value;const r=s,a=i;if(r===a){const e=Array.from(s.children).filter(e=>e?.matches("calcite-list-item")).map(e=>e.value);return void this._sortLayers(r,e)}null!=l&&this._moveLayerFromChildList({toEl:a,fromEl:r,dragEl:o,newIndex:l})},this.announceDeprecation=()=>{i(o.getLogger(this),"Basemap Layer List","arcgis-basemap-layer-list",{version:"5.0"})}}initialize(){this.addHandles([r(()=>this.openedLayers,"change",()=>this._handleOpenedLayersChange(),a),n(()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()],()=>v(this.selectedItems),d),n(()=>[this.baseFilterPredicate,this._baseListEl],()=>I(this._baseListEl,this.baseFilterPredicate)),n(()=>[this.referenceFilterPredicate,this._referenceListEl],()=>I(this._referenceListEl,this.referenceFilterPredicate))])}loadDependencies(){return E({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _visibleReferenceItems(){return this.referenceItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten(e=>e.children).filter(({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled)}get _totalBaseItems(){return this.viewModel.baseItems.flatten(e=>e.children.filter(e=>"catalog-dynamic-group"!==e.layer?.type)).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten(e=>e.children.filter(e=>"catalog-dynamic-group"!==e.layer?.type)).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){const{openedLayers:e}=this;return e.toArray().map((t,i)=>this._renderLayerFlowItem(t,i===e.length-1))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return"layers"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[C.hidden]:"loading"===e,[C.disabled]:"disabled"===e};return P("div",{class:this.classes(g.base,C.widget,C.panel,t)},this._renderItems())}async _createCatalogLayerList(e){const{default:t}=await import("./CatalogLayerList.js"),{headingLevel:i,catalogOptions:s,view:o,filterPlaceholder:l,minFilterItems:r,selectionMode:a,visibilityAppearance:n,_onCatalogOpen:d,_onTablesOpen:c,layerTablesEnabled:p}=this;return new t({headingLevel:i,view:o,filterPlaceholder:l,minFilterItems:r,selectionMode:a,visibilityAppearance:n,...s,catalogLayer:e,layerTablesEnabled:p,onCatalogOpen:d,onTablesOpen:c})}_getTableListParams(e){switch(e.type){case"knowledge-graph":return{...this.knowledgeGraphOptions,tables:e.tables};case"map-image":return{...this.mapImageOptions,tables:e.subtables};case"tile":return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){const{default:t}=await import("./TableList.js"),{headingLevel:i,selectionMode:s,dragEnabled:o}=this;return new t({headingLevel:i,selectionMode:s,dragEnabled:o,...this._getTableListParams(e)})}async _createFlowList(e,t){const{_layerListMap:i}=this,s=i.get(e);if(s)return s;const o="catalog"===e.type?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||i.set(e,o),o}async _handleOpenedLayersChange(){const{_layerListMap:e,openedLayers:t,openedLayerLists:i}=this;this._openedLayersController?.abort();const s=new AbortController,{signal:o}=s;this._openedLayersController=s,e.forEach((i,s)=>{t.includes(s)||(i.destroy(),e.delete(s))});const l=await Promise.all(t.map(e=>this._createFlowList(e,o)));if(o.aborted)return;i.removeAll(),i.addMany(l);const r=i.at(-1);r?"catalogLayer"in r?(this._set("catalogLayerList",r),this._set("tableList",null)):(this._set("catalogLayerList",null),this._set("tableList",r)):(this._set("catalogLayerList",null),this._set("tableList",null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?P("calcite-tooltip",{key:`tooltip-${e.layer?.uid}`,overlayPositioning:"fixed",referenceElement:this._tooltipReferenceMap.get(e.layer?.uid),topLayerDisabled:this.topLayerDisabled},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter(e=>!e.hidden).toArray().map(e=>this._renderItemTooltipNodes(e))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map(e=>this._renderItemTooltipNodes(e))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,B(e))}_renderPanelFlowItems(){const{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map(({title:i,panel:s},o)=>{const l=()=>this._handlePanelFlowItemBack(s);return P("calcite-flow-item",{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:i,heading:s.title,headingLevel:this.headingLevel,key:`flow-panel-${s.uid}`,selected:!t.length&&o===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),l()}},s.render(),P("calcite-button",{appearance:"transparent",slot:"footer-start",width:"full",onclick:l},this.messagesCommon.back))})}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,B(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,B(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,B(e))}_renderItem(e,t,i,s){return P(f,{activeItem:this._activeItem,canMove:this._canMove,css:g,displayMode:k,dragDisabled:t,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:i,parentTitles:s,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:i,newIndex:s}){const o=b(i),l=b(e),r=b(t),a=N(t),n=N(e);a&&n&&this.viewModel.moveListItem({targetItem:o,fromParentItem:r,toParentItem:l,newIndex:s,from:a,to:n})}_handleCalciteListDragEnd({fromEl:e,dragEl:t,oldIndex:i}){null!=i&&e.insertBefore(t,e.children[i])}_sortLayers(e,t){if(e)if(e===this._referenceListEl||e===this._baseListEl){const i=e===this._referenceListEl?"reference":"base",s="base"===i?this.view?.map?.basemap?.baseLayers:"reference"===i?this.view?.map?.basemap?.referenceLayers:null;w(s,t)}else{const i=b(e);if(!i)return;F(i,t)}}_handleCalciteListChange(e){const{selectionMode:t,selectedItems:i}=this;if("none"===t)return;const s=e.target.selectedItems.map(e=>b(e)).filter(Boolean);i.removeAll(),i.addMany(s)}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return P("div",{class:g.editing},P("calcite-label",null,e.basemapTitle,P("calcite-input",{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:"basemaptitle",pattern:D,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:"text",value:t??void 0})))}_renderCancelButton(){const{messagesCommon:{cancel:e}}=this;return P("calcite-button",{appearance:"outline",bind:this,label:e,slot:"footer",title:e,width:"full",onclick:this._toggleEditingTitle},e)}_renderSubmitButton(){const{messagesCommon:e}=this;return P("calcite-button",{label:e.form.submit,slot:"footer",title:e.form.submit,type:"submit",width:"full"},e.form.ok)}_renderEditingForm(){return this.editingTitle?P("form",{bind:this,class:g.editingForm,onsubmit:this._formSubmit},P("calcite-flow-item",{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton())):null}_renderEditTitleButton(){const{editingTitle:e,visibleElements:t,messagesCommon:i}=this,s=i.edit;return t.editTitleButton&&!e?P("calcite-action",{bind:this,icon:"pencil",slot:"header-actions-end",text:s,title:s,onclick:this._toggleEditingTitle}):null}_renderNoLayersInfoMessage(e){return P("div",{slot:"message"},e)}_renderNoLayersInfo(e,t){return P("div",{class:g.itemMessage},P("calcite-notice",{icon:"information",key:t,kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(e)))}_renderItems(){const{collapsed:e,visible:t,visibleElements:{closeButton:i,collapseButton:s,heading:o,flow:l},messages:r,viewModel:a}=this,n=[P("calcite-flow-item",{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:i,closed:!t,collapsed:e,collapsible:s,heading:o?a.basemapTitle??r.widgetLabel:void 0,headingLevel:this.headingLevel,key:"root-flow-item",selected:!this.editingTitle&&0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingForm(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems];return t?[l?P("calcite-flow",{key:"root-flow"},n):n,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){const{messages:i,openedLayers:s}=this,o=e.title||this.messages.untitledLayer;return P("calcite-flow-item",{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:o,heading:i["catalog"===e.type?"catalogLayers":"tables"],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),s.pop();const t=s.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,i){const{messages:s,dragEnabled:o,selectionMode:l,filterPlaceholder:r,baseFilterText:a,referenceFilterText:n,_baseFilterEnabled:d,_referenceFilterEnabled:c,_rootGroupUid:p}=this,m="reference"===t?s.noReferenceLayers:s.noBaseLayers,h="reference"===t?c:d;return P("calcite-block",{class:g.section,collapsible:!0,expanded:!0,heading:"reference"===t?s.referenceHeading:s.baseHeading,headingLevel:T(this.headingLevel),key:`block-${t}`},e?.length?null:this._renderNoLayersInfo(m,t),P("calcite-list",{afterCreate:e=>{"reference"===t?this._referenceListEl=e:this._baseListEl=e,e.addEventListener("focusin",this._setActiveItem),e.addEventListener("focusout",this._clearActiveItem)},afterRemoved:e=>{"reference"===t?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener("focusin",this._setActiveItem),e.removeEventListener("focusout",this._clearActiveItem)},canPull:e=>this._canMove(e,"pull"),canPut:e=>this._canMove(e,"put"),displayMode:k,filterProps:M,[j]:t,"data-layer-type":p,dragEnabled:o,filterEnabled:h,filterPlaceholder:r,filterText:h?"reference"===t?n:a:"",group:p,key:`list-${t}`,label:s.widgetLabel,selectionAppearance:"border",selectionMode:l,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this["reference"===t?"referenceFilterText":"baseFilterText"]=e.currentTarget?.filterText??"",onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail),onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem},e?.toArray().map(e=>this._renderItem(e,i)),h?P("div",{class:g.filterNoResults,slot:"filter-no-results"},P("calcite-notice",{kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(m))):null))}_renderBaseSection(){const{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,"base",1===e?.length):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,"reference",!1):null}_toggleEditingTitle(){const{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};function N(e){return e?.closest(`[${j}]`)?.getAttribute(j)}e([c()],x.prototype,"_baseListEl",void 0),e([c()],x.prototype,"_referenceListEl",void 0),e([c()],x.prototype,"_activeItem",void 0),e([c()],x.prototype,"_tooltipReferenceMap",void 0),e([c()],x.prototype,"_focusRootFlowItem",void 0),e([c()],x.prototype,"_focusPanelFlowItem",void 0),e([c()],x.prototype,"_focusLayerFlowItem",void 0),e([c()],x.prototype,"_focusEditingFlowItem",void 0),e([c()],x.prototype,"_layerListMap",void 0),e([c()],x.prototype,"_visibleBaseItems",null),e([c()],x.prototype,"_visibleReferenceItems",null),e([c()],x.prototype,"_openedPanelItems",null),e([c()],x.prototype,"_totalBaseItems",null),e([c()],x.prototype,"_totalReferenceItems",null),e([c()],x.prototype,"_baseFilterEnabled",null),e([c()],x.prototype,"_referenceFilterEnabled",null),e([c()],x.prototype,"_renderedOpenLayerFlowItems",null),e([c()],x.prototype,"basemapTitle",null),e([c({readOnly:!0})],x.prototype,"catalogLayerList",void 0),e([c()],x.prototype,"catalogOptions",void 0),e([c()],x.prototype,"collapsed",void 0),e([c()],x.prototype,"dragEnabled",void 0),e([c()],x.prototype,"editingTitle",void 0),e([c()],x.prototype,"filterPlaceholder",void 0),e([c()],x.prototype,"baseFilterPredicate",void 0),e([c()],x.prototype,"baseFilterText",void 0),e([c()],x.prototype,"referenceFilterPredicate",void 0),e([c()],x.prototype,"referenceFilterText",void 0),e([c()],x.prototype,"listItemCanGiveFunction",void 0),e([c()],x.prototype,"listItemCanReceiveFunction",void 0),e([c()],x.prototype,"baseListItemCreatedFunction",null),e([c()],x.prototype,"headingLevel",void 0),e([c()],x.prototype,"icon",null),e([c()],x.prototype,"knowledgeGraphOptions",void 0),e([c()],x.prototype,"label",null),e([c()],x.prototype,"layerTablesEnabled",void 0),e([c()],x.prototype,"mapImageOptions",void 0),e([c(),O("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([c(),O("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([c()],x.prototype,"minFilterItems",void 0),e([c({readOnly:!0})],x.prototype,"openedLayers",void 0),e([c({readOnly:!0})],x.prototype,"openedLayerLists",void 0),e([c()],x.prototype,"referenceListItemCreatedFunction",null),e([c({readOnly:!0})],x.prototype,"tableList",void 0),e([c({readOnly:!0})],x.prototype,"baseItems",null),e([c({readOnly:!0})],x.prototype,"referenceItems",null),e([c({type:R})],x.prototype,"selectedItems",void 0),e([c()],x.prototype,"selectionMode",void 0),e([c()],x.prototype,"tileOptions",void 0),e([c()],x.prototype,"view",null),e([A("trigger-action"),c({type:h})],x.prototype,"viewModel",void 0),e([c()],x.prototype,"visibilityAppearance",void 0),e([c({type:u,nonNullable:!0})],x.prototype,"visibleElements",void 0),x=e([p("esri.widgets.BasemapLayerList")],x);const U=x;export{U as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Collection.js";import{deprecateWidget as i}from"../core/deprecate.js";import{IdentifiableMixin as s}from"../core/Identifiable.js";import o from"../core/Logger.js";import l from"../core/ReactiveMap.js";import{on as r,initial as a,watch as n,syncAndInitial as d}from"../core/reactiveUtils.js";import{property as c,subclass as p}from"../core/accessorSupport/decorators.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as g}from"./BasemapLayerList/css.js";import f from"./LayerList/LayerListItem.js";import y from"./LayerList/ListItem.js";import{minFilterItems as _,getItem as b,getLayerType as L,removeDestroyedListItems as v,setFilterPredicate as I,sortLayersToIds as w,sortChildLayersToIds as F}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as E}from"./support/componentsUtils.js";import{globalCss as C}from"./support/globalCss.js";import{incrementHeadingLevel as T}from"./support/Heading.js";import{calciteListFilterProps as M}from"./support/listUtils.js";import{tsx as P,messageBundle as O,vmEvent as A}from"./support/widget.js";import{setFocus as B}from"./support/widgetUtils.js";const R=t.ofType(y),k="nested",D=".*\\S+.*",j="data-basemap-layer-type";let x=class extends(s(m)){constructor(e,s){super(e,s),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new l,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder="",this.baseFilterPredicate=null,this.baseFilterText="",this.referenceFilterPredicate=null,this.referenceFilterText="",this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t(["knowledge-graph"]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=_,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new R,this.selectionMode="none",this.tileOptions=null,this.viewModel=new h,this.visibilityAppearance="default",this.visibleElements=new u,this._canMove=({dragEl:e,fromEl:t,toEl:i},s)=>{const o="pull"===s?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,l=b(e);if(!l?.sortable)return!1;const r=b(t),a=L(t),n=b(i),d=L(i),c=!!a&&!!d&&a===d,p={selected:l,from:r,to:n},m=t.group,h=i.group,u=r?.layer?.type??"",g=n?.layer?.type??"",f=new Set(["map-image","catalog","knowledge-graph"]),y="sublayer";return m&&h&&"function"==typeof o?o.call(null,p):c&&!f.has(u)&&!f.has(g)&&l?.layer?.type!==y},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if("default"!==this.visibilityAppearance)return;const t=Array.from(e.composedPath()).find(e=>e.classList?.contains(g.item));this._activeItem=b(t)},this._onCalciteListOrderChange=e=>{const{_lastDragDetail:t}=this,{toEl:i,fromEl:s,dragEl:o,newIndex:l}=e;if(!s||!i||t?.newIndex===l&&t?.dragEl===o&&t?.toEl===i&&t?.fromEl===s)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=o.value;const r=s,a=i;if(r===a){const e=Array.from(s.children).filter(e=>e?.matches("calcite-list-item")).map(e=>e.value);return void this._sortLayers(r,e)}null!=l&&this._moveLayerFromChildList({toEl:a,fromEl:r,dragEl:o,newIndex:l})},this.announceDeprecation=()=>{i(o.getLogger(this),"Basemap Layer List","arcgis-basemap-layer-list",{version:"5.0"})}}initialize(){this.addHandles([r(()=>this.openedLayers,"change",()=>this._handleOpenedLayersChange(),a),n(()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()],()=>v(this.selectedItems),d),n(()=>[this.baseFilterPredicate,this._baseListEl],()=>I(this._baseListEl,this.baseFilterPredicate)),n(()=>[this.referenceFilterPredicate,this._referenceListEl],()=>I(this._referenceListEl,this.referenceFilterPredicate))])}loadDependencies(){return E({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _visibleReferenceItems(){return this.referenceItems?.filter(e=>!e.hidden&&(this.visibleElements.errors||!e.error))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten(e=>e.children).filter(({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled)}get _totalBaseItems(){return this.viewModel.baseItems.flatten(e=>e.children.filter(e=>"catalog-dynamic-group"!==e.layer?.type)).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten(e=>e.children.filter(e=>"catalog-dynamic-group"!==e.layer?.type)).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){const{openedLayers:e}=this;return e.toArray().map((t,i)=>this._renderLayerFlowItem(t,i===e.length-1))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return"layers"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[C.hidden]:"loading"===e,[C.disabled]:"disabled"===e};return P("div",{class:this.classes(g.base,C.widget,C.panel,t)},this._renderItems())}async _createCatalogLayerList(e){const{default:t}=await(import("./CatalogLayerList.js")),{headingLevel:i,catalogOptions:s,view:o,filterPlaceholder:l,minFilterItems:r,selectionMode:a,visibilityAppearance:n,_onCatalogOpen:d,_onTablesOpen:c,layerTablesEnabled:p}=this;return new t({headingLevel:i,view:o,filterPlaceholder:l,minFilterItems:r,selectionMode:a,visibilityAppearance:n,...s,catalogLayer:e,layerTablesEnabled:p,onCatalogOpen:d,onTablesOpen:c})}_getTableListParams(e){switch(e.type){case"knowledge-graph":return{...this.knowledgeGraphOptions,tables:e.tables};case"map-image":return{...this.mapImageOptions,tables:e.subtables};case"tile":return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){const{default:t}=await(import("./TableList.js")),{headingLevel:i,selectionMode:s,dragEnabled:o}=this;return new t({headingLevel:i,selectionMode:s,dragEnabled:o,...this._getTableListParams(e)})}async _createFlowList(e,t){const{_layerListMap:i}=this,s=i.get(e);if(s)return s;const o="catalog"===e.type?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||i.set(e,o),o}async _handleOpenedLayersChange(){const{_layerListMap:e,openedLayers:t,openedLayerLists:i}=this;this._openedLayersController?.abort();const s=new AbortController,{signal:o}=s;this._openedLayersController=s,e.forEach((i,s)=>{t.includes(s)||(i.destroy(),e.delete(s))});const l=await Promise.all(t.map(e=>this._createFlowList(e,o)));if(o.aborted)return;i.removeAll(),i.addMany(l);const r=i.at(-1);r?"catalogLayer"in r?(this._set("catalogLayerList",r),this._set("tableList",null)):(this._set("catalogLayerList",null),this._set("tableList",r)):(this._set("catalogLayerList",null),this._set("tableList",null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?P("calcite-tooltip",{key:`tooltip-${e.layer?.uid}`,overlayPositioning:"fixed",referenceElement:this._tooltipReferenceMap.get(e.layer?.uid),topLayerDisabled:this.topLayerDisabled},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter(e=>!e.hidden).toArray().map(e=>this._renderItemTooltipNodes(e))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map(e=>this._renderItemTooltipNodes(e))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,B(e))}_renderPanelFlowItems(){const{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map(({title:i,panel:s},o)=>{const l=()=>this._handlePanelFlowItemBack(s);return P("calcite-flow-item",{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:i,heading:s.title,headingLevel:this.headingLevel,key:`flow-panel-${s.uid}`,selected:!t.length&&o===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),l()}},s.render(),P("calcite-button",{appearance:"transparent",slot:"footer-start",width:"full",onclick:l},this.messagesCommon.back))})}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,B(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,B(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,B(e))}_renderItem(e,t,i,s){return P(f,{activeItem:this._activeItem,canMove:this._canMove,css:g,displayMode:k,dragDisabled:t,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:i,parentTitles:s,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:i,newIndex:s}){const o=b(i),l=b(e),r=b(t),a=N(t),n=N(e);a&&n&&this.viewModel.moveListItem({targetItem:o,fromParentItem:r,toParentItem:l,newIndex:s,from:a,to:n})}_handleCalciteListDragEnd({fromEl:e,dragEl:t,oldIndex:i}){null!=i&&e.insertBefore(t,e.children[i])}_sortLayers(e,t){if(e)if(e===this._referenceListEl||e===this._baseListEl){const i=e===this._referenceListEl?"reference":"base",s="base"===i?this.view?.map?.basemap?.baseLayers:"reference"===i?this.view?.map?.basemap?.referenceLayers:null;w(s,t)}else{const i=b(e);if(!i)return;F(i,t)}}_handleCalciteListChange(e){const{selectionMode:t,selectedItems:i}=this;if("none"===t)return;const s=e.target.selectedItems.map(e=>b(e)).filter(Boolean);i.removeAll(),i.addMany(s)}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return P("div",{class:g.editing},P("calcite-label",null,e.basemapTitle,P("calcite-input",{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:"basemaptitle",pattern:D,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:"text",value:t??void 0})))}_renderCancelButton(){const{messagesCommon:{cancel:e}}=this;return P("calcite-button",{appearance:"outline",bind:this,label:e,slot:"footer",title:e,width:"full",onclick:this._toggleEditingTitle},e)}_renderSubmitButton(){const{messagesCommon:e}=this;return P("calcite-button",{label:e.form.submit,slot:"footer",title:e.form.submit,type:"submit",width:"full"},e.form.ok)}_renderEditingForm(){return this.editingTitle?P("form",{bind:this,class:g.editingForm,onsubmit:this._formSubmit},P("calcite-flow-item",{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton())):null}_renderEditTitleButton(){const{editingTitle:e,visibleElements:t,messagesCommon:i}=this,s=i.edit;return t.editTitleButton&&!e?P("calcite-action",{bind:this,icon:"pencil",slot:"header-actions-end",text:s,title:s,onclick:this._toggleEditingTitle}):null}_renderNoLayersInfoMessage(e){return P("div",{slot:"message"},e)}_renderNoLayersInfo(e,t){return P("div",{class:g.itemMessage},P("calcite-notice",{icon:"information",key:t,kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(e)))}_renderItems(){const{collapsed:e,visible:t,visibleElements:{closeButton:i,collapseButton:s,heading:o,flow:l},messages:r,viewModel:a}=this,n=[P("calcite-flow-item",{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:i,closed:!t,collapsed:e,collapsible:s,heading:o?a.basemapTitle??r.widgetLabel:void 0,headingLevel:this.headingLevel,key:"root-flow-item",selected:!this.editingTitle&&0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingForm(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems];return t?[l?P("calcite-flow",{key:"root-flow"},n):n,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){const{messages:i,openedLayers:s}=this,o=e.title||this.messages.untitledLayer;return P("calcite-flow-item",{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:o,heading:i["catalog"===e.type?"catalogLayers":"tables"],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),s.pop();const t=s.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,i){const{messages:s,dragEnabled:o,selectionMode:l,filterPlaceholder:r,baseFilterText:a,referenceFilterText:n,_baseFilterEnabled:d,_referenceFilterEnabled:c,_rootGroupUid:p}=this,m="reference"===t?s.noReferenceLayers:s.noBaseLayers,h="reference"===t?c:d;return P("calcite-block",{class:g.section,collapsible:!0,expanded:!0,heading:"reference"===t?s.referenceHeading:s.baseHeading,headingLevel:T(this.headingLevel),key:`block-${t}`},e?.length?null:this._renderNoLayersInfo(m,t),P("calcite-list",{afterCreate:e=>{"reference"===t?this._referenceListEl=e:this._baseListEl=e,e.addEventListener("focusin",this._setActiveItem),e.addEventListener("focusout",this._clearActiveItem)},afterRemoved:e=>{"reference"===t?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener("focusin",this._setActiveItem),e.removeEventListener("focusout",this._clearActiveItem)},canPull:e=>this._canMove(e,"pull"),canPut:e=>this._canMove(e,"put"),displayMode:k,filterProps:M,[j]:t,"data-layer-type":p,dragEnabled:o,filterEnabled:h,filterPlaceholder:r,filterText:h?"reference"===t?n:a:"",group:p,key:`list-${t}`,label:s.widgetLabel,selectionAppearance:"border",selectionMode:l,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this["reference"===t?"referenceFilterText":"baseFilterText"]=e.currentTarget?.filterText??"",onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail),onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem},e?.toArray().map(e=>this._renderItem(e,i)),h?P("div",{class:g.filterNoResults,slot:"filter-no-results"},P("calcite-notice",{kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(m))):null))}_renderBaseSection(){const{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,"base",1===e?.length):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,"reference",!1):null}_toggleEditingTitle(){const{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};function N(e){return e?.closest(`[${j}]`)?.getAttribute(j)}e([c()],x.prototype,"_baseListEl",void 0),e([c()],x.prototype,"_referenceListEl",void 0),e([c()],x.prototype,"_activeItem",void 0),e([c()],x.prototype,"_tooltipReferenceMap",void 0),e([c()],x.prototype,"_focusRootFlowItem",void 0),e([c()],x.prototype,"_focusPanelFlowItem",void 0),e([c()],x.prototype,"_focusLayerFlowItem",void 0),e([c()],x.prototype,"_focusEditingFlowItem",void 0),e([c()],x.prototype,"_layerListMap",void 0),e([c()],x.prototype,"_visibleBaseItems",null),e([c()],x.prototype,"_visibleReferenceItems",null),e([c()],x.prototype,"_openedPanelItems",null),e([c()],x.prototype,"_totalBaseItems",null),e([c()],x.prototype,"_totalReferenceItems",null),e([c()],x.prototype,"_baseFilterEnabled",null),e([c()],x.prototype,"_referenceFilterEnabled",null),e([c()],x.prototype,"_renderedOpenLayerFlowItems",null),e([c()],x.prototype,"basemapTitle",null),e([c({readOnly:!0})],x.prototype,"catalogLayerList",void 0),e([c()],x.prototype,"catalogOptions",void 0),e([c()],x.prototype,"collapsed",void 0),e([c()],x.prototype,"dragEnabled",void 0),e([c()],x.prototype,"editingTitle",void 0),e([c()],x.prototype,"filterPlaceholder",void 0),e([c()],x.prototype,"baseFilterPredicate",void 0),e([c()],x.prototype,"baseFilterText",void 0),e([c()],x.prototype,"referenceFilterPredicate",void 0),e([c()],x.prototype,"referenceFilterText",void 0),e([c()],x.prototype,"listItemCanGiveFunction",void 0),e([c()],x.prototype,"listItemCanReceiveFunction",void 0),e([c()],x.prototype,"baseListItemCreatedFunction",null),e([c()],x.prototype,"headingLevel",void 0),e([c()],x.prototype,"icon",null),e([c()],x.prototype,"knowledgeGraphOptions",void 0),e([c()],x.prototype,"label",null),e([c()],x.prototype,"layerTablesEnabled",void 0),e([c()],x.prototype,"mapImageOptions",void 0),e([c(),O("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([c(),O("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([c()],x.prototype,"minFilterItems",void 0),e([c({readOnly:!0})],x.prototype,"openedLayers",void 0),e([c({readOnly:!0})],x.prototype,"openedLayerLists",void 0),e([c()],x.prototype,"referenceListItemCreatedFunction",null),e([c({readOnly:!0})],x.prototype,"tableList",void 0),e([c({readOnly:!0})],x.prototype,"baseItems",null),e([c({readOnly:!0})],x.prototype,"referenceItems",null),e([c({type:R})],x.prototype,"selectedItems",void 0),e([c()],x.prototype,"selectionMode",void 0),e([c()],x.prototype,"tileOptions",void 0),e([c()],x.prototype,"view",null),e([A("trigger-action"),c({type:h})],x.prototype,"viewModel",void 0),e([c()],x.prototype,"visibilityAppearance",void 0),e([c({type:u,nonNullable:!0})],x.prototype,"visibleElements",void 0),x=e([p("esri.widgets.BasemapLayerList")],x);const U=x;export{U as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../core/Error.js";import{getOrCreateMapValue as t}from"../../core/MapUtils.js";class s{constructor(e,t,s){this.changes=new Map,this.isOpen=!0,this.priorInvalidFeatures=new Set,this.viewModel=e,this.originActor=t,this.originField=s,this.priorInvalidFeatures=new Set(e.invalidFeatures)}get hasChanges(){return this.changes.size>0}async close(){if(this._assertIsOpen(),this.isOpen=!1,0!==this.changes.size){"single"!==this.viewModel.mode&&1!==this.viewModel.features.length||this.viewModel.validateContingentValues(this.changes.keys(),!0),this._reconcileValidityTracking(),this.viewModel.emit("values-change",this._makeEventPayload());for(const e of this._makeDeprecatedEventPayloads())this.viewModel.emit("value-change",e)}}setValue(e,s,i){if(this._assertIsOpen(),e.getAttribute(s)===i)return;e.setAttribute(s,i);t(this.changes,e,()=>new Map).set(s,i)}_assertIsOpen(){if(!this.isOpen)throw new e("batch-attribute-form:transaction-closed","Operation cannot be performed on a closed transaction.")}_makeEventPayload(){return{data:Array.from(this.changes.entries()).map(([e,t])=>({feature:e.source,changes:Array.from(t.entries()).map(([e,t])=>({fieldName:e,value:t}))})),fieldName:this.originField,name:"values-change",source:this.originActor}}_makeDeprecatedEventPayloads(){const e=this.originField;if(!e)return[];const s=new Map;for(const i of this.changes.keys()){t(s,i.getAttribute(e),()=>[]).push(i.source)}return Array.from(s.entries()).map(([t,s])=>({features:s,fieldName:e,name:"value-change",value:t}))}_reconcileValidityTracking(){if("expression"===this.originActor)return;const e=new Set(this.viewModel.invalidFeatures);for(const t of this.changes.keys()){const s=t.source,i=this.priorInvalidFeatures.has(s),a=e.has(s);i!==a&&(t.userChangesHaveMadeInvalid=a)}}}export{s as ValueChangeTransaction};
2
+ import e from"../../core/Error.js";import{getOrCreateMapValue as t}from"../../core/MapUtils.js";class s{constructor(e,t,s){this.changes=new Map,this.isOpen=!0,this.priorInvalidFeatures=new Set,this.viewModel=e,this.originActor=t,this.originField=s,this.priorInvalidFeatures=new Set(e.invalidFeatures)}get hasChanges(){return this.changes.size>0}changesForFeature(e){return this.changes.get(e)}async close(){if(this._assertIsOpen(),this.isOpen=!1,0!==this.changes.size){"single"!==this.viewModel.mode&&1!==this.viewModel.features.length||this.viewModel.validateContingentValues(this.changes.keys(),!0),this._reconcileValidityTracking(),this.viewModel.emit("values-change",this._makeEventPayload());for(const e of this._makeDeprecatedEventPayloads())this.viewModel.emit("value-change",e)}}setValue(e,s,i){if(this._assertIsOpen(),e.getAttribute(s)===i)return;e.setAttribute(s,i);t(this.changes,e,()=>new Map).set(s,i)}_assertIsOpen(){if(!this.isOpen)throw new e("batch-attribute-form:transaction-closed","Operation cannot be performed on a closed transaction.")}_makeEventPayload(){return{data:Array.from(this.changes.entries()).map(([e,t])=>({feature:e.source,changes:Array.from(t.entries()).map(([e,t])=>({fieldName:e,value:t}))})),fieldName:this.originField,name:"values-change",source:this.originActor}}_makeDeprecatedEventPayloads(){const e=this.originField;if(!e)return[];const s=new Map;for(const i of this.changes.keys()){t(s,i.getAttribute(e),()=>[]).push(i.source)}return Array.from(s.entries()).map(([t,s])=>({features:s,fieldName:e,name:"value-change",value:t}))}_reconcileValidityTracking(){if("expression"===this.originActor)return;const e=new Set(this.viewModel.invalidFeatures);for(const t of this.changes.keys()){const s=t.source,i=this.priorInvalidFeatures.has(s),a=e.has(s);i!==a&&(t.userChangesHaveMadeInvalid=a)}}}export{s as ValueChangeTransaction};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import r from"../../../core/Error.js";import o from"../../../core/Logger.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import{whenOrAbort as a}from"../../../core/promiseUtils.js";import n from"../../../core/ReactiveMap.js";import{property as i,subclass as l}from"../../../core/accessorSupport/decorators.js";import{DateOnly as u}from"../../../core/sql/DateOnly.js";import{TimeOnly as c}from"../../../core/sql/TimeOnly.js";import{makeUseId as d}from"../inputs/support/inputUtils.js";import{isFieldElementTemplate as p,isGroupElementTemplate as f}from"../templates/support/templateUtils.js";let h=null;const m=()=>o.getLogger("esri.widgets.BatchAttributeForm.expressions.ExpressionsManager");let g=class extends t{constructor(e){super(e),this.calculating=!1,this.arcadeContext=null,this._abortController=new AbortController,this.layerExpressionsModelMap=new Map,this.evaluatedExpressions=new n,this.expressionEvaluationFailed=!1}destroy(){this.abort()}abort(){this._abortController.abort()}async runAllExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature(e,w,t)}async runGeometryDependentExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature(e,E,t)}async runOriginalFeatureDependentExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature([e],S,t)}async runExpressionsDependentOnChangedFields(e){try{this.calculating=!0;const t=Array.from(e.changes).map(([t,r])=>this.runExpressionsDependentOnChangedFieldsForFeature([...r.keys()],t,e));F(await Promise.allSettled(t))}catch(t){m().error(t),this.expressionEvaluationFailed=!0}finally{this.calculating=!1}}async runExpressionsDependentOnChangedFieldsForFeature(e,t,r){if(this._abortController.signal.aborted)return;const o=this.layerExpressionsModelMap.get(t.layer);if(!o||0===o.components.length)return;const s=new Set,a=new Set(e),n=new Set;for(;a.size>0;){const[e]=a;if(a.delete(e),s.has(e))continue;s.add(e);const i=o.fieldReferencesMap.get(e);if(!i)continue;for(const t of i)n.has(t)&&i.delete(t);if(0===i.size)continue;const l=new Set;await this.evaluateAffectedComponents([...i],t,o,r,l);for(const t of i)n.add(t);for(const t of l)s.has(t)||a.add(t)}}async evaluateAffectedComponents(e,t,r,o,s){const i=new Map;for(const a of e)i.has(a)||i.set(a,this.createSccEvaluator(a,t,i,r));if(0===i.size)return;const l=[...i.values()],u={transaction:o,changedFields:s,previousOutcomes:new n},c=l.map(e=>e.evaluate(u));F(await a(Promise.allSettled(c),this._abortController))}createSccEvaluator(e,t,r,o){const a=new v(e,t,this.arcadeContext,o,this.evaluatedExpressions,this._abortController);for(const n of e.adjacencyList)a.dependentEvaluators.push(s(r,n,()=>this.createSccEvaluator(n,t,r,o)));return a}async _evaluateSpecifiedComponentsForEachFeature(e,t,r){this.calculating=!0;try{const o=[];for(const s of e){const e=this.layerExpressionsModelMap.get(s.layer);if(!e||0===e.components.length)continue;const a=new Set;o.push(this.evaluateAffectedComponents(t(e),s,e,r,a))}F(await a(Promise.allSettled(o),this._abortController))}catch(o){m().error(o),this.expressionEvaluationFailed=!0}finally{this.calculating=!1}}};e([i()],g.prototype,"calculating",void 0),e([i({constructOnly:!0})],g.prototype,"arcadeContext",void 0),e([i()],g.prototype,"_abortController",void 0),e([i()],g.prototype,"layerExpressionsModelMap",void 0),e([i()],g.prototype,"evaluatedExpressions",void 0),e([i()],g.prototype,"expressionEvaluationFailed",void 0),g=e([l("esri.widgets.BatchAttributeForm.expressions.ExpressionsManager")],g);class v{constructor(e,t,r,o,s,a){this.scc=e,this.feature=t,this.arcadeContextInfo=r,this.expressionsModel=o,this.evaluatedExpressions=s,this._abortController=a,this.dependentEvaluators=[],this._evaluatorPromise=null}get baseContext(){const{editType:e,map:t,spatialReference:r,timeZone:o}=this.arcadeContextInfo,s=this.feature.layer,a="scene"===s?.type&&null!=s.associatedLayer?s.associatedLayer:s;return{variables:{$originalfeature:this.feature.original,$editcontext:{editType:e},$layer:a,$featureset:a,$datastore:a?.url,$feature:this.feature.plainGraphic,$map:t},executeContext:{rawOutput:!0,spatialReference:r??void 0,timeZone:o,abortSignal:this._abortController.signal}}}evaluate(e){return null==this._evaluatorPromise&&(this._evaluatorPromise=this._evaluate(e)),this._evaluatorPromise}async _evaluate(e){null===h&&(h=await import("../../../arcade/languageUtils.js"));const t=[],o=this.dependentEvaluators.map(t=>t.evaluate(e));F(await a(Promise.allSettled(o),this._abortController));for(const a of this.scc.executors){const o=this.baseContext;if(this._abortController.signal.aborted)break;const u=this.expressionsModel.arcadeExecutorUses.get(a)??[],c=s(this.evaluatedExpressions,this.feature,()=>new n);let p=null,f=null;try{p=a.isAsync?await a.executeAsync(o.variables,o.executeContext):a.execute(o.variables,o.executeContext),f={result:p,status:"success"}}catch(i){f={error:i,status:"error"}}const{transaction:h,changedFields:g,previousOutcomes:v}=e;for(const t of u){const r=d(t),o=c.get(r);o&&v.set(r,o);const s=this.expressionsModel.elementTemplateMap.get(t.elementId);switch(t.executorPurpose){case"editable":case"required":case"text":c.set(d(t),f);break;case"value":{if("error"===f?.status)continue;const e=s.getExpressionExecutorsForLayer(this.feature.layer);let t=!0;if(e?.editableExpression&&(t=!1===c.get(d({elementId:s.elementId,executorPurpose:"editable"}))?.result),t){const e=s.fieldName,t=this.feature.getAttribute(e)??null;try{const r=y(f.result,this.feature,e,this.arcadeContextInfo.timeZone);r!==t&&(h.setValue(this.feature,e,r),g.add(e))}catch(l){m().error(`Failed to set calculated value for field '${e}'`,l)}}}break;case"visibility":c.set(d(t),f),this.expressionsModel.preserveFieldValuesWhenHidden||!0!==o?.result||!1!==f.result||"user"!==h.originActor||M(s,this.feature,c,e)}}if("error"===f?.status){const e=new Set;for(const t of u){const r=this.expressionsModel.elementTemplateMap.get(t.elementId);if(r)switch(t.executorPurpose){case"editable":e.add(r.label+" - Editable expression");break;case"required":e.add(r.label+" - Required expression");break;case"value":e.add(r.label+" - Value expression");break;case"visibility":e.add(r.label+" - Visibility expression")}}t.push(e.size>0?new r("expression-evaluation-failed","Arcade evaluation failed ("+[...e].join(",")+")"):new r("expression-evaluation-failed","Arcade evaluation failed "))}}if(t.length>0)throw C(t)}}function y(e,t,o,s){if(null===e)return null;const a=t.layer.fieldsIndex.get(o);if(!a)throw new r("field-not-found",`Field '${o}' not found on layer.`);switch(a.type){case"big-integer":case"integer":case"long":case"oid":case"small-integer":{const t=x(e);return null==t?null:Math.floor(t)}case"single":case"double":return x(e);case"global-id":case"guid":case"string":return h.toString(e);case"date":{const t=b(e,s);if(t)return t.getTime();const o=x(e);if(null!==o&&!isNaN(o)&&Number.isInteger(o))return o;throw new r("unsupported-value-type",`Unable to convert value ${e} to a date`)}case"date-only":{if(h.isDateOnly(e))return e.toStorageFormat();const t=b(e,s);if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a date-only string`);return u.fromDateTime(t.toDateTime()).toStorageFormat()}case"time-only":{if(h.isTime(e))return e.toStorageString();if(h.isDate(e)){return c.fromDateTime(e.toDateTime()).toStorageString()}const t=c.fromString(h.toString(e));if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a time-only string`);return t.toStorageString()}case"timestamp-offset":{const t=b(e,s);if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a timestamp-offset string`);return t.toISOString(!1)}}throw new r("unsupported-value-type",`Unable to convert value ${e} to a value matching field type`)}function x(e){if(""===e)return null;const t=h.toNumber(e);return Number.isNaN(t)?null:t}function b(e,t){if(h.isDate(e))return e;if(h.isDateOnly(e))return e.toArcadeDate();const r=h.toString(e),o=h.toDate(r,t);return o&&/\d{4}-\d{2}-\d{2}/.test(r)?o:null}function w(e){return e.components}function E(e){return Array.from(e.geometryReferences)}function S(e){return Array.from(e.originalFeatureReferences)}function C(e){return new AggregateError(e,`One or more expression executions failed. First error message: ${e[0].message}`)}function F(e){const t=[],r=new Set;for(const o of e){if("fulfilled"===o.status)continue;const e=o.reason instanceof AggregateError?o.reason.errors:[o.reason];for(const o of e)r.has(o)||(r.add(o),t.push(o))}if(t.length>0)throw C(t)}function M(e,t,r,o){p(e)?A(e,t,r,o):f(e)&&_(e,t,r,o)}function A(e,t,r,o){const{group:s}=e;s&&!O(s,r,o.previousOutcomes)||D(t,e,o)}function _(e,t,r,o){for(const s of e.elements)p(s)&&O(s,r,o.previousOutcomes)&&D(t,s,o)}function D(e,{fieldName:t},r){null!==e.getAttribute(t)&&r.changedFields.add(t),r.transaction.setValue(e,t,null)}function O(e,t,r){const o=d({elementId:e.elementId,executorPurpose:"visibility"}),s=r.get(o)??t.get(o);return!s||!!s.result}export{g as ExpressionsManager};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import r from"../../../core/Error.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as o}from"../../../core/MapUtils.js";import{whenOrAbort as a,settleWithPromise as n}from"../../../core/promiseUtils.js";import i from"../../../core/ReactiveMap.js";import{addMany as l}from"../../../core/SetUtils.js";import{property as u,subclass as c}from"../../../core/accessorSupport/decorators.js";import{DateOnly as p}from"../../../core/sql/DateOnly.js";import{TimeOnly as d}from"../../../core/sql/TimeOnly.js";import{makeUseId as f}from"../inputs/support/inputUtils.js";import{isFieldElementTemplate as h,isGroupElementTemplate as m}from"../templates/support/templateUtils.js";let g=null;const v=()=>s.getLogger("esri.widgets.BatchAttributeForm.expressions.ExpressionsManager");let x=class extends t{constructor(e){super(e),this.calculating=!1,this.arcadeContext=null,this._abortController=new AbortController,this.layerExpressionsModelMap=new Map,this.evaluatedExpressions=new i,this.expressionEvaluationFailed=!1}destroy(){this.abort()}abort(){this._abortController.abort()}async runAllExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature(e,C,t)}async runGeometryDependentExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature(e,F,t)}async runOriginalFeatureDependentExpressions(e,t){return this._evaluateSpecifiedComponentsForEachFeature([e],S,t)}async runExpressionsDependentOnChangedFields(e){try{this.calculating=!0;const t=Array.from(e.changes).map(([t,r])=>this.runExpressionsDependentOnChangedFieldsForFeature([...r.keys()],t,e));A(await Promise.allSettled(t))}catch(t){v().error(t),this.expressionEvaluationFailed=!0}finally{this.calculating=!1}}async runExpressionsDependentOnChangedFieldsForFeature(e,t,r){if(this._abortController.signal.aborted)return;const s=this.layerExpressionsModelMap.get(t.layer);if(!s||0===s.components.length)return;const o=M(s,e);0!==o.length&&await this.evaluateAffectedComponents([...o],t,s,r)}async evaluateAffectedComponents(e,t,r,s){const n=new Map;for(const a of e){o(n,a,()=>this.createSccEvaluator({scc:a,feature:t,evaluatorMap:n,expressionModel:r,isRoot:!0})).isRoot=!0}if(0===n.size)return;const l=[...n.values()],u={transaction:s,previousOutcomes:new i},c=l.map(e=>e.evaluate(u));A(await a(Promise.allSettled(c),this._abortController))}createSccEvaluator({scc:e,feature:t,evaluatorMap:r,expressionModel:s,isRoot:a}){const n=new y(e,t,this.arcadeContext,s,this.evaluatedExpressions,a,this._abortController);for(const i of e.adjacencyList){o(r,i,()=>this.createSccEvaluator({scc:i,feature:t,evaluatorMap:r,expressionModel:s,isRoot:!1})).dependencies.push(n)}return n}async _evaluateSpecifiedComponentsForEachFeature(e,t,r){this.calculating=!0;try{const s=[];for(const o of e){const e=this.layerExpressionsModelMap.get(o.layer);e&&0!==e.components.length&&s.push(this.evaluateAffectedComponents(t(e),o,e,r))}A(await a(Promise.allSettled(s),this._abortController))}catch(s){v().error(s),this.expressionEvaluationFailed=!0}finally{this.calculating=!1}}};e([u()],x.prototype,"calculating",void 0),e([u({constructOnly:!0})],x.prototype,"arcadeContext",void 0),e([u()],x.prototype,"_abortController",void 0),e([u()],x.prototype,"layerExpressionsModelMap",void 0),e([u()],x.prototype,"evaluatedExpressions",void 0),e([u()],x.prototype,"expressionEvaluationFailed",void 0),x=e([c("esri.widgets.BatchAttributeForm.expressions.ExpressionsManager")],x);class y{constructor(e,t,r,s,o,a,n){this.scc=e,this.feature=t,this.arcadeContextInfo=r,this.expressionsModel=s,this.evaluatedExpressions=o,this.isRoot=a,this._abortController=n,this._resolver=null,this.dependencies=[]}get baseContext(){const{editType:e,map:t,spatialReference:r,timeZone:s}=this.arcadeContextInfo,o=this.feature.layer,a="scene"===o?.type&&null!=o.associatedLayer?o.associatedLayer:o;return{variables:{$originalfeature:this.feature.original,$editcontext:{editType:e},$layer:a,$featureset:a,$datastore:a?.url,$feature:this.feature.plainGraphic,$map:t},executeContext:{rawOutput:!0,spatialReference:r??void 0,timeZone:s,abortSignal:this._abortController.signal}}}evaluate(e){return this._resolver||(this._resolver=Promise.withResolvers(),n(this._resolver,this._evaluate(e))),this._resolver.promise}async _evaluate(e){null===g&&(g=await(import("../../../arcade/languageUtils.js")));const t=[],s=this.dependencies.map(t=>t.evaluate(e));if(A(await a(Promise.allSettled(s),this._abortController)),this._shouldEvaluate(e.transaction)){for(const s of this.scc.executors){const a=this.baseContext;if(this._abortController.signal.aborted)break;const u=this.expressionsModel.arcadeExecutorUses.get(s)??[],c=o(this.evaluatedExpressions,this.feature,()=>new i);let p=null,d=null;try{p=s.isAsync?await s.executeAsync(a.variables,a.executeContext):s.execute(a.variables,a.executeContext),d={result:p,status:"success"}}catch(n){d={error:n,status:"error"}}const{transaction:h,previousOutcomes:m}=e;for(const t of u){const r=f(t),s=c.get(r);s&&m.set(r,s),c.set(f(t),d);const o=this.expressionsModel.elementTemplateMap.get(t.elementId);switch(t.executorPurpose){case"editable":if(!1===d.result&&!1!==s?.result){const e=c.get(f({elementId:o.elementId,executorPurpose:"value"}));if(e){const{fieldName:t}=o,r=b(e.result,this.feature,t,this.arcadeContextInfo.timeZone);h.setValue(this.feature,t,r)}}break;case"value":{if("error"===d?.status)continue;const e=o.getExpressionExecutorsForLayer(this.feature.layer);let t=!0;if(e?.editableExpression&&(t=!1===c.get(f({elementId:o.elementId,executorPurpose:"editable"}))?.result),t){const e=o.fieldName,t=this.feature.getAttribute(e)??null;try{const r=b(d.result,this.feature,e,this.arcadeContextInfo.timeZone);r!==t&&h.setValue(this.feature,e,r)}catch(l){v().error(`Failed to set calculated value for field '${e}'`,l)}}}break;case"visibility":this.expressionsModel.preserveFieldValuesWhenHidden||!0!==s?.result||!1!==d.result||"user"!==h.originActor||D(o,this.feature,c,e)}}if("error"===d?.status){const e=new Set;for(const t of u){const r=this.expressionsModel.elementTemplateMap.get(t.elementId);if(r)switch(t.executorPurpose){case"editable":e.add(r.label+" - Editable expression");break;case"required":e.add(r.label+" - Required expression");break;case"value":e.add(r.label+" - Value expression");break;case"visibility":e.add(r.label+" - Visibility expression")}}t.push(e.size>0?new r("expression-evaluation-failed","Arcade evaluation failed ("+[...e].join(",")+")"):new r("expression-evaluation-failed","Arcade evaluation failed "))}}if(t.length>0)throw _(t)}}_shouldEvaluate(e){if(this._abortController.signal.aborted)return!1;if(this.isRoot)return!0;const t=e.changesForFeature(this.feature);return!(!t||0===t.size)&&this.scc.fieldsReferenced.values().some(e=>t.has(e))}}function b(e,t,s,o){if(null===e)return null;const a=t.layer.fieldsIndex.get(s);if(!a)throw new r("field-not-found",`Field '${s}' not found on layer.`);switch(a.type){case"big-integer":case"integer":case"long":case"oid":case"small-integer":{const t=w(e);return null==t?null:Math.floor(t)}case"single":case"double":return w(e);case"global-id":case"guid":case"string":return g.toString(e);case"date":{const t=E(e,o);if(t)return t.getTime();const s=w(e);if(null!==s&&!isNaN(s)&&Number.isInteger(s))return s;throw new r("unsupported-value-type",`Unable to convert value ${e} to a date`)}case"date-only":{if(g.isDateOnly(e))return e.toStorageFormat();const t=E(e,o);if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a date-only string`);return p.fromDateTime(t.toDateTime()).toStorageFormat()}case"time-only":{if(g.isTime(e))return e.toStorageString();if(g.isDate(e)){return d.fromDateTime(e.toDateTime()).toStorageString()}const t=d.fromString(g.toString(e));if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a time-only string`);return t.toStorageString()}case"timestamp-offset":{const t=E(e,o);if(!t)throw new r("unsupported-value-type",`Unable to convert value ${e} to a timestamp-offset string`);return t.toISOString(!1)}}throw new r("unsupported-value-type",`Unable to convert value ${e} to a value matching field type`)}function w(e){if(""===e)return null;const t=g.toNumber(e);return Number.isNaN(t)?null:t}function E(e,t){if(g.isDate(e))return e;if(g.isDateOnly(e))return e.toArcadeDate();const r=g.toString(e),s=g.toDate(r,t);return s&&/\d{4}-\d{2}-\d{2}/.test(r)?s:null}function C(e){return e.components}function F(e){return Array.from(e.geometryReferences)}function S(e){return Array.from(e.originalFeatureReferences)}function M(e,t){const r=new Set;for(const s of t)l(r,e.fieldReferencesMap.get(s));return Array.from(r)}function _(e){return new AggregateError(e,`One or more expression executions failed. First error message: ${e[0].message}`)}function A(e){const t=[],r=new Set;for(const s of e){if("fulfilled"===s.status)continue;const e=s.reason instanceof AggregateError?s.reason.errors:[s.reason];for(const s of e)r.has(s)||(r.add(s),t.push(s))}if(t.length>0)throw _(t)}function D(e,t,r,s){h(e)?O(e,t,r,s):m(e)&&j(e,t,r,s)}function O(e,t,r,s){const{group:o}=e;o&&!R(o,r,s.previousOutcomes)||I(t,e,s)}function j(e,t,r,s){for(const o of e.elements)h(o)&&R(o,r,s.previousOutcomes)&&I(t,o,s)}function I(e,{fieldName:t},r){r.transaction.setValue(e,t,null)}function R(e,t,r){const s=f({elementId:e.elementId,executorPurpose:"visibility"}),o=r.get(s)??t.get(s);return!o||!!o.result}export{x as ExpressionsManager};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isSome as e,addMany as t,pushIfSome as n}from"../../../core/arrayUtils.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import o from"../../../core/Queue.js";import{addMany as i,last as r}from"../../../core/SetUtils.js";import{isFieldElementTemplate as a}from"../templates/support/templateUtils.js";let l=0;class c{constructor({executorMap:e,fieldsIndex:t,preserveFieldValuesWhenHidden:n}){this.arcadeExecutorUses=new Map,this.components=[],this.preserveFieldValuesWhenHidden=!1,this.fieldsIndex=t,this.preserveFieldValuesWhenHidden=!0===n,this.elementTemplateMap=new Map;for(const s of e.keys())this.elementTemplateMap.set(s.elementId,s);this._buildDependencyGraph(e)}_buildDependencyGraph(e){const t=m(e,this.fieldsIndex),n={components:[],arcadeExecutorUses:this.arcadeExecutorUses,elementTemplatesById:new Map([...e.keys()].map(e=>[e.elementId,e])),executorMap:e,fieldElementTemplateMap:f(e),fieldReferencesMap:new Map,geometryReferences:new Set,originalFeatureReferences:new Set,nextIndex:0,nodeInfoMap:t,nodeStack:new o(r),shouldConsiderVisibility:!this.preserveFieldValuesWhenHidden};for(const[o,i]of e)null!=i&&(i.editableExpression&&s(this.arcadeExecutorUses,i.editableExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"editable"}),i.valueExpression&&s(this.arcadeExecutorUses,i.valueExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"value"}),i.visibilityExpression&&s(this.arcadeExecutorUses,i.visibilityExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"visibility"}),i.requiredExpression&&s(this.arcadeExecutorUses,i.requiredExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"required"}),i.textExpressions&&i.textExpressions.forEach((e,t)=>{s(this.arcadeExecutorUses,e,()=>[]).push({elementId:o.elementId,executorPurpose:"text",textExpressionIndex:t})}));for(const s of this.arcadeExecutorUses.values())s.sort(e=>"editable"===e.executorPurpose?-1:1);for(const s of t.values())-1===s.index&&d(s,n);this.dependencyGraphComponents=x(t),this.fieldReferencesMap=h(n),this.geometryReferences=E(n.geometryReferences,t),this.originalFeatureReferences=E(n.originalFeatureReferences,t),this.components=n.components}}function d(e,t){e.index=e.lowlink=t.nextIndex++,t.nodeStack.push(e);for(const n of p(e,t))-1===n.index?(d(n,t),e.lowlink=Math.min(e.lowlink,n.lowlink)):n.index<e.index&&t.nodeStack.contains(n)&&(e.lowlink=Math.min(e.lowlink,n.index)),t.nodeStack.contains(n)||e.crossLinkNeighbors.add(n);if(e.lowlink===e.index){const n=y();for(t.components.push(n);M(t.nodeStack)>=e.index;){const e=t.nodeStack.pop();if(null!=e){e.component=n,n.executors.add(e.executor);for(const t of e.crossLinkNeighbors)null!=t.component&&n.adjacencyList.add(t.component)}}}}function p({executor:t,fieldsUsedNormalized:n},o){const r=new Set;for(const e of n){s(o.fieldReferencesMap,e,()=>new Set).add(t),i(r,u(e,o))}t.geometryUsed&&o.geometryReferences.add(t),t.variablesUsed.includes("$originalfeature")&&o.originalFeatureReferences.add(t);const l=o.arcadeExecutorUses.get(t)??[];for(const e of l)switch(e.executorPurpose){case"value":{const n=o.executorMap.get(o.elementTemplatesById.get(e.elementId));n?.editableExpression&&n.editableExpression!==t&&r.add(n.editableExpression);break}case"visibility":{const t=o.elementTemplatesById.get(e.elementId);if(o.shouldConsiderVisibility&&t&&a(t)){const e=t.group,n=e?o.executorMap.get(e):null;n?.visibilityExpression&&r.add(n.visibilityExpression)}break}}return Array.from(r).map(e=>o.nodeInfoMap.get(e)).filter(e)}function u(e,{executorMap:t,fieldElementTemplateMap:s,shouldConsiderVisibility:o}){const i=[],r=s.get(e);if(null==r)return i;const a=t.get(r);if(null==a)return i;if(n(i,a.editableExpression),n(i,a.valueExpression),o){n(i,a.visibilityExpression);const{group:e}=r;if(null!=e){const s=t.get(e)?.visibilityExpression;n(i,s)}}return i}function f(e){const t=new Map;for(const n of e.keys())a(n)&&t.set(n.fieldName,n);return t}function m(n,s){const o=Array.from(n.values()).filter(e),i=new Set(o.flatMap(e=>{const{textExpressions:n,...s}=e,o=[];return n?.length&&t(o,n),t(o,Object.values(s)),o})),r=Array.from(i).filter(e).map(e=>({component:null,crossLinkNeighbors:new Set,executor:e,fieldsUsedNormalized:e.fieldsUsed.map(e=>s.normalizeFieldName(e)??e),index:-1,lowlink:-1,onStack:!1}));return new Map(r.map(e=>[e.executor,e]))}function x(e){return new Map([...e.values()].map(({component:e,executor:t})=>[t,e]))}function h({fieldReferencesMap:e,nodeInfoMap:t}){const n=new Map;for(const[s,o]of e.entries())n.set(s,E(o,t));return n}function E(e,t){const n=new Set;for(const s of e){const e=t.get(s);e?.component&&n.add(e.component)}return n}function y(){l++;const e=l.toString();return{executors:new Set,adjacencyList:new Set,componentId:e}}function M(e){return e.peek()?.index??-1}export{c as ExpressionsModel,p as getDirectDependencies};
2
+ import{isSome as e,addMany as t,pushIfSome as n}from"../../../core/arrayUtils.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import o from"../../../core/Queue.js";import{addMany as i,last as r}from"../../../core/SetUtils.js";import{isFieldElementTemplate as a}from"../templates/support/templateUtils.js";class d{constructor({executorMap:e,fieldsIndex:t,preserveFieldValuesWhenHidden:n}){this.arcadeExecutorUses=new Map,this.components=[],this.preserveFieldValuesWhenHidden=!1,this.fieldsIndex=t,this.preserveFieldValuesWhenHidden=!0===n,this.elementTemplateMap=new Map;for(const s of e.keys())this.elementTemplateMap.set(s.elementId,s);this._buildDependencyGraph(e)}_buildDependencyGraph(e){const t=m(e,this.fieldsIndex),n={components:[],arcadeExecutorUses:this.arcadeExecutorUses,elementTemplatesById:new Map([...e.keys()].map(e=>[e.elementId,e])),executorMap:e,fieldElementTemplateMap:f(e),fieldReferencesMap:new Map,geometryReferences:new Set,originalFeatureReferences:new Set,nextIndex:0,nodeInfoMap:t,nodeStack:new o(r),shouldConsiderVisibility:!this.preserveFieldValuesWhenHidden};for(const[o,i]of e)null!=i&&(i.editableExpression&&s(this.arcadeExecutorUses,i.editableExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"editable"}),i.valueExpression&&s(this.arcadeExecutorUses,i.valueExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"value"}),i.visibilityExpression&&s(this.arcadeExecutorUses,i.visibilityExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"visibility"}),i.requiredExpression&&s(this.arcadeExecutorUses,i.requiredExpression,()=>[]).push({elementId:o.elementId,executorPurpose:"required"}),i.textExpressions&&i.textExpressions.forEach((e,t)=>{s(this.arcadeExecutorUses,e,()=>[]).push({elementId:o.elementId,executorPurpose:"text",textExpressionIndex:t})}));for(const s of this.arcadeExecutorUses.values())s.sort(e=>"editable"===e.executorPurpose?-1:1);for(const s of t.values())-1===s.index&&c(s,n);this.dependencyGraphComponents=x(t),this.fieldReferencesMap=h(n),this.geometryReferences=E(n.geometryReferences,t),this.originalFeatureReferences=E(n.originalFeatureReferences,t),this.components=n.components}}class l{constructor(){this._executors=new Set,this._fieldsReferenced=new Set,this.adjacencyList=new Set}get executors(){return this._executors}get fieldsReferenced(){return this._fieldsReferenced}addExecutor(e){this._executors.add(e.executor),i(this._fieldsReferenced,e.fieldsUsedNormalized)}}function c(e,t){e.index=e.lowlink=t.nextIndex++,t.nodeStack.push(e);for(const n of p(e,t))-1===n.index?(c(n,t),e.lowlink=Math.min(e.lowlink,n.lowlink)):n.index<e.index&&t.nodeStack.contains(n)&&(e.lowlink=Math.min(e.lowlink,n.index)),t.nodeStack.contains(n)||null!=n.component&&e.incomingCrossLinkNeighbors.add(n.component);if(e.lowlink===e.index){const n=new l;for(t.components.push(n);y(t.nodeStack)>=e.index;){const e=t.nodeStack.pop();if(null!=e){e.component=n,n.addExecutor(e);for(const t of e.incomingCrossLinkNeighbors)t.adjacencyList.add(n)}}}}function p({executor:t,fieldsUsedNormalized:n},o){const r=new Set;for(const e of n){s(o.fieldReferencesMap,e,()=>new Set).add(t),i(r,u(e,o))}t.geometryUsed&&o.geometryReferences.add(t),t.variablesUsed.includes("$originalfeature")&&o.originalFeatureReferences.add(t);const d=o.arcadeExecutorUses.get(t)??[];for(const e of d)switch(e.executorPurpose){case"value":{const n=o.executorMap.get(o.elementTemplatesById.get(e.elementId));n?.editableExpression&&n.editableExpression!==t&&r.add(n.editableExpression);break}case"visibility":{const t=o.elementTemplatesById.get(e.elementId);if(o.shouldConsiderVisibility&&t&&a(t)){const e=t.group,n=e?o.executorMap.get(e):null;n?.visibilityExpression&&r.add(n.visibilityExpression)}break}}return Array.from(r).map(e=>o.nodeInfoMap.get(e)).filter(e)}function u(e,{executorMap:t,fieldElementTemplateMap:s,shouldConsiderVisibility:o}){const i=[],r=s.get(e);if(null==r)return i;const a=t.get(r);if(null==a)return i;if(n(i,a.editableExpression),n(i,a.valueExpression),o){n(i,a.visibilityExpression);const{group:e}=r;if(null!=e){const s=t.get(e)?.visibilityExpression;n(i,s)}}return i}function f(e){const t=new Map;for(const n of e.keys())a(n)&&t.set(n.fieldName,n);return t}function m(n,s){const o=Array.from(n.values()).filter(e),i=new Set(o.flatMap(e=>{const{textExpressions:n,...s}=e,o=[];return n?.length&&t(o,n),t(o,Object.values(s)),o})),r=Array.from(i).filter(e).map(e=>({component:null,incomingCrossLinkNeighbors:new Set,executor:e,fieldsUsedNormalized:e.fieldsUsed.map(e=>s.normalizeFieldName(e)??e),index:-1,lowlink:-1,onStack:!1}));return new Map(r.map(e=>[e.executor,e]))}function x(e){return new Map([...e.values()].map(({component:e,executor:t})=>[t,e]))}function h({fieldReferencesMap:e,nodeInfoMap:t}){const n=new Map;for(const[s,o]of e.entries())n.set(s,E(o,t));return n}function E(e,t){const n=new Set;for(const s of e){const e=t.get(s);e?.component&&n.add(e.component)}return n}function y(e){return e.peek()?.index??-1}export{d as ExpressionsModel,l as StronglyConnectedComponent,p as getDirectDependencies};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import t from"../../../../core/Logger.js";import{expressionReferencePrefix as e,fieldmapsExpressionNamePrefix as r}from"./constants.js";function n(t){const e=/{[^{]+?}/g,r=[...t.matchAll(e)];let n=0;const o=[],s=[];for(const i of r){const e=i[0];o.push(t.slice(n,i.index)),s.push(e),n=i.index+e.length}return o.push(t.slice(n)),{literals:o,templates:s}}function o(r){const[n,o]=r.split(e);return""===n&&o?o:(t.getLogger("esri.widgets.BatchAttributeForm/templates/support/textElementTemplateUtils").error("extractExpressionNameFromString:invalid-input",`The string ${r} is not a valid expression reference of the form '${e}/expressionName'`),"")}function s(t){return t.startsWith(e)}function i(t){return t.startsWith(r)}let a;const l=["blockquote","html","hr","checkbox","table","tablerow","tablecell","image"];async function c(t){return a||await u(),a.parse(t)}async function u(){const{Marked:t}=await import("marked"),e=function({href:t,title:e,tokens:r}){return`<a${null!=t?` href="${t}"`:""}${null!=e?` title="${e}"`:""} target="_blank">${this.parser.parseInline(r)}</a>`},r=()=>"",n={};for(const o of l)n[o]=r;a=new t({renderer:{link:e,...n}})}export{c as compileTextElementMarkdownToHTML,o as extractExpressionNameFromString,s as isExpressionReference,i as isLegacyFieldMapsExpressionReference,n as splitStringIntoParts};
2
+ import t from"../../../../core/Logger.js";import{expressionReferencePrefix as e,fieldmapsExpressionNamePrefix as r}from"./constants.js";function n(t){const e=/{[^{]+?}/g,r=[...t.matchAll(e)];let n=0;const o=[],s=[];for(const i of r){const e=i[0];o.push(t.slice(n,i.index)),s.push(e),n=i.index+e.length}return o.push(t.slice(n)),{literals:o,templates:s}}function o(r){const[n,o]=r.split(e);return""===n&&o?o:(t.getLogger("esri.widgets.BatchAttributeForm/templates/support/textElementTemplateUtils").error("extractExpressionNameFromString:invalid-input",`The string ${r} is not a valid expression reference of the form '${e}/expressionName'`),"")}function s(t){return t.startsWith(e)}function i(t){return t.startsWith(r)}let a;const l=["blockquote","html","hr","checkbox","table","tablerow","tablecell","image"];async function c(t){return a||await u(),a.parse(t)}async function u(){const{Marked:t}=await(import("marked")),e=function({href:t,title:e,tokens:r}){return`<a${null!=t?` href="${t}"`:""}${null!=e?` title="${e}"`:""} target="_blank">${this.parser.parseInline(r)}</a>`},r=()=>"",n={};for(const o of l)n[o]=r;a=new t({renderer:{link:e,...n}})}export{c as compileTextElementMarkdownToHTML,o as extractExpressionNameFromString,s as isExpressionReference,i as isLegacyFieldMapsExpressionReference,n as splitStringIntoParts};