@arcgis/core 4.23.0-next.20220124 → 4.23.0-next.20220129

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 (623) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/02fbc76dfdc20e628c61.js +1 -0
  5. package/assets/esri/core/workers/chunks/0453fad5cb819797b4f6.js +1 -0
  6. package/assets/esri/core/workers/chunks/0463ba46df855a92b9c0.js +1 -0
  7. package/assets/esri/core/workers/chunks/0cd0a6eef51fc5b9ea61.js +1 -0
  8. package/assets/esri/core/workers/chunks/{d1454155ee1b8a421cbb.js → 0d02c6ad1f4688bfa374.js} +1 -1
  9. package/assets/esri/core/workers/chunks/0d684f16f37d5dc385dd.js +1 -0
  10. package/assets/esri/core/workers/chunks/0e17691520d890d34efb.js +1 -0
  11. package/assets/esri/core/workers/chunks/16b6d0f8378582c051c3.js +1 -0
  12. package/assets/esri/core/workers/chunks/{0ce1dc14280d6f188468.js → 17de7a324dfa7f57ad5d.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{b313ab14a643273e7d09.js → 1877ab1b6a115dbba1c5.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{c36f84daa7736878418d.js → 197ec52641aed20029c6.js} +1 -1
  15. package/assets/esri/core/workers/chunks/1b2a961f776a0b57e57a.js +1 -0
  16. package/assets/esri/core/workers/chunks/1b3fd66577b19aa5f2b6.js +1 -0
  17. package/assets/esri/core/workers/chunks/1c733b7db092a2a88ef3.js +1 -0
  18. package/assets/esri/core/workers/chunks/1f8c6a179e39fd4c5e6f.js +1 -0
  19. package/assets/esri/core/workers/chunks/2076fcbae63f1bfb7143.js +1 -0
  20. package/assets/esri/core/workers/chunks/{9387db408f496e7dd003.js → 214910032945dd2d86b0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{b2ae5fc4f787ea568b88.js → 2460f3b6ada6ae900dec.js} +1 -1
  22. package/assets/esri/core/workers/chunks/27474b007988855bea9d.js +1 -0
  23. package/assets/esri/core/workers/chunks/281b89dbf5574fc642ae.js +1 -0
  24. package/assets/esri/core/workers/chunks/{4d539878bfbd7c549e60.js → 2c8fe9bc988c3c5760a5.js} +1 -1
  25. package/assets/esri/core/workers/chunks/2e899ef5881b4ec6fa55.js +1 -0
  26. package/assets/esri/core/workers/chunks/34b59d7099904dcb28b5.js +1 -0
  27. package/assets/esri/core/workers/chunks/357033117dfe61eb81ea.js +1 -0
  28. package/assets/esri/core/workers/chunks/37c03cfc19086ce631c6.js +1 -0
  29. package/assets/esri/core/workers/chunks/391e96192d1ec4e55ce2.js +1 -0
  30. package/assets/esri/core/workers/chunks/422537fc3df707bb62c9.js +1 -0
  31. package/assets/esri/core/workers/chunks/44f0c3663b293afbd172.js +1 -0
  32. package/assets/esri/core/workers/chunks/483d5d8593d96d0f0b15.js +1 -0
  33. package/assets/esri/core/workers/chunks/{c959e0d1cf7dce0421b9.js → 48fa8aed6c24877b44c4.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{44b01d42d4ec72913229.js → 4954fd86b48cc68b737c.js} +1 -1
  35. package/assets/esri/core/workers/chunks/49a1a633bb0d93764aae.js +1 -0
  36. package/assets/esri/core/workers/chunks/4ba6de8aa7e2960bad49.js +1 -0
  37. package/assets/esri/core/workers/chunks/4be35af7d6babbfe9d84.js +1 -0
  38. package/assets/esri/core/workers/chunks/5457962a70bd3c557a75.js +1 -0
  39. package/assets/esri/core/workers/chunks/57856b4a9b8784a69844.js +1 -0
  40. package/assets/esri/core/workers/chunks/{b9c177524b3e7de1ffd1.js → 5790d171072b3c7d108f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/57b349d1dbc0bed75b79.js +1 -0
  42. package/assets/esri/core/workers/chunks/5bcb3240b3c005e5fe72.js +1 -0
  43. package/assets/esri/core/workers/chunks/5d11b97b667921d67ae7.js +1 -0
  44. package/assets/esri/core/workers/chunks/5dbe555a5a662ff3d9ce.js +1 -0
  45. package/assets/esri/core/workers/chunks/5ec98f4ddac707d0fbd1.js +1 -0
  46. package/assets/esri/core/workers/chunks/64b7e8d812ea8fcf269e.js +1 -0
  47. package/assets/esri/core/workers/chunks/{4c9084a04948b6924749.js → 655b55ac0cd533d7e9d7.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{b0b036ad3ad3cd956747.js → 69fd99b7c76e9992ccf3.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{9cdaba126ac7fa5f33f0.js → 6cd5e4380d29b9a3c344.js} +1 -1
  50. package/assets/esri/core/workers/chunks/75d812955a473d0e8960.js +1 -0
  51. package/assets/esri/core/workers/chunks/7903a3e2e0faff0f86c0.js +1 -0
  52. package/assets/esri/core/workers/chunks/{cc146c57bbdac8029fd8.js → 7a5f5acfbd4ca1a5c1f3.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{64276aacaafa4c8a15bd.js → 7dcf52d3db3903c8eb9f.js} +1 -1
  54. package/assets/esri/core/workers/chunks/83d00afae4406ec78bc9.js +1 -0
  55. package/assets/esri/core/workers/chunks/{625d2663daa8e0cf64b0.js → 85b1f36790df95b17659.js} +1 -1
  56. package/assets/esri/core/workers/chunks/89820b200ee44e678af5.js +1 -0
  57. package/assets/esri/core/workers/chunks/8a876f91c9c7c23786b5.js +1 -0
  58. package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +1 -0
  59. package/assets/esri/core/workers/chunks/{94b8dbf859df71858d1c.js → 929c9b7cdab7c4ca3d87.js} +1 -1
  60. package/assets/esri/core/workers/chunks/94515fb3ef38067eeadd.js +1 -0
  61. package/assets/esri/core/workers/chunks/949b2269457302ffc64b.js +1 -0
  62. package/assets/esri/core/workers/chunks/952980635afc7ec81804.js +1 -0
  63. package/assets/esri/core/workers/chunks/9876a1bae350795fab36.js +1 -0
  64. package/assets/esri/core/workers/chunks/99619fcb772807c74f3b.js +1 -0
  65. package/assets/esri/core/workers/chunks/{010a71c2aa1b7681e191.js → 9d11f84e6c893b9d0019.js} +1 -1
  66. package/assets/esri/core/workers/chunks/a1930e4f035bc9aa1ae5.js +1 -0
  67. package/assets/esri/core/workers/chunks/a8692bffb76444c34760.js +1 -0
  68. package/assets/esri/core/workers/chunks/aa04b90b82bf70caaae4.js +1 -0
  69. package/assets/esri/core/workers/chunks/aeaa1667c2d9f1b3366b.js +1 -0
  70. package/assets/esri/core/workers/chunks/b2d2de935487257c568b.js +1 -0
  71. package/assets/esri/core/workers/chunks/b3f5e91116112b0b612a.js +1 -0
  72. package/assets/esri/core/workers/chunks/b97953694f42bfec1b3c.js +1 -0
  73. package/assets/esri/core/workers/chunks/b9e9cb354822c6d995a4.js +1 -0
  74. package/assets/esri/core/workers/chunks/ba762bcfd74af0bb8218.js +1 -0
  75. package/assets/esri/core/workers/chunks/bac9fc90e6756e211160.js +1 -0
  76. package/assets/esri/core/workers/chunks/be588873c16770ceb9ef.js +1 -0
  77. package/assets/esri/core/workers/chunks/bf97a933ea3b220115e1.js +1 -0
  78. package/assets/esri/core/workers/chunks/bfedd6ebff817c9b31c0.js +1 -0
  79. package/assets/esri/core/workers/chunks/c093dff4592832ac0973.js +1 -0
  80. package/assets/esri/core/workers/chunks/c1135cb02ec46c491459.js +1 -0
  81. package/assets/esri/core/workers/chunks/c2253a9f29c1aabb2b75.js +1 -0
  82. package/assets/esri/core/workers/chunks/{d39b7983b68d6e5b404d.js → cdbc005eebec1503b99d.js} +1 -1
  83. package/assets/esri/core/workers/chunks/d04fca5d46cca02500b7.js +1 -0
  84. package/assets/esri/core/workers/chunks/d08efbc349dd9f999497.js +1 -0
  85. package/assets/esri/core/workers/chunks/d1fe53b597351dc58305.js +1 -0
  86. package/assets/esri/core/workers/chunks/{a8b13fb804bb775e4967.js → db3c729ce0c0b2690dc9.js} +1 -1
  87. package/assets/esri/core/workers/chunks/dd13772a5e2eccc6a2bc.js +1 -0
  88. package/assets/esri/core/workers/chunks/dedc333a61081772ca7b.js +1 -0
  89. package/assets/esri/core/workers/chunks/{a7b1b75643ed31489495.js → e0c8d61c7a85ce15499a.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{199670a3a564ebe3bd79.js → e218bde41ffbcc5194f5.js} +1 -1
  91. package/assets/esri/core/workers/chunks/e21b211913aefde47e30.js +1 -0
  92. package/assets/esri/core/workers/chunks/e287f49184d076af17e2.js +1 -0
  93. package/assets/esri/core/workers/chunks/{bde1d5b0a7717350986e.js → e4019b63a1fe74e2c842.js} +1 -1
  94. package/assets/esri/core/workers/chunks/e8e775758b79c5a084c8.js +1 -0
  95. package/assets/esri/core/workers/chunks/e93dfdede0532a89ffa5.js +1 -0
  96. package/assets/esri/core/workers/chunks/e9e5196b44b6923be1a3.js +1 -0
  97. package/assets/esri/core/workers/chunks/ea595b0df5050eda2a13.js +1 -0
  98. package/assets/esri/core/workers/chunks/eb82ff10cef2bde6e57f.js +1 -0
  99. package/assets/esri/core/workers/chunks/ebc6f4764b82d4104c65.js +1 -0
  100. package/assets/esri/core/workers/chunks/{1305ef8717da6e902a55.js → ec10151a2a95e95a0bb5.js} +1 -1
  101. package/assets/esri/core/workers/chunks/eccba071ced2d922bb85.js +1 -0
  102. package/assets/esri/core/workers/chunks/ee6e0db58dc64410e687.js +1 -0
  103. package/assets/esri/core/workers/chunks/f0a9f161805fc7a30fc5.js +1 -0
  104. package/assets/esri/core/workers/chunks/f2124f4d0f2b8a91f0ea.js +1 -0
  105. package/assets/esri/core/workers/chunks/ff6abdc72076f3994659.js +981 -0
  106. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  107. package/assets/esri/themes/base/_mixins.scss +4 -1
  108. package/assets/esri/themes/base/icons/style.scss +11 -2
  109. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +13 -10
  110. package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +4 -2
  111. package/assets/esri/themes/base/widgets/_Directions.scss +5 -3
  112. package/assets/esri/themes/base/widgets/_Editor.scss +5 -2
  113. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +6 -4
  114. package/assets/esri/themes/base/widgets/_ItemList.scss +1 -1
  115. package/assets/esri/themes/base/widgets/_LayerList.scss +13 -9
  116. package/assets/esri/themes/base/widgets/_Popup.scss +4 -2
  117. package/assets/esri/themes/base/widgets/_Print.scss +24 -11
  118. package/assets/esri/themes/base/widgets/_Search.scss +4 -2
  119. package/assets/esri/themes/base/widgets/_TableList.scss +9 -7
  120. package/assets/esri/themes/base/widgets/_Weather.scss +12 -0
  121. package/assets/esri/themes/base/widgets/_Widget.scss +18 -9
  122. package/assets/esri/themes/dark/main.css +1 -1
  123. package/assets/esri/themes/dark-blue/main.css +1 -1
  124. package/assets/esri/themes/dark-green/main.css +1 -1
  125. package/assets/esri/themes/dark-purple/main.css +1 -1
  126. package/assets/esri/themes/dark-red/main.css +1 -1
  127. package/assets/esri/themes/light/main.css +1 -1
  128. package/assets/esri/themes/light/view.css +1 -1
  129. package/assets/esri/themes/light-blue/main.css +1 -1
  130. package/assets/esri/themes/light-green/main.css +1 -1
  131. package/assets/esri/themes/light-purple/main.css +1 -1
  132. package/assets/esri/themes/light-red/main.css +1 -1
  133. package/assets/esri/widgets/Weather/t9n/Weather.json +1 -1
  134. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  135. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  136. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  137. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  138. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  139. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  140. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  141. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  142. package/assets/esri/widgets/Weather/t9n/Weather_en.json +1 -1
  143. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  144. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  145. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  146. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  147. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  148. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  149. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  150. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  151. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  152. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  153. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  154. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  155. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  156. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  157. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  158. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  159. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  160. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  161. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  162. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  163. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  164. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  165. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  166. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  167. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  168. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  169. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  170. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  171. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  172. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  173. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  174. package/chunks/BlendLayers.glsl.js +2 -2
  175. package/chunks/ChapmanAtmosphere.glsl.js +17 -17
  176. package/chunks/CheckerBoard.glsl.js +3 -3
  177. package/chunks/Clouds.glsl.js +2 -2
  178. package/chunks/CloudsComposition.glsl.js +1 -1
  179. package/chunks/ColorMaterial.glsl.js +12 -12
  180. package/chunks/ComponentShader.glsl.js +21 -21
  181. package/chunks/Compositing.glsl.js +1 -1
  182. package/chunks/DefaultMaterial.glsl.js +33 -33
  183. package/chunks/EdgeShaderProgram.glsl.js +7 -7
  184. package/chunks/Fog.glsl.js +10 -12
  185. package/chunks/HUDMaterial.glsl.js +2 -2
  186. package/chunks/HighlightComposition.glsl.js +5 -5
  187. package/chunks/ImageMaterial.glsl.js +6 -6
  188. package/chunks/LaserlinePath.glsl.js +8 -8
  189. package/chunks/LineCallout.glsl.js +6 -6
  190. package/chunks/MeasurementArrow.glsl.js +1 -1
  191. package/chunks/NativeLine.glsl.js +1 -1
  192. package/chunks/Path.glsl.js +5 -5
  193. package/chunks/Pattern.glsl.js +9 -9
  194. package/chunks/PointRenderer.glsl.js +14 -14
  195. package/chunks/Precipitation.glsl.js +91 -0
  196. package/chunks/RealisticTree.glsl.js +21 -21
  197. package/chunks/RibbonLine.glsl.js +11 -11
  198. package/chunks/SMAA.glsl.js +40 -40
  199. package/chunks/ShadedColorMaterial.glsl.js +12 -12
  200. package/chunks/ShadowCast.glsl.js +6 -6
  201. package/chunks/ShadowHighlight.glsl.js +4 -4
  202. package/chunks/SimpleAtmosphere.glsl.js +3 -3
  203. package/chunks/SlicePlaneMaterial.glsl.js +3 -3
  204. package/chunks/Stars.glsl.js +3 -3
  205. package/chunks/Terrain.glsl.js +3 -3
  206. package/chunks/TextureOnly.glsl.js +2 -2
  207. package/chunks/WaterSurface.glsl.js +22 -22
  208. package/chunks/boundedPlane.js +1 -1
  209. package/chunks/pe.js +1 -1
  210. package/chunks/vec3.js +1 -1
  211. package/chunks/vxlLayer.js +1 -1
  212. package/core/accessorSupport/read.js +1 -1
  213. package/core/accessorSupport/watch.js +1 -1
  214. package/core/accessorSupport/write.js +1 -1
  215. package/core/clock.js +1 -1
  216. package/core/jsonMap.js +1 -1
  217. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  218. package/core/loadAll.js +1 -1
  219. package/core/promiseUtils.js +1 -1
  220. package/core/reactiveUtils.js +1 -1
  221. package/form/ExpressionInfo.js +1 -1
  222. package/geometry/pe.js +1 -1
  223. package/geometry/support/axisAngleDegrees.js +1 -1
  224. package/geometry/support/frustum.js +1 -1
  225. package/geometry/support/plane.js +1 -1
  226. package/interfaces.d.ts +263 -35
  227. package/layers/VectorTileLayer.js +1 -1
  228. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  229. package/layers/graphics/featureConversionUtils.js +1 -1
  230. package/layers/support/LayerContingentValuesCache.js +1 -1
  231. package/layers/support/TileInfo.js +1 -1
  232. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  233. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  234. package/package.json +2 -2
  235. package/popup/content/AttachmentsContent.js +1 -1
  236. package/popup/content/support/mediaInfoTypes.js +1 -1
  237. package/rest/print.js +1 -1
  238. package/smartMapping/statistics/support/predominanceUtils.d.ts +4 -0
  239. package/support/arcadeOnDemand.js +1 -1
  240. package/support/featureFlags.js +1 -1
  241. package/support/revision.js +1 -1
  242. package/symbols/FillSymbol3DLayer.js +1 -1
  243. package/symbols/IconSymbol3DLayer.js +1 -1
  244. package/symbols/LabelSymbol3D.js +1 -1
  245. package/symbols/ObjectSymbol3DLayer.js +1 -1
  246. package/symbols/PointSymbol3D.js +1 -1
  247. package/symbols/Symbol3D.js +1 -1
  248. package/symbols/WebStyleSymbol.js +1 -1
  249. package/symbols/cim/CIMSymbolHelper.js +1 -1
  250. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  251. package/symbols/cim/cimAnalyzer.js +1 -1
  252. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  253. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  254. package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
  255. package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
  256. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  257. package/symbols/support/Symbol3DIconOutline.js +1 -1
  258. package/symbols/support/Symbol3DOutline.js +1 -1
  259. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  260. package/symbols/support/Thumbnail.js +1 -1
  261. package/symbols/support/previewCIMSymbol.js +1 -1
  262. package/symbols/support/previewSymbol2D.js +1 -1
  263. package/symbols/support/previewSymbol3D.js +1 -1
  264. package/symbols/support/previewWebStyleSymbol.js +1 -1
  265. package/symbols/support/svgUtils.js +1 -1
  266. package/symbols/support/webStyleSymbolUtils.js +1 -1
  267. package/symbols.js +1 -1
  268. package/views/2d/MapViewConstraints.js +1 -1
  269. package/views/2d/engine/vectorTiles/SchemaHelper.js +1 -1
  270. package/views/2d/engine/webgl/brushes/raster/BrushRasterBitmap.js +1 -1
  271. package/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js +1 -1
  272. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  273. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  274. package/views/2d/viewpointUtils.js +1 -1
  275. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  276. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  277. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  278. package/views/3d/environment/CloudsComposition.js +1 -1
  279. package/views/3d/environment/CloudsGenerator.js +1 -1
  280. package/views/3d/environment/CloudsPresets.js +1 -1
  281. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  282. package/views/3d/environment/Fog.glsl.js +1 -1
  283. package/views/3d/environment/Fog.js +1 -1
  284. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  285. package/views/3d/environment/Precipitation.glsl.js +5 -0
  286. package/views/3d/environment/Precipitation.js +5 -0
  287. package/views/3d/environment/PrecipitationTechnique.js +5 -0
  288. package/views/3d/environment/RainyWeather.js +1 -1
  289. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  290. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  291. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  292. package/views/3d/environment/SnowyWeather.js +5 -0
  293. package/views/3d/environment/Stars.glsl.js +1 -1
  294. package/views/3d/environment/Stars.js +1 -1
  295. package/views/3d/environment/weather.js +1 -1
  296. package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
  297. package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
  298. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  299. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  300. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  301. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  302. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  303. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  304. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  305. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  306. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  307. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  308. package/views/3d/layers/GraphicsView3D.js +1 -1
  309. package/views/3d/layers/I3SMeshView3D.js +1 -1
  310. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  311. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  312. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  313. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  314. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  315. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  316. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  317. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  318. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  319. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  320. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  321. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  322. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  323. package/views/3d/layers/graphics/lineUtils.js +1 -1
  324. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  325. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  326. package/views/3d/layers/graphics/symbolComplexity.js +1 -1
  327. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  328. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  329. package/views/3d/layers/support/HeatmapFeatureProcessor.js +5 -0
  330. package/views/3d/layers/support/overlayImageUtils.js +1 -1
  331. package/views/3d/layers/support/patternUtils.js +1 -1
  332. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  333. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  334. package/views/3d/support/LaserLineRenderer.js +1 -1
  335. package/views/3d/support/LaserlinePathData.js +1 -1
  336. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  337. package/views/3d/support/sunUtils.js +1 -1
  338. package/views/3d/terrain/OverlayRenderer.js +1 -1
  339. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  340. package/views/3d/terrain/TerrainRenderer.js +1 -1
  341. package/views/3d/terrain/TerrainSurface.js +1 -1
  342. package/views/3d/terrain/Tile.js +1 -1
  343. package/views/3d/terrain/terrainUtils.js +1 -1
  344. package/views/3d/terrain/tileUtils.js +1 -1
  345. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  346. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  347. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  348. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  349. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  350. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  351. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  352. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  353. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
  354. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +2 -2
  355. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js +2 -2
  356. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +2 -2
  357. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  358. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
  359. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
  360. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
  361. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +1 -1
  362. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +3 -3
  363. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
  364. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +6 -6
  365. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +12 -12
  366. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +4 -4
  367. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
  368. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +16 -16
  369. package/views/3d/webgl-engine/core/shaderLibrary/default/RealisticTree.glsl.js +1 -1
  370. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +5 -5
  371. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +3 -3
  372. package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
  373. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +6 -6
  374. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
  375. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeShadingNormal.glsl.js +10 -11
  376. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +2 -2
  377. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
  378. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +2 -2
  379. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +6 -6
  380. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -4
  381. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
  382. package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +4 -4
  383. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +5 -5
  384. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  385. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +22 -14
  386. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  387. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  388. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  389. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +4 -4
  390. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  391. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  392. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  393. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  394. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  395. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  396. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  397. package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
  398. package/views/3d/webgl-engine/lib/Material.js +1 -1
  399. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  400. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  401. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  402. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  403. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  404. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  405. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  406. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  407. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  408. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  409. package/views/3d/{layers/graphics/IGraphics3DFeatureProcessor.js → webgl-engine/lib/TextureUniformName.js} +0 -0
  410. package/views/3d/webgl-engine/lib/UniformName.js +4 -0
  411. package/views/3d/webgl-engine/lib/VertexAttribute.js +5 -0
  412. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  413. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  414. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  415. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  416. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  417. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  418. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  419. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  420. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  421. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  422. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  423. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  424. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  425. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  426. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  427. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  428. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  429. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  430. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  431. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  432. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  433. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  434. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  435. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  436. package/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js +1 -1
  437. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  438. package/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js +1 -1
  439. package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
  440. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  441. package/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js +1 -1
  442. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  443. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  444. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  445. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  446. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  447. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  448. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  449. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  450. package/views/3d/webgl-engine/shaders/HighlightComposition.glsl.js +1 -1
  451. package/views/3d/webgl-engine/shaders/HighlightTechnique.js +1 -1
  452. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  453. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  454. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  455. package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
  456. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  457. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  458. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  459. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  460. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  461. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  462. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  463. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  464. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  465. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  466. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  467. package/views/3d/webgl-engine/shaders/SMAA.glsl.js +1 -1
  468. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  469. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  470. package/views/3d/webgl-engine/shaders/ShadowCastTechnique.js +1 -1
  471. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  472. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  473. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  474. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +10 -10
  475. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardShortEdges.glsl.js +1 -1
  476. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShaderProgram.glsl.js +1 -1
  477. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +21 -21
  478. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +6 -6
  479. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +13 -13
  480. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +6 -6
  481. package/views/MapView.js +1 -1
  482. package/views/SceneView.js +1 -1
  483. package/views/View.js +1 -1
  484. package/views/input/recognizers/DoubleTapDrag.js +1 -1
  485. package/views/input/recognizers/ImmediateDoubleClick.js +1 -1
  486. package/views/input/recognizers/PointerClickHoldAndDrag.js +1 -1
  487. package/views/input/recognizers/SingleAndDoubleClick.js +1 -1
  488. package/views/interactive/dragEventPipeline.js +1 -1
  489. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  490. package/views/support/DefaultsFromMap.js +1 -1
  491. package/views/support/WatchUpdatingTracking.js +1 -1
  492. package/views/support/projectionUtils.js +5 -0
  493. package/views/webgl/BufferObject.js +1 -1
  494. package/views/webgl/InstanceCounter.js +1 -1
  495. package/views/webgl/Program.js +1 -1
  496. package/views/webgl/rasterUtils.js +1 -1
  497. package/webdoc/support/{Thumbnail.js → SlideThumbnail.js} +1 -1
  498. package/webmap/Bookmark.js +1 -1
  499. package/webmap/Version.js +1 -1
  500. package/webscene/Slide.js +1 -1
  501. package/webscene/Version.js +1 -1
  502. package/webscene/support/SlideVisibleLayer.js +1 -1
  503. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  504. package/widgets/Attachments.js +1 -1
  505. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  506. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  507. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  508. package/widgets/BasemapGallery.js +1 -1
  509. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  510. package/widgets/Bookmarks.js +1 -1
  511. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  512. package/widgets/FeatureForm/InputField.js +1 -1
  513. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  514. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  515. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  516. package/widgets/Popup/PopupViewModel.js +1 -1
  517. package/widgets/Popup/actionUtils.js +1 -1
  518. package/widgets/Search/support/locatorUtils.js +1 -1
  519. package/widgets/Search.js +1 -1
  520. package/widgets/Slice/SliceViewModel.js +1 -1
  521. package/widgets/Slider/SliderViewModel.js +1 -1
  522. package/widgets/Slider.js +1 -1
  523. package/widgets/TimeSlider.js +1 -1
  524. package/widgets/Weather/WeatherViewModel.js +1 -1
  525. package/widgets/Weather/css.js +1 -1
  526. package/widgets/Weather/enums.js +5 -0
  527. package/widgets/Weather.js +1 -1
  528. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  529. package/widgets/support/InteractiveToolViewModel.js +1 -1
  530. package/assets/components/assets/calcite-icon/checkSquareF16.json +0 -1
  531. package/assets/components/assets/calcite-icon/checkSquareF24.json +0 -1
  532. package/assets/components/assets/calcite-icon/checkSquareF32.json +0 -1
  533. package/assets/components/assets/calcite-icon/lineSolid4.json +0 -1
  534. package/assets/components/assets/calcite-icon/squareF16.json +0 -1
  535. package/assets/components/assets/calcite-icon/squareF24.json +0 -1
  536. package/assets/components/assets/calcite-icon/squareF32.json +0 -1
  537. package/assets/components/assets/calcite-icon/xHexagon16.json +0 -1
  538. package/assets/components/assets/calcite-icon/xHexagon24.json +0 -1
  539. package/assets/components/assets/calcite-icon/xHexagon32.json +0 -1
  540. package/assets/components/assets/calcite-icon/xHexagonF16.json +0 -1
  541. package/assets/components/assets/calcite-icon/xHexagonF24.json +0 -1
  542. package/assets/components/assets/calcite-icon/xHexagonF32.json +0 -1
  543. package/assets/components/assets/calcite-icon/xOctagonF16.json +0 -1
  544. package/assets/components/assets/calcite-icon/xOctagonF24.json +0 -1
  545. package/assets/components/assets/calcite-icon/xOctagonF32.json +0 -1
  546. package/assets/esri/core/workers/chunks/09da224052976e290828.js +0 -1
  547. package/assets/esri/core/workers/chunks/0bf079e752ab79468478.js +0 -1
  548. package/assets/esri/core/workers/chunks/0c3e3a5baf54bd5e210c.js +0 -1
  549. package/assets/esri/core/workers/chunks/14bef72154b3a19561a7.js +0 -1
  550. package/assets/esri/core/workers/chunks/18668dc45eb9e35530df.js +0 -1
  551. package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +0 -1
  552. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +0 -1
  553. package/assets/esri/core/workers/chunks/208a7e24e19fc5633dd7.js +0 -1
  554. package/assets/esri/core/workers/chunks/22b09e276c9b9f22f0f8.js +0 -1
  555. package/assets/esri/core/workers/chunks/23745a5ab47c840dc452.js +0 -1
  556. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +0 -1
  557. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +0 -1
  558. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +0 -1
  559. package/assets/esri/core/workers/chunks/32f8c4af7e70ebdcb19e.js +0 -1
  560. package/assets/esri/core/workers/chunks/36a3f6fb4d1d18fcb642.js +0 -1
  561. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +0 -1
  562. package/assets/esri/core/workers/chunks/3a9740dccda6a733313c.js +0 -1
  563. package/assets/esri/core/workers/chunks/3aa4194dc5497c57647f.js +0 -1
  564. package/assets/esri/core/workers/chunks/40a1e713f63ec77110c0.js +0 -1
  565. package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +0 -1
  566. package/assets/esri/core/workers/chunks/4bfbf5a34c9207fdcf44.js +0 -1
  567. package/assets/esri/core/workers/chunks/5538639a49c7cc2eca63.js +0 -1
  568. package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +0 -1
  569. package/assets/esri/core/workers/chunks/5d4863a92b03bebc1b54.js +0 -1
  570. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +0 -1
  571. package/assets/esri/core/workers/chunks/634b5ccd7a3ac67f855d.js +0 -1
  572. package/assets/esri/core/workers/chunks/662d13f68cf3ec92439b.js +0 -1
  573. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +0 -1
  574. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +0 -1
  575. package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +0 -1
  576. package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +0 -1
  577. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +0 -1
  578. package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +0 -1
  579. package/assets/esri/core/workers/chunks/7bc5cc5dbf1b7b70ddac.js +0 -1
  580. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +0 -1
  581. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +0 -1
  582. package/assets/esri/core/workers/chunks/8b6ab6202a40fe622833.js +0 -1
  583. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +0 -1
  584. package/assets/esri/core/workers/chunks/9796d54ff12b6429164a.js +0 -1
  585. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +0 -1
  586. package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +0 -1
  587. package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +0 -1
  588. package/assets/esri/core/workers/chunks/a6ff3db3493543df81bc.js +0 -1
  589. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +0 -1
  590. package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +0 -1
  591. package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +0 -1
  592. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +0 -1
  593. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +0 -1
  594. package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +0 -1
  595. package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +0 -1
  596. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +0 -1
  597. package/assets/esri/core/workers/chunks/ba6654a885be4b7a43f0.js +0 -1
  598. package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +0 -1
  599. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +0 -1
  600. package/assets/esri/core/workers/chunks/c080114a69fa95b88d22.js +0 -1
  601. package/assets/esri/core/workers/chunks/c11474b702dfb94e8e87.js +0 -1
  602. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +0 -1
  603. package/assets/esri/core/workers/chunks/c6bd943fe8fd13bb4806.js +0 -1
  604. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +0 -1
  605. package/assets/esri/core/workers/chunks/ca2f5faa01d99c21ec14.js +0 -1
  606. package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +0 -1
  607. package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +0 -1
  608. package/assets/esri/core/workers/chunks/cfbffa429d88e7709c3f.js +0 -1
  609. package/assets/esri/core/workers/chunks/d24c4fbc567486b1188f.js +0 -1
  610. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +0 -1
  611. package/assets/esri/core/workers/chunks/da1c2873bdbc0956dca0.js +0 -1
  612. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +0 -1
  613. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +0 -981
  614. package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +0 -1
  615. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +0 -1
  616. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +0 -1
  617. package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +0 -1
  618. package/assets/esri/core/workers/chunks/f467c8f1fce22f6f599c.js +0 -1
  619. package/assets/esri/core/workers/chunks/f678293de9a6d8f5b5db.js +0 -1
  620. package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +0 -1
  621. package/assets/esri/core/workers/chunks/fd3e5d823dc7917f4b8f.js +0 -1
  622. package/assets/esri/core/workers/chunks/fe864d01e72aa24574b6.js +0 -1
  623. package/assets/esri/core/workers/chunks/ffaf091c6023225cf5aa.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import t from"../../core/Accessor.js";import{isNone as i,get as r,isSome as n}from"../../core/maybe.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../layers/support/CodedValueDomain.js";import"../../layers/support/Domain.js";import"../../layers/support/InheritedDomain.js";import"../../layers/support/RangeDomain.js";import{validateDomainValue as a,DomainValidationError as u,getDomainRange as d}from"../../layers/support/domainUtils.js";import{isNumericField as p,isStringField as m,isDateField as c,TypeValidationError as y,validateFieldValue as h,getFeatureEditFields as f,getFeatureGeometryFields as v,NumericRangeValidationError as g,getFieldRange as b}from"../../layers/support/fieldUtils.js";import{substitute as E}from"../../intl/substitute.js";var _,O;!function(e){e.Text="text",e.Number="number",e.Date="date",e.Unsupported="unsupported"}(_||(_={})),function(e){e.TOO_SHORT="length-validation-error::too-short"}(O||(O={}));const F={type:"number"},T={type:"number",intlOptions:{notation:"scientific"}},x={type:"date",intlOptions:{day:"2-digit",month:"2-digit",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}};let D=class extends t{constructor(e){super(e),this.arcade=null,this.visibilityFunction=null,this.requiredFunction=null,this.feature=null,this.field=null,this.fieldElement=null,this.initialFeature=null,this.layer=null,this.description=null,this.inputType=null,this.error=null,this.group=null,this.hint=null,this.messages=null,this.name=null}get evaluatedRequirement(){const{requiredFunction:e}=this;if(i(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get evaluatedVisibility(){const{visibilityFunction:e}=this;if(i(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get domain(){var e;const{typeIdField:t}=this.layer,i=t===this.name,l=null==(e=this.field)?void 0:e.domain;if(i&&!l){const{layer:e}=this,t="subtype-group"===e.type?e.sublayers.map((({subtypeCode:e,title:t})=>({id:e,name:t}))):e.types.map((({id:e,name:t})=>({code:e,name:t})));return new s({name:"__internal-type-based-coded-value-domain__",codedValues:t})}const{feature:o}=this,a=t&&this.layer.getFieldDomain(this.name,{feature:o})||l,u=r(this.fieldElement,"domain");return n(u)&&this._isDomainCompatible(u)?u:a}get editable(){var e,t;const{field:i,fieldElement:r,layer:l,name:o}=this,s=l.capabilities.operations.supportsEditing&&i.editable;if("subtype-group"===l.type)return s;const a=null==(e=l.popupTemplate)||null==(t=e.fieldInfos)?void 0:t.find((({fieldName:e})=>e===o)),u=n(r)?!1!==r.editable:!1!==(null==a?void 0:a.isEditable);return s&&u}get errorMessage(){return this._toErrorMessage()}get includeTime(){const{fieldElement:e}=this,t=n(e)&&"datetime-picker"===e.input.type?e.input.includeTime:void 0;return void 0===t||t}get label(){return n(this.fieldElement)&&this.fieldElement.label||this.field.alias||this.field.name}get maxLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:i}=this,r=null==t?void 0:t.length,l=n(i)&&N(i.input)?i.input.maxLength:NaN;return!isNaN(l)&&l>=e&&(r===e||l<=r)?l:r}get minLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:i}=this,r=null==t?void 0:t.length,l=n(i)&&N(i.input)?i.input.minLength:NaN;return!isNaN(l)&&l>=e&&(r===e||l<=r)?l:e}get required(){var e,t;if(!this.editable)return!1;return!(null==(e=this.field)?void 0:e.nullable)||null!=(t=this.evaluatedRequirement)&&t}get type(){const{field:e}=this;return p(e)?_.Number:m(e)?_.Text:c(e)?_.Date:_.Unsupported}get valid(){const e=this.editable?this._validate():null;return this._set("error",e),null===e}get value(){return this._get("value")}set value(e){this.notifyChange("evaluatedVisibility"),this._set("value",e)}get visible(){return!this._isEditorField()&&(n(this.fieldElement)?null==(e=this.evaluatedVisibility)||e:this._isVisibleByDefault());var e}_isDomainCompatible(e){const{field:t}=this;if("coded-value"===(null==e?void 0:e.type)){const i=typeof e.codedValues[0].code;if("string"===i&&m(t)||"number"===i&&p(t))return!0}return!!("range"===(null==e?void 0:e.type)&&p(t)||c(t))}_validate(){const{domain:e,field:t,initialFeature:i,minLength:r,required:n,type:l,valid:o,value:s}=this,u=n&&null===s,d=void 0!==o;return!u&&i.getAttribute(t.name)===s&&d?null:"text"===l&&r>-1&&"string"==typeof s&&s.length<r?O.TOO_SHORT:e?null!==s||n?a(e,s):null:u?y.INVALID_TYPE:h(t,s)}_isVisibleByDefault(){var e;const t=null==(e=this.field)?void 0:e.type;return"oid"!==t&&"global-id"!==t&&!this._isGeometryField()}_isEditorField(){return f(this.layer).indexOf(this.name)>-1}_isGeometryField(){return v(this.layer).indexOf(this.name)>-1}_toErrorMessage(){const{domain:e,field:t,messages:i,minLength:r,value:n,required:l,type:o}=this,s=this.error;if(l&&null===n)return i.validationErrors.cannotBeNull;if(s===u.VALUE_OUT_OF_RANGE||s===g.OUT_OF_RANGE){const r=d(e)||b(t);return E(i.validationErrors.outsideRange,r,{format:{max:"date"===o?x:r.isInteger?F:T,min:"date"===o?x:r.isInteger?F:T}})}return s===u.INVALID_CODED_VALUE?i.validationErrors.invalidCodedValue:s===y.INVALID_TYPE?i.validationErrors.invalidType:s===O.TOO_SHORT?E(i.validationErrors.tooShort,{min:r}):null}};function N(e){return!!e&&"maxLength"in e}e([l()],D.prototype,"arcade",void 0),e([l()],D.prototype,"visibilityFunction",void 0),e([l()],D.prototype,"requiredFunction",void 0),e([l()],D.prototype,"evaluatedRequirement",null),e([l()],D.prototype,"evaluatedVisibility",null),e([l()],D.prototype,"feature",void 0),e([l()],D.prototype,"field",void 0),e([l()],D.prototype,"fieldElement",void 0),e([l()],D.prototype,"initialFeature",void 0),e([l()],D.prototype,"layer",void 0),e([l({aliasOf:"fieldElement.description"})],D.prototype,"description",void 0),e([l()],D.prototype,"domain",null),e([l()],D.prototype,"editable",null),e([l({aliasOf:"fieldElement.input.type"})],D.prototype,"inputType",void 0),e([l({readOnly:!0})],D.prototype,"error",void 0),e([l({dependsOn:["error","messages","value"]})],D.prototype,"errorMessage",null),e([l()],D.prototype,"group",void 0),e([l({aliasOf:"fieldElement.hint"})],D.prototype,"hint",void 0),e([l()],D.prototype,"includeTime",null),e([l()],D.prototype,"label",null),e([l()],D.prototype,"maxLength",null),e([l()],D.prototype,"minLength",null),e([l()],D.prototype,"messages",void 0),e([l({aliasOf:"field.name"})],D.prototype,"name",void 0),e([l()],D.prototype,"required",null),e([l()],D.prototype,"type",null),e([l()],D.prototype,"valid",null),e([l({value:null})],D.prototype,"value",null),e([l()],D.prototype,"visible",null),D=e([o("esri.widgets.FeatureForm.InputField")],D);const j=D;export{j as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import t from"../../core/Accessor.js";import{isSome as i,isNone as l,get as r}from"../../core/maybe.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../layers/support/CodedValueDomain.js";import"../../layers/support/Domain.js";import"../../layers/support/InheritedDomain.js";import"../../layers/support/RangeDomain.js";import{validateDomainValue as a,DomainValidationError as u,getDomainRange as d}from"../../layers/support/domainUtils.js";import{isNumericField as p,isStringField as c,isDateField as m,TypeValidationError as h,validateFieldValue as y,getFeatureEditFields as f,getFeatureGeometryFields as v,NumericRangeValidationError as g,getFieldRange as E}from"../../layers/support/fieldUtils.js";import{substitute as b}from"../../intl/substitute.js";var _,x;!function(e){e.Text="text",e.Number="number",e.Date="date",e.Unsupported="unsupported"}(_||(_={})),function(e){e.TOO_SHORT="length-validation-error::too-short"}(x||(x={}));const F={type:"number"},O={type:"number",intlOptions:{notation:"scientific"}},V={type:"date",intlOptions:{day:"2-digit",month:"2-digit",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}};let T=class extends t{constructor(e){super(e),this._storedValue=null,this.arcade=null,this.editableFunction=null,this.requiredFunction=null,this.valueFunction=null,this.visibilityFunction=null,this.feature=null,this.field=null,this.fieldElement=null,this.initialFeature=null,this.layer=null,this.description=null,this.inputType=null,this.error=null,this.group=null,this.hint=null,this.messages=null,this.name=null}get _configAllowsEdits(){var e,t,l;const{fieldElement:r,layer:n,name:o}=this;if(i(r))return!1!==r.editable;const s="subtype-group"!==n.type?null==(e=n.popupTemplate)||null==(t=e.fieldInfos)?void 0:t.find((({fieldName:e})=>e===o)):null;return null==(l=null==s?void 0:s.isEditable)||l}get _layerFieldAllowsEdits(){const{field:e,layer:t}=this;return t.capabilities.operations.supportsEditing&&e.editable}get evaluatedEditableExpression(){const{editableFunction:e}=this;if(l(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get evaluatedRequiredExpression(){const{requiredFunction:e}=this;if(l(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get evaluatedVisibilityExpression(){const{visibilityFunction:e}=this;if(l(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get evaluatedValueExpression(){const{valueFunction:e}=this;if(l(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get domain(){var e;const{typeIdField:t}=this.layer,l=t===this.name,n=null==(e=this.field)?void 0:e.domain;if(l&&!n){const{layer:e}=this,t="subtype-group"===e.type?e.sublayers.map((({subtypeCode:e,title:t})=>({id:e,name:t}))):e.types.map((({id:e,name:t})=>({code:e,name:t})));return new s({name:"__internal-type-based-coded-value-domain__",codedValues:t})}const{feature:o}=this,a=t&&this.layer.getFieldDomain(this.name,{feature:o})||n,u=r(this.fieldElement,"domain");return i(u)&&this._isDomainCompatible(u)?u:a}get editable(){var e;return!!this._layerFieldAllowsEdits&&(null!=(e=this.evaluatedEditableExpression)?e:this._configAllowsEdits)}get errorMessage(){return this._toErrorMessage()}get includeTime(){const{fieldElement:e}=this,t=i(e)&&"datetime-picker"===e.input.type?e.input.includeTime:void 0;return void 0===t||t}get label(){return i(this.fieldElement)&&this.fieldElement.label||this.field.alias||this.field.name}get maxLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:l}=this,r=null==t?void 0:t.length,n=i(l)&&D(l.input)?l.input.maxLength:NaN;return!isNaN(n)&&n>=e&&(r===e||n<=r)?n:r}get minLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:l}=this,r=null==t?void 0:t.length,n=i(l)&&D(l.input)?l.input.minLength:NaN;return!isNaN(n)&&n>=e&&(r===e||n<=r)?n:e}get required(){var e,t;return!!this.editable&&(!1===(null==(e=this.field)?void 0:e.nullable)||null!=(t=this.evaluatedRequiredExpression)&&t)}get type(){const{field:e}=this;return p(e)?_.Number:c(e)?_.Text:m(e)?_.Date:_.Unsupported}get valid(){const e=this.editable?this._validate():null;return this._set("error",e),null===e}get value(){const{_layerFieldAllowsEdits:e,_configAllowsEdits:t,valueFunction:l}=this;return e&&!t&&i(l)?this.evaluatedValueExpression:this.get("_storedValue")}set value(e){this.notifyChange("evaluatedVisibilityExpression"),this.set("_storedValue",e)}get visible(){return!this._isEditorField()&&(i(this.fieldElement)?null==(e=this.evaluatedVisibilityExpression)||e:this._isVisibleByDefault());var e}_isDomainCompatible(e){const{field:t}=this;if("coded-value"===(null==e?void 0:e.type)){const i=typeof e.codedValues[0].code;if("string"===i&&c(t)||"number"===i&&p(t))return!0}return!!("range"===(null==e?void 0:e.type)&&p(t)||m(t))}_validate(){const{domain:e,field:t,initialFeature:i,minLength:l,required:r,type:n,valid:o,value:s}=this,u=r&&null===s,d=void 0!==o;return!u&&i.getAttribute(t.name)===s&&d?null:"text"===n&&l>-1&&"string"==typeof s&&s.length<l?x.TOO_SHORT:e?null!==s||r?a(e,s):null:u?h.INVALID_TYPE:y(t,s)}_isVisibleByDefault(){var e;const t=null==(e=this.field)?void 0:e.type;return"oid"!==t&&"global-id"!==t&&!this._isGeometryField()}_isEditorField(){return f(this.layer).indexOf(this.name)>-1}_isGeometryField(){return v(this.layer).indexOf(this.name)>-1}_toErrorMessage(){const{domain:e,field:t,messages:i,minLength:l,value:r,required:n,type:o}=this,s=this.error;if(n&&null===r)return i.validationErrors.cannotBeNull;if(s===u.VALUE_OUT_OF_RANGE||s===g.OUT_OF_RANGE){const l=d(e)||E(t);return b(i.validationErrors.outsideRange,l,{format:{max:"date"===o?V:l.isInteger?F:O,min:"date"===o?V:l.isInteger?F:O}})}return s===u.INVALID_CODED_VALUE?i.validationErrors.invalidCodedValue:s===h.INVALID_TYPE?i.validationErrors.invalidType:s===x.TOO_SHORT?b(i.validationErrors.tooShort,{min:l}):null}};function D(e){return!!e&&"maxLength"in e}e([n()],T.prototype,"_storedValue",void 0),e([n()],T.prototype,"_configAllowsEdits",null),e([n()],T.prototype,"_layerFieldAllowsEdits",null),e([n()],T.prototype,"arcade",void 0),e([n()],T.prototype,"editableFunction",void 0),e([n()],T.prototype,"requiredFunction",void 0),e([n()],T.prototype,"valueFunction",void 0),e([n()],T.prototype,"visibilityFunction",void 0),e([n()],T.prototype,"evaluatedEditableExpression",null),e([n()],T.prototype,"evaluatedRequiredExpression",null),e([n()],T.prototype,"evaluatedVisibilityExpression",null),e([n()],T.prototype,"evaluatedValueExpression",null),e([n()],T.prototype,"feature",void 0),e([n()],T.prototype,"field",void 0),e([n()],T.prototype,"fieldElement",void 0),e([n()],T.prototype,"initialFeature",void 0),e([n()],T.prototype,"layer",void 0),e([n({aliasOf:"fieldElement.description"})],T.prototype,"description",void 0),e([n()],T.prototype,"domain",null),e([n()],T.prototype,"editable",null),e([n({aliasOf:"fieldElement.input.type"})],T.prototype,"inputType",void 0),e([n({readOnly:!0})],T.prototype,"error",void 0),e([n({dependsOn:["error","messages","value"]})],T.prototype,"errorMessage",null),e([n()],T.prototype,"group",void 0),e([n({aliasOf:"fieldElement.hint"})],T.prototype,"hint",void 0),e([n()],T.prototype,"includeTime",null),e([n()],T.prototype,"label",null),e([n()],T.prototype,"maxLength",null),e([n()],T.prototype,"minLength",null),e([n()],T.prototype,"messages",void 0),e([n({aliasOf:"field.name"})],T.prototype,"name",void 0),e([n()],T.prototype,"required",null),e([n()],T.prototype,"type",null),e([n()],T.prototype,"valid",null),e([n({value:null})],T.prototype,"value",null),e([n()],T.prototype,"visible",null),T=e([o("esri.widgets.FeatureForm.InputField")],T);const A=T;export{A as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import s from"../../core/Collection.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import r from"../../core/Handles.js";import{on as o,watch as l}from"../../core/watchUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{highlightsSupported as d}from"../../views/support/layerViewUtils.js";import h from"./AttachmentsColumn.js";import m from"./FieldColumn.js";import c from"./Grid/Grid.js";import g from"./Grid/GridViewModel.js";import u from"./support/FeatureStore.js";import{onLocaleChange as p}from"../../intl/locale.js";import{fetchMessageBundle as f}from"../../intl/messages.js";let y=class extends(i(g)){constructor(e){super(e),this._defaultHiddenFields=["CreationDate","Creator","EditDate","Editor","GlobalID"],this._highlights=new r,this.cellClassNameGenerator=(e,t)=>e.path||null,this.dataProvider=async(e,t)=>{const{store:s}=this,{page:i,pageSize:r,sortOrders:o}=e,l=this._sortOrdersToLayerOrderByFields(o);t&&(s?(await s.set({orderByFields:l}),"loaded"!==s.state&&"loading"!==s.state&&await s.load(),t&&t(await s.fetchItems({page:i,pageSize:r}))):t&&t([]))},this.editingEnabled=!1,this.grid=null,this.hiddenFields=new s,this.highlightOnRowSelectEnabled=!0,this.itemIdPath="objectId",this.messagesCommon=null,this.relatedRecordsEnabled=!1,this.store=null,this.view=null;const{hiddenFields:t,itemIdPath:i}=this;t.addMany(this._defaultHiddenFields),this._set("store",new u),this._set("grid",new c({itemIdPath:i,viewModel:this}))}initialize(){const e=async()=>{this.messages=await f("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await f("esri/t9n/common")};e(),this.handles.add([p(e),o(this,"grid.selectedItems","change",(e=>this._onSelectionChange(e))),l(this,"relatedRecordsEnabled",(e=>this.store.relatedRecordsEnabled=e)),l(this,["layer.loaded"],(()=>{var e;null!=(e=this.layer)&&e.loaded&&this._onLayerLoad()})),l(this.store,"state",(e=>{var t;"loaded"===e&&(null==(t=this.grid)||t.scrollToTop())})),l(this,["editingEnabled","messages"],(()=>{var e;return(null==(e=this.layer)?void 0:e.loaded)&&this._generateColumns()})),l(this,"layer.definitionExpression",((e,t)=>(e||t)&&"loaded"===this.store.state&&this.refresh()))])}destroy(){var e,t;this._resetColumns(),this.handles.removeAll(),this._highlights.removeAll(),this._highlights.destroy(),null==(e=this.grid)||e.destroy(),null==(t=this.columns)||t.destroy(),this.layer=null,this.view=null}set attachmentsEnabled(e){this.attachmentsEnabled!==e&&(this._set("attachmentsEnabled",e),this._generateColumns(),this.store.attachmentsEnabled=e)}set fieldConfigs(e){var t;this._set("fieldConfigs",e),(null==(t=this.layer)?void 0:t.loaded)&&this._generateColumns()}set filterGeometry(e){(this.filterGeometry||e)&&(this.clearSelection(),this._set("filterGeometry",e),this.store.filterGeometry=e)}set layer(e){var t;this._set("layer",e),null==(t=this.grid)||t.clearSort(),this._resetColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad():e.load()),this.notifyChange("state")}set messages(e){var t;null==(t=this.grid)||t.set("messages",e),this._set("messages",e)}clearHighlights(){this._highlights.removeAll()}clearSelection(){var e;null==(e=this.grid)||e.clearSelection()}deselectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid.deselectRows(t)}getObjectIdIndex(e){var t;return null==(t=this.store)?void 0:t.getObjectIdIndex(e)}getValue(e,t){var s;const i=this.store.getItemByObjectId(e);return null==i||null==(s=i.feature)?void 0:s.attributes[t]}refresh(){var e;null==(e=this.grid)||e.refresh()}selectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid.selectRows(t)}scrollToIndex(e){var t;null==(t=this.grid)||t.scrollToIndex(e)}_onLayerLoad(){const e=this.layer.capabilities.query.maxRecordCount;e&&e<this.pageSize&&this.grid&&(this.grid.pageSize=e),this._generateColumns()}_generateColumns(){this._resetColumns(),this.columns.addMany([...this._createFieldColumns()]),this.attachmentsEnabled&&this.columns.push(this._createAttachmentsColumn())}_createFieldColumns(){return this.fieldConfigs&&this.fieldConfigs.length?this._createColumnsFromConfigs():this._createColumnsFromFields()}_createColumnsFromConfigs(){var e,t;const{editingEnabled:s,fieldConfigs:i,grid:r,hiddenFields:o,layer:l,messages:a,messagesCommon:n,store:d}=this,h=null!=(e=null==(t=this.layer)?void 0:t.fields)?e:[];return i.filter((e=>(h||[]).find((t=>e.name===t.name)))).map((e=>{const t=e.direction||null,i=e.formatFunction||null,c=e.textAlign||null,g=(h||[]).find((t=>e.name===t.name)),u=!1===e.visible||!0!==e.visible&&o.indexOf(g.name)>-1;return new m({config:e,direction:t,editingEnabled:s,field:g,formatFunction:i,grid:r,hidden:u,layer:l,store:d,messages:a,messagesCommon:n,textAlign:c})}))}_createColumnsFromFields(){var e,t;const{editingEnabled:s,grid:i,hiddenFields:r,layer:o,messages:l,messagesCommon:a,store:n}=this;return(null!=(e=null==(t=this.layer)?void 0:t.fields)?e:[]).map((e=>{const t=r.indexOf(e.name)>-1;return new m({editingEnabled:s,field:e,grid:i,hidden:t,layer:o,store:n,messages:l,messagesCommon:a})}))}_createAttachmentsColumn(){var e;return new h({header:null==(e=this.messages)?void 0:e.attachments})}_sortOrdersToLayerOrderByFields(e){return e&&e.length?e.filter(((e,t,s)=>s.map((e=>e.path)).indexOf(e.path)===t)).map((({direction:e,path:t})=>e?t+" "+e.toUpperCase():"")):[]}_highlight(e){const{view:t}=this,s=t&&e&&t.allLayerViews.items.find((({layer:t})=>t===e.layer));d(s)&&this._highlights.add(s.highlight(e),`feature-${e.getObjectId()}`)}_unhighlight(e){e&&this._highlights.remove(`feature-${e.getObjectId()}`)}_getStoreItemsFromSelectionParams(e){const s=[];return(e=e instanceof Array?e:[e]).forEach((e=>{let i=e instanceof t?e:null;const r=i?i.getObjectId():e;if("number"==typeof r||"string"==typeof r){if(!i){const e=this.store.getItemByObjectId(r);e&&(i=e.feature)}s.push({objectId:r,feature:i})}})),s}_onSelectionChange(e){const{highlightOnRowSelectEnabled:t}=this,{added:s,removed:i}=e;t&&s.forEach((e=>this._highlight(e.feature))),t&&i.forEach((e=>this._unhighlight(e.feature)))}_resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}};e([a()],y.prototype,"attachmentsEnabled",null),e([a()],y.prototype,"cellClassNameGenerator",void 0),e([a()],y.prototype,"dataProvider",void 0),e([a()],y.prototype,"editingEnabled",void 0),e([a()],y.prototype,"fieldConfigs",null),e([a()],y.prototype,"filterGeometry",null),e([a({readOnly:!0})],y.prototype,"grid",void 0),e([a()],y.prototype,"hiddenFields",void 0),e([a()],y.prototype,"highlightOnRowSelectEnabled",void 0),e([a({readOnly:!0})],y.prototype,"itemIdPath",void 0),e([a()],y.prototype,"layer",null),e([a()],y.prototype,"messages",null),e([a()],y.prototype,"messagesCommon",void 0),e([a()],y.prototype,"relatedRecordsEnabled",void 0),e([a({readOnly:!0,type:u})],y.prototype,"store",void 0),e([a()],y.prototype,"view",void 0),y=e([n("esri.widgets.FeatureTable.FeatureTableViewModel")],y);const v=y;export{v as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import s from"../../core/Collection.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import r from"../../core/Handles.js";import{on as o,watch as l}from"../../core/watchUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{highlightsSupported as d}from"../../views/support/layerViewUtils.js";import h from"./AttachmentsColumn.js";import m from"./FieldColumn.js";import c from"./Grid/Grid.js";import g from"./Grid/GridViewModel.js";import u from"./support/FeatureStore.js";import{onLocaleChange as p}from"../../intl/locale.js";import{fetchMessageBundle as f}from"../../intl/messages.js";let y=class extends(i(g)){constructor(e){super(e),this._defaultHiddenFields=["CreationDate","Creator","EditDate","Editor","GlobalID"],this._highlights=new r,this.cellClassNameGenerator=(e,t)=>e.path||null,this.dataProvider=async(e,t)=>{const{store:s}=this,{page:i,pageSize:r,sortOrders:o}=e,l=this._sortOrdersToLayerOrderByFields(o);t&&(s?(await s.set({orderByFields:l}),"loaded"!==s.state&&"loading"!==s.state&&await s.load(),t&&t(await s.fetchItems({page:i,pageSize:r}))):t&&t([]))},this.editingEnabled=!1,this.grid=null,this.hiddenFields=new s,this.highlightOnRowSelectEnabled=!0,this.itemIdPath="objectId",this.messagesCommon=null,this.relatedRecordsEnabled=!1,this.store=null,this.view=null;const{hiddenFields:t,itemIdPath:i}=this;t.addMany(this._defaultHiddenFields),this._set("store",new u),this._set("grid",new c({itemIdPath:i,viewModel:this}))}initialize(){const e=async()=>{this.messages=await f("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await f("esri/t9n/common")};e(),this.handles.add([p(e),o(this,"grid.selectedItems","change",(e=>this._onSelectionChange(e))),l(this,"relatedRecordsEnabled",(e=>this.store.relatedRecordsEnabled=e)),l(this,["layer.loaded"],(()=>{var e;null!=(e=this.layer)&&e.loaded&&this._onLayerLoad()})),l(this.store,"state",(e=>{var t;"loaded"===e&&(null==(t=this.grid)||t.scrollToTop())})),l(this,["editingEnabled","messages"],(()=>{var e;return(null==(e=this.layer)?void 0:e.loaded)&&this._generateColumns()})),l(this,"layer.definitionExpression",((e,t)=>(e||t)&&"loaded"===this.store.state&&this.refresh()))])}destroy(){var e,t;this._resetColumns(),this.handles.removeAll(),this._highlights.removeAll(),this._highlights.destroy(),null==(e=this.grid)||e.destroy(),null==(t=this.columns)||t.destroy(),this.layer=null,this.view=null}set attachmentsEnabled(e){this.attachmentsEnabled!==e&&(this._set("attachmentsEnabled",e),this._generateColumns(),this.store.attachmentsEnabled=e)}set fieldConfigs(e){var t;this._set("fieldConfigs",e),(null==(t=this.layer)?void 0:t.loaded)&&this._generateColumns()}set filterGeometry(e){(this.filterGeometry||e)&&(this.clearSelection(),this._set("filterGeometry",e),this.store.filterGeometry=e)}set layer(e){var t;this._set("layer",e),null==(t=this.grid)||t.clearSort(),this._resetColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad():e.load()),this.notifyChange("state")}set messages(e){var t;null==(t=this.grid)||t.set("messages",e),this._set("messages",e)}clearHighlights(){this._highlights.removeAll()}clearSelection(){var e;null==(e=this.grid)||e.clearSelection()}deselectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid.deselectRows(t)}getObjectIdIndex(e){var t;return null==(t=this.store)?void 0:t.getObjectIdIndex(e)}getValue(e,t){var s;const i=this.store.getItemByObjectId(e);return null==i||null==(s=i.feature)?void 0:s.attributes[t]}refresh(){var e;null==(e=this.grid)||e.refresh()}selectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid.selectRows(t)}scrollToIndex(e){var t;null==(t=this.grid)||t.scrollToIndex(e)}_onLayerLoad(){const e=this.layer.capabilities.query.maxRecordCount;e&&e<this.pageSize&&this.grid&&(this.grid.pageSize=e),this._generateColumns()}_generateColumns(){this._resetColumns(),this.columns.addMany([...this._createFieldColumns()]),this.attachmentsEnabled&&this.columns.push(this._createAttachmentsColumn())}_createFieldColumns(){return this.fieldConfigs&&this.fieldConfigs.length?this._createColumnsFromConfigs():this._createColumnsFromFields()}_createColumnsFromConfigs(){var e,t;const{editingEnabled:s,fieldConfigs:i,grid:r,hiddenFields:o,layer:l,messages:a,messagesCommon:n,store:d}=this,h=null!=(e=null==(t=this.layer)?void 0:t.fields)?e:[];return i.filter((e=>(h||[]).find((t=>e.name===t.name)))).map((e=>{const t=e.direction||null,i=e.formatFunction||null,c=e.textAlign||null,g=(h||[]).find((t=>e.name===t.name)),u=!1===e.visible||!0!==e.visible&&o.indexOf(g.name)>-1;return new m({config:e,direction:t,editingEnabled:s,field:g,formatFunction:i,grid:r,hidden:u,layer:l,store:d,messages:a,messagesCommon:n,textAlign:c})}))}_createColumnsFromFields(){var e,t;const{editingEnabled:s,grid:i,hiddenFields:r,layer:o,messages:l,messagesCommon:a,store:n}=this;return(null!=(e=null==(t=this.layer)?void 0:t.fields)?e:[]).map((e=>{const t=r.indexOf(e.name)>-1;return new m({editingEnabled:s,field:e,grid:i,hidden:t,layer:o,store:n,messages:l,messagesCommon:a})}))}_createAttachmentsColumn(){var e;return new h({header:null==(e=this.messages)?void 0:e.attachments})}_sortOrdersToLayerOrderByFields(e){return e&&e.length?e.filter(((e,t,s)=>s.map((e=>e.path)).indexOf(e.path)===t)).filter((({direction:e})=>!!e)).map((({direction:e,path:t})=>t+" "+e.toUpperCase())):[]}_highlight(e){const{view:t}=this,s=t&&e&&t.allLayerViews.items.find((({layer:t})=>t===e.layer));d(s)&&this._highlights.add(s.highlight(e),`feature-${e.getObjectId()}`)}_unhighlight(e){e&&this._highlights.remove(`feature-${e.getObjectId()}`)}_getStoreItemsFromSelectionParams(e){const s=[];return(e=e instanceof Array?e:[e]).forEach((e=>{let i=e instanceof t?e:null;const r=i?i.getObjectId():e;if("number"==typeof r||"string"==typeof r){if(!i){const e=this.store.getItemByObjectId(r);e&&(i=e.feature)}s.push({objectId:r,feature:i})}})),s}_onSelectionChange(e){const{highlightOnRowSelectEnabled:t}=this,{added:s,removed:i}=e;t&&s.forEach((e=>this._highlight(e.feature))),t&&i.forEach((e=>this._unhighlight(e.feature)))}_resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}};e([a()],y.prototype,"attachmentsEnabled",null),e([a()],y.prototype,"cellClassNameGenerator",void 0),e([a()],y.prototype,"dataProvider",void 0),e([a()],y.prototype,"editingEnabled",void 0),e([a()],y.prototype,"fieldConfigs",null),e([a()],y.prototype,"filterGeometry",null),e([a({readOnly:!0})],y.prototype,"grid",void 0),e([a()],y.prototype,"hiddenFields",void 0),e([a()],y.prototype,"highlightOnRowSelectEnabled",void 0),e([a({readOnly:!0})],y.prototype,"itemIdPath",void 0),e([a()],y.prototype,"layer",null),e([a()],y.prototype,"messages",null),e([a()],y.prototype,"messagesCommon",void 0),e([a()],y.prototype,"relatedRecordsEnabled",void 0),e([a({readOnly:!0,type:u})],y.prototype,"store",void 0),e([a()],y.prototype,"view",void 0),y=e([n("esri.widgets.FeatureTable.FeatureTableViewModel")],y);const v=y;export{v as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../core/has.js";import t from"../../core/Evented.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{isSome as r,isNone as o}from"../../core/maybe.js";import l from"../../core/ObjectPool.js";import{when as a}from"../../core/watchUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import p from"./TemplateItem.js";import u from"./TemplateItemGroup.js";var m;const c=(e,t)=>({key:t,label:t.title}),y=(e,t)=>({key:t.geometryType,label:t.geometryType});let h=m=class extends(s(t.EventedAccessor)){constructor(e){super(e),this._itemPool=new l(p),this._groupPool=new l(u),this.filterFunction=null,this.selectedItem=null}initialize(){this._get("groupBy")||(this.groupBy="layer")}destroy(){this._templateToLayer.clear()}get _templateToLayer(){const e=new Map;for(const[t,s]of this._featureTemplatesByLayer)for(const r of s)e.set(r,t);return e}set groupBy(e){if(this._set("groupBy",e),"function"!=typeof e)switch(e){case"none":this._groupByFunction=null;break;case"layer":this._groupByFunction=c;break;case"geometry":this._groupByFunction=y}else this._groupByFunction=e}set layers(e){const t="layers";if(this.handles.remove(t),e){const t=()=>this.notifyChange("state");this.handles.add(e.map((e=>a(e,"loadStatus",t))),"layers")}this._set("layers",e)}get layers(){return this._get("layers")}get state(){const{layers:e}=this;return e&&0!==e.length?e.some((e=>"loading"===e.loadStatus||"not-loaded"===e.loadStatus))?"loading":"ready":"disabled"}get _featureTemplatesByLayer(){if(!this.layers)return new Map;const e=[];for(const t of this.layers){const s="templates"in t&&t.templates?t.templates:[],r="types"in t&&t.types?f(t.types):[];e.push([t,[...s,...r]])}return new Map(e)}get numberOfFeatureTemplates(){return Array.from(this._featureTemplatesByLayer.values()).reduce(((e,t)=>e+t.length),0)}get items(){if(0===this.numberOfFeatureTemplates)return this._releasePreviousItems(),[];const e=this._featureTemplatesByLayer,t=[],s=r(this.filterFunction)?this.filterFunction:m._nullFilterFunction;for(const[r,o]of e){const{loadStatus:e,capabilities:{operations:{supportsEditing:l,supportsAdd:a}}}=r;if("loaded"===e&&l&&a)for(const i of o)t.push({layer:r,template:i,matchesFilter:s({label:i.name})})}if(o(this._groupByFunction)){const e=t.filter((({matchesFilter:e})=>e)).map((({template:e,layer:t})=>this._createItem(e,t)));return this._releasePreviousItems(),e}const l=new Map;for(const o of t){const{template:e,layer:t}=o,s=this._groupByFunction(e,t),{key:a,label:i}=r(s.key)?s:m.nullGroupBy;l.has(a)||l.set(a,{label:i,templateItemInfos:[]}),l.get(a).templateItemInfos.push(o)}const a=[];for(const r of l.values()){const{label:e,templateItemInfos:t}=r,o=t.filter((({matchesFilter:e})=>e)),l=s({label:e})?t:t.length>0?o:[];if(l.length>0){const t=l.map((({template:e,layer:t})=>this._createItem(e,t)));a.push(this._createGroup(e,t))}}return 1===a.length&&a[0].label===m.nullGroupBy.label?(this._releasePreviousItems(),a[0].items):(this._releasePreviousItems(),a)}refresh(){this.notifyChange("items")}select(e){const t=(null==e?void 0:e.clone())||null;this._set("selectedItem",t),this.emit("select",{item:t,template:(null==t?void 0:t.template)||null})}_createItem(e,t){const s=this._itemPool.acquire();return s.set({template:e,layer:t}),s}_createGroup(e,t){const s=this._groupPool.acquire();return s.set("label",e),s.items=t,s}_releasePreviousItems(){this._destroyItems(this._get("items"))}_destroyItems(e){if(!e)return;e[0]instanceof p?e.forEach((e=>this._destroyItem(e))):e.forEach((e=>this._destroyGroup(e)))}_destroyGroup(e){e.items.forEach((e=>this._destroyItem(e))),e.items.length=0,this._groupPool.release(e)}_destroyItem(e){e.layer=null,e.template=null,this._itemPool.release(e)}};function f(e){return e.reduce(((e,t)=>[...e,...t.templates]),[])}h.nullGroupBy={key:Symbol(),label:"Other​"},h._nullFilterFunction=e=>!0,e([i()],h.prototype,"_groupByFunction",void 0),e([i({readOnly:!0})],h.prototype,"_templateToLayer",null),e([i()],h.prototype,"filterFunction",void 0),e([i()],h.prototype,"groupBy",null),e([i()],h.prototype,"layers",null),e([i()],h.prototype,"state",null),e([i({readOnly:!0})],h.prototype,"_featureTemplatesByLayer",null),e([i({readOnly:!0})],h.prototype,"numberOfFeatureTemplates",null),e([i({readOnly:!0})],h.prototype,"items",null),e([i({readOnly:!0})],h.prototype,"selectedItem",void 0),e([i()],h.prototype,"select",null),h=m=e([n("esri.widgets.FeatureTemplates.FeatureTemplatesViewModel")],h);const d=h;export{d as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../core/has.js";import t from"../../core/Evented.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import{isSome as s,isNone as o}from"../../core/maybe.js";import l from"../../core/ObjectPool.js";import{when as a}from"../../core/watchUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import p from"./TemplateItem.js";import u from"./TemplateItemGroup.js";var m;const y=({layer:e})=>({key:e,label:e.title}),c=({layer:e})=>({key:e.geometryType,label:e.geometryType});let h=m=class extends(r(t.EventedAccessor)){constructor(e){super(e),this._itemPool=new l(p),this._groupPool=new l(u),this.filterFunction=null,this.selectedItem=null}initialize(){this._get("groupBy")||(this.groupBy="layer")}destroy(){this._templateToLayer.clear()}get _templateToLayer(){const e=new Map;for(const[t,r]of this._featureTemplatesByLayer)for(const s of r)e.set(s,t);return e}set groupBy(e){if(this._set("groupBy",e),"function"!=typeof e)switch(e){case"none":this._groupByFunction=null;break;case"layer":this._groupByFunction=y;break;case"geometry":this._groupByFunction=c}else this._groupByFunction=t=>this._ensureGroupByObject(e(t))}set layers(e){const t="layers";if(this.handles.remove(t),e){const t=()=>this.notifyChange("state");this.handles.add(e.map((e=>a(e,"loadStatus",t))),"layers")}this._set("layers",e)}get layers(){return this._get("layers")}get state(){const{layers:e}=this;return e&&0!==e.length?e.some((e=>"loading"===e.loadStatus||"not-loaded"===e.loadStatus))?"loading":"ready":"disabled"}get _featureTemplatesByLayer(){if(!this.layers)return new Map;const e=[];for(const t of this.layers){const r="templates"in t&&t.templates?t.templates:[],s="types"in t&&t.types?f(t.types):[];e.push([t,[...r,...s]])}return new Map(e)}get numberOfFeatureTemplates(){return Array.from(this._featureTemplatesByLayer.values()).reduce(((e,t)=>e+t.length),0)}get items(){if(0===this.numberOfFeatureTemplates)return this._releasePreviousItems(),[];const e=this._featureTemplatesByLayer,t=[],r=s(this.filterFunction)?this.filterFunction:m._nullFilterFunction;for(const[s,o]of e){const{loadStatus:e,capabilities:{operations:{supportsEditing:l,supportsAdd:a}}}=s;if("loaded"===e&&l&&a)for(const i of o)t.push({layer:s,template:i,matchesFilter:r({label:i.name})})}if(o(this._groupByFunction)){const e=t.filter((({matchesFilter:e})=>e)).map((({template:e,layer:t})=>this._createItem(e,t)));return this._releasePreviousItems(),e}const l=new Map;for(const o of t){const{template:e,layer:t}=o,r=this._groupByFunction({template:e,layer:t}),{key:a,label:i}=s(r.key)?r:m.nullGroupBy;l.has(a)||l.set(a,{label:i,templateItemInfos:[]}),l.get(a).templateItemInfos.push(o)}const a=[];for(const s of l.values()){const{label:e,templateItemInfos:t}=s,o=t.filter((({matchesFilter:e})=>e)),l=r({label:e})?t:t.length>0?o:[];if(l.length>0){const t=l.map((({template:e,layer:t})=>this._createItem(e,t)));a.push(this._createGroup(e,t))}}return 1===a.length&&a[0].label===m.nullGroupBy.label?(this._releasePreviousItems(),a[0].items):(this._releasePreviousItems(),a)}refresh(){this.notifyChange("items")}select(e){const t=(null==e?void 0:e.clone())||null;this._set("selectedItem",t),this.emit("select",{item:t,template:(null==t?void 0:t.template)||null})}_createItem(e,t){const r=this._itemPool.acquire();return r.set({template:e,layer:t}),r}_createGroup(e,t){const r=this._groupPool.acquire();return r.set("label",e),r.items=t,r}_releasePreviousItems(){this._destroyItems(this._get("items"))}_destroyItems(e){if(!e)return;e[0]instanceof p?e.forEach((e=>this._destroyItem(e))):e.forEach((e=>this._destroyGroup(e)))}_destroyGroup(e){e.items.forEach((e=>this._destroyItem(e))),e.items.length=0,this._groupPool.release(e)}_destroyItem(e){e.layer=null,e.template=null,this._itemPool.release(e)}_ensureGroupByObject(e){return"string"==typeof e?{key:e,label:e}:e}};function f(e){return e.reduce(((e,t)=>[...e,...t.templates]),[])}h.nullGroupBy={key:Symbol(),label:"Other​"},h._nullFilterFunction=e=>!0,e([i()],h.prototype,"_groupByFunction",void 0),e([i({readOnly:!0})],h.prototype,"_templateToLayer",null),e([i()],h.prototype,"filterFunction",void 0),e([i()],h.prototype,"groupBy",null),e([i()],h.prototype,"layers",null),e([i()],h.prototype,"state",null),e([i({readOnly:!0})],h.prototype,"_featureTemplatesByLayer",null),e([i({readOnly:!0})],h.prototype,"numberOfFeatureTemplates",null),e([i({readOnly:!0})],h.prototype,"items",null),e([i({readOnly:!0})],h.prototype,"selectedItem",void 0),e([i()],h.prototype,"select",null),h=m=e([n("esri.widgets.FeatureTemplates.FeatureTemplatesViewModel")],h);const d=h;export{d as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../analysis/LineOfSight.js";import s from"../../analysis/LineOfSightTarget.js";import i from"../../core/Collection.js";import{castForReferenceSetter as o,referenceSetter as r}from"../../core/collectionUtils.js";import n from"../../core/Handles.js";import{handlesGroup as a}from"../../core/handleUtils.js";import l from"../../core/Logger.js";import{destroyMaybe as c,isNone as h,isSome as d,applySome as g,unwrap as y}from"../../core/maybe.js";import{watch as m}from"../../core/reactiveUtils.js";import{whenTrueOnce as T}from"../../core/watchUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as v}from"../../core/accessorSupport/decorators/subclass.js";import{LineOfSightTool as w}from"../../views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js";import u from"./LineOfSightTarget.js";import{InteractiveAnalysisViewModel as f}from"../support/InteractiveAnalysisViewModel.js";const _=l.getLogger("esri.widgets.LineOfSight.LineOfSightViewModel"),M=i.ofType(u);let V=class extends f{constructor(e){super(e),this.logger=_,this.supportedViewType="3d",this.unsupportedErrorMessage="LineOfSightViewModel is only supported in 3D views.",this.handles=new n,this._vmTargetsToConnection=new Map,this._analysisTargetsToConnection=new Map,this.ready=!1,this.analysisView=null}initialize(){this.handles.add([this.targets.on("after-add",(e=>this._onViewModelTargetAdded(e.item))),this.targets.on("after-remove",(e=>this._onViewModelTargetRemoved(e.item))),this.analysis.targets.on("after-add",(e=>this._onAnalysisTargetAdded(e.item))),this.analysis.targets.on("after-remove",(e=>this._onAnalysisTargetRemoved(e.item)))])}destroy(){this._analysisTargetsToConnection.forEach((e=>e.remove())),this.handles=c(this.handles)}get state(){return this.disabled||!this.ready?"disabled":h(this.tool)||"pending"===this.tool.toolState?"ready":this.tool.state}get observer(){return this.analysis.observer}set observer(e){this.analysis.observer=e}get targets(){return this._get("targets")||new M}set targets(e){this._set("targets",r(e,this.targets,M))}async start(){return this.ready||await T(this,"ready"),this.createTool()}clear(){this.removeTool(),this.observer=null,this.targets.removeAll()}continue(){d(this.tool)&&this.tool.continue()}stop(){d(this.tool)&&this.tool.stop()}get testInfo(){return{getAnalysisTargetFromViewModelTarget:e=>g(this._vmTargetsToConnection.get(e),(e=>e.analysisTarget))}}constructAnalysis(){return new t}constructTool(){return new w({view:y(this.view),analysis:this.analysis,visible:this.visible})}async onConnectToAnalysisView(e){this.analysisView=e,this.ready=!0,this.handles.add([this.analysisView.on("result-changed",(e=>{const t=this._analysisTargetsToConnection.get(e.target);d(e.result)?(t.viewModelTarget.intersectedGraphic=e.result.intersectedGraphic,t.viewModelTarget.intersectedLocation=y(e.result.intersectedLocation),t.viewModelTarget.visible=e.result.visible):(t.viewModelTarget.intersectedGraphic=null,t.viewModelTarget.intersectedLocation=null,t.viewModelTarget.visible=void 0)}))],"view")}onDisconnectFromAnalysisView(){this.ready=!1,null!=this.handles&&this.handles.remove("view"),this.analysisView=null}_onViewModelTargetAdded(e){if(this._vmTargetsToConnection.get(e))return;const t=new s({location:e.location});this._connectViewModelWithAnalysisTarget(e,t),this.analysis.targets.add(t)}_onViewModelTargetRemoved(e){const t=this._vmTargetsToConnection.get(e);t&&(t.remove(),this.analysis.targets.remove(t.analysisTarget))}_onAnalysisTargetAdded(e){if(this._analysisTargetsToConnection.get(e))return;const t=new u({location:g(e.location,(e=>e.clone()))});this._connectViewModelWithAnalysisTarget(t,e),this.targets.add(t)}_onAnalysisTargetRemoved(e){const t=this._analysisTargetsToConnection.get(e);t&&(t.remove(),this.targets.remove(t.viewModelTarget))}_connectViewModelWithAnalysisTarget(e,t){let s=!1;const i=a([m((()=>t.location),(t=>{s||(s=!0,e.location=g(t,(e=>e.clone())),s=!1)}),{sync:!0}),m((()=>e.location),(e=>{s||(s=!0,t.location=g(e,(e=>e.clone())),s=!1)}),{sync:!0})]),o={analysisTarget:t,viewModelTarget:e,remove:()=>{i.remove(),this._vmTargetsToConnection.delete(e),this._analysisTargetsToConnection.delete(t)}};this._vmTargetsToConnection.set(e,o),this._analysisTargetsToConnection.set(t,o)}};e([p({readOnly:!0})],V.prototype,"state",null),e([p()],V.prototype,"ready",void 0),e([p()],V.prototype,"analysisView",void 0),e([p()],V.prototype,"observer",null),e([p({type:M,cast:o,nonNullable:!0})],V.prototype,"targets",null),V=e([v("esri.widgets.lineOfSight.LineOfSightViewModel")],V);const j=V;export{j as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../analysis/LineOfSight.js";import s from"../../analysis/LineOfSightTarget.js";import i from"../../core/Collection.js";import{castForReferenceSetter as o,referenceSetter as r}from"../../core/collectionUtils.js";import n from"../../core/Handles.js";import{handlesGroup as a}from"../../core/handleUtils.js";import l from"../../core/Logger.js";import{destroyMaybe as c,isNone as h,isSome as d,applySome as g,unwrap as m}from"../../core/maybe.js";import{whenOnce as y,watch as T,sync as p}from"../../core/reactiveUtils.js";import{property as v}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as w}from"../../core/accessorSupport/decorators/subclass.js";import{LineOfSightTool as u}from"../../views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js";import f from"./LineOfSightTarget.js";import{InteractiveAnalysisViewModel as _}from"../support/InteractiveAnalysisViewModel.js";const M=l.getLogger("esri.widgets.LineOfSight.LineOfSightViewModel"),V=i.ofType(f);let j=class extends _{constructor(e){super(e),this.analysisView=null,this.logger=M,this.supportedViewType="3d",this.unsupportedErrorMessage="LineOfSightViewModel is only supported in 3D views.",this._handles=new n,this._vmTargetsToConnection=new Map,this._analysisTargetsToConnection=new Map}initialize(){this._handles.add([this.targets.on("after-add",(e=>this._onViewModelTargetAdded(e.item))),this.targets.on("after-remove",(e=>this._onViewModelTargetRemoved(e.item))),this.analysis.targets.on("after-add",(e=>this._onAnalysisTargetAdded(e.item))),this.analysis.targets.on("after-remove",(e=>this._onAnalysisTargetRemoved(e.item)))])}destroy(){this._analysisTargetsToConnection.forEach((e=>e.remove())),this._handles=c(this._handles)}get state(){return this.disabled||!this.ready?"disabled":h(this.tool)||"pending"===this.tool.toolState?"ready":this.tool.state}get observer(){return this.analysis.observer}set observer(e){this.analysis.observer=e}get targets(){return this._get("targets")||new V}set targets(e){this._set("targets",r(e,this.targets,V))}get ready(){return d(this.analysisView)}async start(){return this.ready||await y((()=>this.ready)),this.createTool()}clear(){this.removeTool(),this.observer=null,this.targets.removeAll()}continue(){d(this.tool)&&this.tool.continue()}stop(){d(this.tool)&&this.tool.stop()}get testInfo(){return{getAnalysisTargetFromViewModelTarget:e=>g(this._vmTargetsToConnection.get(e),(e=>e.analysisTarget))}}constructAnalysis(){return new t}constructTool(){return new u({view:m(this.view),analysis:this.analysis,visible:this.visible})}async onConnectToAnalysisView(e){this.analysisView=e,this._handles.add([this.analysisView.on("result-changed",(e=>{const t=this._analysisTargetsToConnection.get(e.target);d(e.result)?(t.viewModelTarget.intersectedGraphic=e.result.intersectedGraphic,t.viewModelTarget.intersectedLocation=m(e.result.intersectedLocation),t.viewModelTarget.visible=e.result.visible):(t.viewModelTarget.intersectedGraphic=null,t.viewModelTarget.intersectedLocation=null,t.viewModelTarget.visible=void 0)}))],"view")}onDisconnectFromAnalysisView(){this.analysisView=null,null!=this._handles&&this._handles.remove("view")}_onViewModelTargetAdded(e){if(this._vmTargetsToConnection.get(e))return;const t=new s({location:e.location});this._connectViewModelWithAnalysisTarget(e,t),this.analysis.targets.add(t)}_onViewModelTargetRemoved(e){const t=this._vmTargetsToConnection.get(e);t&&(t.remove(),this.analysis.targets.remove(t.analysisTarget))}_onAnalysisTargetAdded(e){if(this._analysisTargetsToConnection.get(e))return;const t=new f({location:g(e.location,(e=>e.clone()))});this._connectViewModelWithAnalysisTarget(t,e),this.targets.add(t)}_onAnalysisTargetRemoved(e){const t=this._analysisTargetsToConnection.get(e);t&&(t.remove(),this.targets.remove(t.viewModelTarget))}_connectViewModelWithAnalysisTarget(e,t){let s=!1;const i=a([T((()=>t.location),(t=>{s||(s=!0,e.location=g(t,(e=>e.clone())),s=!1)}),p),T((()=>e.location),(e=>{s||(s=!0,t.location=g(e,(e=>e.clone())),s=!1)}),p)]),o={analysisTarget:t,viewModelTarget:e,remove:()=>{i.remove(),this._vmTargetsToConnection.delete(e),this._analysisTargetsToConnection.delete(t)}};this._vmTargetsToConnection.set(e,o),this._analysisTargetsToConnection.set(t,o)}};e([v({readOnly:!0})],j.prototype,"state",null),e([v()],j.prototype,"observer",null),e([v({type:V,cast:o,nonNullable:!0})],j.prototype,"targets",null),e([v()],j.prototype,"analysisView",void 0),e([v()],j.prototype,"ready",null),j=e([w("esri.widgets.lineOfSight.LineOfSightViewModel")],j);const b=j;export{b as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import"../../symbols.js";import s from"../../core/Collection.js";import i from"../../core/Error.js";import o from"../../core/Handles.js";import r from"../../core/Logger.js";import{unwrap as n,isNone as a}from"../../core/maybe.js";import{init as l,watch as u,whenFalse as h}from"../../core/watchUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{geographicToWebMercator as d}from"../../geometry/support/webMercatorUtils.js";import g from"../../layers/Layer.js";import f from"../../support/actions/ActionBase.js";import m from"../../support/actions/ActionButton.js";import y from"../../support/actions/ActionToggle.js";import{getDisplayedSymbol as w}from"../../symbols/support/symbolUtils.js";import{ViewEventPriorities as v}from"../../views/input/InputManager.js";import{highlightsSupported as F}from"../../views/support/layerViewUtils.js";import _ from"../Feature/FeatureViewModel.js";import{zoomToClusteredFeatures as b,browseClusteredFeatures as C,zoomToFeature as P}from"./actions.js";import{triggerAction as E,getSelectedTarget as A,removeClusteredFeaturesForBrowsing as M,displayClusterExtent as j,browseAggregateFeatures as V}from"./actionUtils.js";import O from"../support/AnchorElementViewModel.js";import{GoToMixin as x}from"../support/GoTo.js";import I from"../../symbols/SimpleFillSymbol.js";import L from"../../geometry/Point.js";const T=s.ofType({key:"type",defaultKeyValue:"button",base:f,typeMap:{button:m,toggle:y}}),S=()=>[P.clone()],B=()=>[b.clone(),C.clone()],R="esri.widgets.Popup.PopupViewModel",G=r.getLogger(R);let z=class extends(x(O)){constructor(e){super(e),this._handles=new o,this._pendingPromises=new Set,this._fetchFeaturesController=null,this._selectedClusterFeature=null,this.featurePage=null,this.actions=new T,this.defaultPopupTemplateEnabled=!1,this.autoCloseEnabled=!1,this.autoOpenEnabled=!0,this.browseClusterEnabled=!1,this.content=null,this.featuresPerPage=20,this.featureViewModelAbilities=null,this.featureViewModels=[],this.highlightEnabled=!0,this.includeDefaultActions=!0,this.selectedClusterBoundaryFeature=new t({symbol:new I({outline:{width:1.5,color:"cyan"},style:"none"})}),this.title=null,this.updateLocationEnabled=!1,this.view=null,this.visible=!1,this.zoomFactor=4,this.zoomToLocation=null}get isLoadingFeature(){return this.featureViewModels.some((e=>e.waitingForContent))}initialize(){this._handles.add([l(this,["autoOpenEnabled","view"],(()=>this._autoOpenEnabledChange())),this.on("view-change",(()=>this._autoClose())),u(this,["highlightEnabled","selectedFeature","visible","view"],(()=>this._highlightFeature())),u(this,"view.animation.state",(e=>this._animationStateChange(e))),u(this,"location",(e=>this._locationChange(e))),u(this,"selectedFeature",(e=>this._selectedFeatureChange(e))),u(this,["selectedFeatureIndex","featureCount","featuresPerPage"],(()=>this._selectedFeatureIndexChange())),u(this,["featurePage","selectedFeatureIndex","featureCount","featuresPerPage, featureViewModels"],(()=>this._setGraphicOnFeatureViewModels())),u(this,"featureViewModels",(()=>this._featureViewModelsChange())),this.on("trigger-action",(e=>E({event:e,view:this.view}))),h(this,"waitingForResult",(()=>this._waitingForResultChange()),!0),u(this,["features","view","view.map","view.spatialReference"],(()=>this._updateFeatureVMs())),u(this,["view.scale"],this._viewScaleChange),h(this,"visible",(()=>this.browseClusterEnabled=!1)),u(this,"browseClusterEnabled",(e=>e?this.enableClusterBrowsing():this.disableClusterBrowsing()))])}destroy(){this._cancelFetchingFeatures(),this._handles.destroy(),this._handles=null,this._pendingPromises.clear(),this.browseClusterEnabled=!1,this.view=null}get active(){return!(!this.visible||this.waitingForResult)}get allActions(){const e=this._get("allActions")||new T;e.removeAll();const{actions:t,defaultActions:s,defaultPopupTemplateEnabled:i,includeDefaultActions:o,selectedFeature:r}=this,n=o?s.concat(t):t,a=r&&("function"==typeof r.getEffectivePopupTemplate&&r.getEffectivePopupTemplate(i)||r.popupTemplate),l=a&&a.actions,u=a&&a.overwriteActions?l:l?l.concat(n):n;return u&&u.filter(Boolean).forEach((t=>e.add(t))),e}get defaultActions(){var e;const t=this._get("defaultActions")||new T;return t.removeAll(),t.addMany(null!=(e=this.selectedFeature)&&e.isAggregate?B():S()),t}get featureCount(){return this.features.length}get features(){return this._get("features")||[]}set features(e){const t=e||[];this._set("features",t);const{pendingPromisesCount:s,promiseCount:i,selectedFeatureIndex:o}=this,r=i&&t.length;r&&s&&-1===o?this.selectedFeatureIndex=0:r&&-1!==o||(this.selectedFeatureIndex=t.length?0:-1)}get location(){return this._get("location")||null}set location(e){const t=this.get("view.spatialReference.isWebMercator");e&&e.get("spatialReference.isWGS84")&&t&&(e=d(e)),this._set("location",e)}get pendingPromisesCount(){return this._pendingPromises.size}get waitingForResult(){return!(!(!!this._fetchFeaturesController||this.pendingPromisesCount>0)||0!==this.featureCount)}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){if(this._pendingPromises.clear(),this.features=[],!Array.isArray(e)||!e.length)return this._set("promises",[]),void this.notifyChange("pendingPromisesCount");this._set("promises",e),(e=e.slice(0)).forEach((e=>{this._pendingPromises.add(e);const t=t=>{this._pendingPromises.has(e)&&this._updateFeatures(t),this._updatePendingPromises(e)},s=()=>this._updatePendingPromises(e);e.then(t,s)})),this.notifyChange("pendingPromisesCount")}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;e=isNaN(e)||e<-1||!t?-1:(e+t)%t,this._set("selectedFeatureIndex",e)}get selectedFeatureViewModel(){return this.featureViewModels[this.selectedFeatureIndex]||null}get state(){return this.get("view.ready")?"ready":"disabled"}centerAtLocation(){const{view:e}=this,t=A(this);if(!t){const s=new i("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e});return G.error(s),Promise.reject(s)}return this.callGoTo({target:{target:t,scale:e.scale}})}clear(){this.set({promises:[],features:[],content:null,title:null,location:null})}fetchFeatures(e,t){const{view:s}=this;if(!s||!e){const t=new i("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:s});return G.error(t),Promise.reject(t)}return s.fetchPopupFeatures(e,{event:t&&t.event,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t&&t.signal})}open(e){const t={updateLocationEnabled:!1,promises:[],fetchFeatures:!1,...e,visible:!0},{fetchFeatures:s}=t;delete t.fetchFeatures,s&&this._setFetchFeaturesPromises(t.location);const i=["actionsMenuOpen","collapsed","featureMenuOpen"];for(const o of i)delete t[o];this.set(t)}triggerAction(e){const t=this.allActions.getItemAt(e);t&&!t.disabled&&this.emit("trigger-action",{action:t})}next(){return this.selectedFeatureIndex=this.selectedFeatureIndex+1,this}previous(){return this.selectedFeatureIndex=this.selectedFeatureIndex-1,this}disableClusterBrowsing(){M(this),this._clearBrowsedClusterGraphics()}async enableClusterBrowsing(){await j(this),await V(this)}_animationStateChange(e){this.zoomToLocation||(P.disabled="waiting-for-target"===e)}_clearBrowsedClusterGraphics(){var e;const t=null==(e=this.view)?void 0:e.graphics;t&&(t.remove(this.selectedClusterBoundaryFeature),t.remove(this._selectedClusterFeature)),this._selectedClusterFeature=null,this.selectedClusterBoundaryFeature.geometry=null}_viewScaleChange(){var e;(null!=(e=this.selectedFeature)&&e.isAggregate||this.browseClusterEnabled)&&(this.browseClusterEnabled=!1,this.visible=!1)}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:s}=this;s&&e&&(!t||t.geometry)&&this.centerAtLocation()}_selectedFeatureIndexChange(){this.featurePage=this.featureCount>1?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null}_featureViewModelsChange(){this.featurePage=this.featureCount>1?1:null}_setGraphicOnFeatureViewModels(){const{features:e,featureCount:t,featurePage:s,featuresPerPage:i,featureViewModels:o}=this;if(null===s)return;const r=((s-1)*i+t)%t,n=r+i;o.slice(r,n).forEach(((t,s)=>{t&&!t.graphic&&(t.graphic=e[r+s])}))}async _selectedFeatureChange(e){if(!e)return;const{location:t,updateLocationEnabled:s,view:i}=this;if(this.browseClusterEnabled){if(this._selectedClusterFeature&&(i.graphics.remove(this._selectedClusterFeature),this._selectedClusterFeature=null),e.isAggregate)return;return e.symbol=await w(e),this._selectedClusterFeature=e,void i.graphics.add(this._selectedClusterFeature)}!s&&t||!e.geometry?s&&!e.geometry&&this.centerAtLocation().then((()=>{this.location=i.center.clone()})):this.location=n(this._getPointFromGeometry(e.geometry))}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.visible=!1)}_setFetchFeaturesPromises(e){return this._fetchFeaturesWithController(this._getScreenPoint(e||this.location)).then((e=>{const{clientOnlyGraphics:t,promisesPerLayerView:s}=e,i=Promise.resolve(t),o=s.map((e=>e.promise));this.promises=[i,...o]}))}_destroyFeatureVMs(){this.featureViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",[])}_updateFeatureVMs(){const{selectedFeature:e,features:t,featureViewModels:s}=this;if(null!=e&&e.isAggregate||(this.browseClusterEnabled=!1),this._destroyFeatureVMs(),!t||!t.length)return;const i=s.slice(0),o=[];t.forEach(((t,s)=>{if(!t)return;let r=null;if(i.some(((e,s)=>(e&&e.graphic===t&&(r=e,i.splice(s,1)),!!r))),r)o[s]=r;else{var n,a;const i=new _({abilities:this.featureViewModelAbilities,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:null==(n=this.view)?void 0:n.spatialReference,graphic:t===e?t:null,map:null==(a=this.view)?void 0:a.map,view:this.view});o[s]=i}})),i.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",o)}_getScreenPoint(e){const{view:t}=this;return t&&e&&"function"==typeof t.toScreen?t.toScreen(e):null}_autoOpenEnabledChange(){const e="auto-fetch-features",{_handles:t,autoOpenEnabled:s}=this;if(t.remove(e),s&&this.view){const s=this.view.on("click",(e=>{"mouse"===e.pointerType&&0!==e.button||this._fetchFeaturesAndOpen(e)}),v.WIDGET);t.add(s,e)}}_cancelFetchingFeatures(){const e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null,this.notifyChange("waitingForResult")}_fetchFeaturesWithController(e,t){this._cancelFetchingFeatures();const s=new AbortController,{signal:i}=s;this._fetchFeaturesController=s,this.notifyChange("waitingForResult");const o=this.fetchFeatures(e,{signal:i,event:t});return o.catch((()=>{})).then((()=>{this._fetchFeaturesController=null,this.notifyChange("waitingForResult")})),o}_fetchFeaturesAndOpen(e){const{screenPoint:t,mapPoint:s}=e,{view:i}=this;this._fetchFeaturesWithController(t,e).then((e=>{const{clientOnlyGraphics:t,promisesPerLayerView:o,location:r}=e,n=[Promise.resolve(t),...o.map((e=>e.promise))];return i.popup.open({location:r||s,promises:n}),e}))}_updatePendingPromises(e){e&&this._pendingPromises.has(e)&&(this._pendingPromises.delete(e),this.notifyChange("pendingPromisesCount"))}_autoClose(){this.autoCloseEnabled&&(this.visible=!1)}_getPointFromGeometry(e){return a(e)?null:"point"===e.type?e:"extent"===e.type?e.center:"polygon"===e.type?e.centroid:"multipoint"===e.type||"polyline"===e.type?e.extent.center:null}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}async _highlightFeature(){const e="highlight";this._handles.remove(e);const{selectedFeature:t,highlightEnabled:s,view:i,visible:o}=this;if(!(t&&i&&s&&o))return;let{layer:r,sourceLayer:n}=t;if("map-notes"!==(null==n?void 0:n.type)&&"subtype-group"!==(null==n?void 0:n.type)||(r=n),!(r&&r instanceof g))return;const a=this._getLayerView(i,r);this._highlightPromise=a;const l=await a;if(!(l&&F(l)&&this._highlightPromise===a&&this.selectedFeature&&this.highlightEnabled&&this.visible))return;const u="imagery"===r.type?void 0:"objectIdField"in r&&r.objectIdField,h=t.attributes,c=h&&u&&h[u],p=l.highlight(c||t);this._handles.add(p,e)}_updateFeatures(e){const{features:t}=this;if(!e||!e.length)return;if(!t.length)return void(this.features=e);const s=e.filter((e=>-1===t.indexOf(e)));this.features=t.concat(s)}};e([c()],z.prototype,"featurePage",void 0),e([c()],z.prototype,"isLoadingFeature",null),e([c({type:T})],z.prototype,"actions",void 0),e([c({readOnly:!0})],z.prototype,"active",null),e([c({readOnly:!0})],z.prototype,"allActions",null),e([c({type:Boolean})],z.prototype,"defaultPopupTemplateEnabled",void 0),e([c()],z.prototype,"autoCloseEnabled",void 0),e([c()],z.prototype,"autoOpenEnabled",void 0),e([c()],z.prototype,"browseClusterEnabled",void 0),e([c()],z.prototype,"content",void 0),e([c({type:T,readOnly:!0})],z.prototype,"defaultActions",null),e([c({readOnly:!0})],z.prototype,"featureCount",null),e([c()],z.prototype,"features",null),e([c()],z.prototype,"featuresPerPage",void 0),e([c()],z.prototype,"featureViewModelAbilities",void 0),e([c({readOnly:!0})],z.prototype,"featureViewModels",void 0),e([c()],z.prototype,"highlightEnabled",void 0),e([c()],z.prototype,"includeDefaultActions",void 0),e([c({type:L})],z.prototype,"location",null),e([c({readOnly:!0})],z.prototype,"pendingPromisesCount",null),e([c({readOnly:!0})],z.prototype,"selectedClusterBoundaryFeature",void 0),e([c({readOnly:!0})],z.prototype,"waitingForResult",null),e([c({readOnly:!0})],z.prototype,"promiseCount",null),e([c()],z.prototype,"promises",null),e([c({value:null,readOnly:!0})],z.prototype,"selectedFeature",null),e([c({value:-1})],z.prototype,"selectedFeatureIndex",null),e([c({readOnly:!0})],z.prototype,"selectedFeatureViewModel",null),e([c({readOnly:!0})],z.prototype,"state",null),e([c()],z.prototype,"title",void 0),e([c()],z.prototype,"updateLocationEnabled",void 0),e([c()],z.prototype,"view",void 0),e([c()],z.prototype,"visible",void 0),e([c()],z.prototype,"zoomFactor",void 0),e([c()],z.prototype,"zoomToLocation",void 0),e([c()],z.prototype,"centerAtLocation",null),z=e([p(R)],z);const U=z;export{U as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import"../../symbols.js";import s from"../../core/Collection.js";import i from"../../core/Error.js";import o from"../../core/Handles.js";import r from"../../core/Logger.js";import{unwrap as n,isNone as a}from"../../core/maybe.js";import{init as l,watch as u,whenFalse as h}from"../../core/watchUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{geographicToWebMercator as d}from"../../geometry/support/webMercatorUtils.js";import g from"../../layers/Layer.js";import f from"../../support/actions/ActionBase.js";import m from"../../support/actions/ActionButton.js";import y from"../../support/actions/ActionToggle.js";import{getDisplayedSymbol as w}from"../../symbols/support/symbolUtils.js";import{ViewEventPriorities as v}from"../../views/input/InputManager.js";import{highlightsSupported as F}from"../../views/support/layerViewUtils.js";import _ from"../Feature/FeatureViewModel.js";import{zoomToClusteredFeatures as b,browseClusteredFeatures as C,zoomToFeature as P}from"./actions.js";import{triggerAction as E,getSelectedTarget as A,removeClusteredFeaturesForBrowsing as M,displayClusterExtent as j,browseAggregateFeatures as V}from"./actionUtils.js";import O from"../support/AnchorElementViewModel.js";import{GoToMixin as x}from"../support/GoTo.js";import I from"../../symbols/SimpleFillSymbol.js";import L from"../../geometry/Point.js";const T=s.ofType({key:"type",defaultKeyValue:"button",base:f,typeMap:{button:m,toggle:y}}),S=()=>[P.clone()],B=()=>[b.clone(),C.clone()],R="esri.widgets.Popup.PopupViewModel",G=r.getLogger(R);let z=class extends(x(O)){constructor(e){super(e),this._handles=new o,this._pendingPromises=new Set,this._fetchFeaturesController=null,this._selectedClusterFeature=null,this.featurePage=null,this.actions=new T,this.defaultPopupTemplateEnabled=!1,this.autoCloseEnabled=!1,this.autoOpenEnabled=!0,this.browseClusterEnabled=!1,this.content=null,this.featuresPerPage=20,this.featureViewModelAbilities=null,this.featureViewModels=[],this.highlightEnabled=!0,this.includeDefaultActions=!0,this.selectedClusterBoundaryFeature=new t({symbol:new I({outline:{width:1.5,color:"cyan"},style:"none"})}),this.title=null,this.updateLocationEnabled=!1,this.view=null,this.visible=!1,this.zoomFactor=4,this.zoomToLocation=null}get isLoadingFeature(){return this.featureViewModels.some((e=>e.waitingForContent))}initialize(){this._handles.add([l(this,["autoOpenEnabled","view"],(()=>this._autoOpenEnabledChange())),this.on("view-change",(()=>this._autoClose())),u(this,["highlightEnabled","selectedFeature","visible","view"],(()=>this._highlightFeature())),u(this,"view.animation.state",(e=>this._animationStateChange(e))),u(this,"location",(e=>this._locationChange(e))),u(this,"selectedFeature",(e=>this._selectedFeatureChange(e))),u(this,["selectedFeatureIndex","featureCount","featuresPerPage"],(()=>this._selectedFeatureIndexChange())),u(this,["featurePage","selectedFeatureIndex","featureCount","featuresPerPage, featureViewModels"],(()=>this._setGraphicOnFeatureViewModels())),u(this,"featureViewModels",(()=>this._featureViewModelsChange())),this.on("trigger-action",(e=>E({event:e,view:this.view}))),h(this,"waitingForResult",(()=>this._waitingForResultChange()),!0),u(this,["features","view","view.map","view.spatialReference"],(()=>this._updateFeatureVMs())),u(this,["view.scale"],this._viewScaleChange),h(this,"visible",(()=>this.browseClusterEnabled=!1)),u(this,"browseClusterEnabled",(e=>e?this.enableClusterBrowsing():this.disableClusterBrowsing()))])}destroy(){this._cancelFetchingFeatures(),this._handles.destroy(),this._handles=null,this._pendingPromises.clear(),this.browseClusterEnabled=!1,this.view=null}get active(){return!(!this.visible||this.waitingForResult)}get allActions(){const e=this._get("allActions")||new T;e.removeAll();const{actions:t,defaultActions:s,defaultPopupTemplateEnabled:i,includeDefaultActions:o,selectedFeature:r}=this,n=o?s.concat(t):t,a=r&&("function"==typeof r.getEffectivePopupTemplate&&r.getEffectivePopupTemplate(i)||r.popupTemplate),l=a&&a.actions,u=a&&a.overwriteActions?l:l?l.concat(n):n;return u&&u.filter(Boolean).forEach((t=>e.add(t))),e}get defaultActions(){var e;const t=this._get("defaultActions")||new T;return t.removeAll(),t.addMany(null!=(e=this.selectedFeature)&&e.isAggregate?B():S()),t}get featureCount(){return this.features.length}get features(){return this._get("features")||[]}set features(e){const t=e||[];this._set("features",t);const{pendingPromisesCount:s,promiseCount:i,selectedFeatureIndex:o}=this,r=i&&t.length;r&&s&&-1===o?this.selectedFeatureIndex=0:r&&-1!==o||(this.selectedFeatureIndex=t.length?0:-1)}get location(){return this._get("location")||null}set location(e){const t=this.get("view.spatialReference.isWebMercator");e&&e.get("spatialReference.isWGS84")&&t&&(e=d(e)),this._set("location",e)}get pendingPromisesCount(){return this._pendingPromises.size}get waitingForResult(){return!(!(!!this._fetchFeaturesController||this.pendingPromisesCount>0)||0!==this.featureCount)}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){if(this._pendingPromises.clear(),this.features=[],!Array.isArray(e)||!e.length)return this._set("promises",[]),void this.notifyChange("pendingPromisesCount");this._set("promises",e),(e=e.slice(0)).forEach((e=>{this._pendingPromises.add(e);const t=t=>{this._pendingPromises.has(e)&&this._updateFeatures(t),this._updatePendingPromises(e)},s=()=>this._updatePendingPromises(e);e.then(t,s)})),this.notifyChange("pendingPromisesCount")}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;e=isNaN(e)||e<-1||!t?-1:(e+t)%t,this._set("selectedFeatureIndex",e)}get selectedFeatureViewModel(){return this.featureViewModels[this.selectedFeatureIndex]||null}get state(){return this.get("view.ready")?"ready":"disabled"}centerAtLocation(){const{view:e}=this,t=A(this);if(!t){const s=new i("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e});return G.error(s),Promise.reject(s)}return this.callGoTo({target:{target:t,scale:e.scale}})}clear(){this.set({promises:[],features:[],content:null,title:null,location:null})}fetchFeatures(e,t){const{view:s}=this;if(!s||!e){const t=new i("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:s});return G.error(t),Promise.reject(t)}return s.fetchPopupFeatures(e,{event:t&&t.event,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t&&t.signal})}open(e){const t={updateLocationEnabled:!1,promises:[],fetchFeatures:!1,...e,visible:!0},{fetchFeatures:s}=t;delete t.fetchFeatures,s&&this._setFetchFeaturesPromises(t.location);const i=["actionsMenuOpen","collapsed","featureMenuOpen"];for(const o of i)delete t[o];this.set(t)}triggerAction(e){const t=this.allActions.getItemAt(e);t&&!t.disabled&&this.emit("trigger-action",{action:t})}next(){return this.selectedFeatureIndex=this.selectedFeatureIndex+1,this}previous(){return this.selectedFeatureIndex=this.selectedFeatureIndex-1,this}disableClusterBrowsing(){M(this),this._clearBrowsedClusterGraphics()}async enableClusterBrowsing(){await j(this),await V(this)}_animationStateChange(e){this.zoomToLocation||(P.disabled="waiting-for-target"===e)}_clearBrowsedClusterGraphics(){var e;const t=null==(e=this.view)?void 0:e.graphics;t&&(t.remove(this.selectedClusterBoundaryFeature),t.remove(this._selectedClusterFeature)),this._selectedClusterFeature=null,this.selectedClusterBoundaryFeature.geometry=null}_viewScaleChange(){var e;if(null!=(e=this.selectedFeature)&&e.isAggregate)return this.browseClusterEnabled=!1,this.visible=!1,void this.clear();this.browseClusterEnabled&&(this.browseClusterEnabled=!1,this.features=[this.selectedFeature])}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:s}=this;s&&e&&(!t||t.geometry)&&this.centerAtLocation()}_selectedFeatureIndexChange(){this.featurePage=this.featureCount>1?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null}_featureViewModelsChange(){this.featurePage=this.featureCount>1?1:null}_setGraphicOnFeatureViewModels(){const{features:e,featureCount:t,featurePage:s,featuresPerPage:i,featureViewModels:o}=this;if(null===s)return;const r=((s-1)*i+t)%t,n=r+i;o.slice(r,n).forEach(((t,s)=>{t&&!t.graphic&&(t.graphic=e[r+s])}))}async _selectedFeatureChange(e){if(!e)return;const{location:t,updateLocationEnabled:s,view:i}=this;if(this.browseClusterEnabled){if(this._selectedClusterFeature&&(i.graphics.remove(this._selectedClusterFeature),this._selectedClusterFeature=null),e.isAggregate)return;return e.symbol=await w(e),this._selectedClusterFeature=e,void i.graphics.add(this._selectedClusterFeature)}!s&&t||!e.geometry?s&&!e.geometry&&this.centerAtLocation().then((()=>{this.location=i.center.clone()})):this.location=n(this._getPointFromGeometry(e.geometry))}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.visible=!1)}_setFetchFeaturesPromises(e){return this._fetchFeaturesWithController(this._getScreenPoint(e||this.location)).then((e=>{const{clientOnlyGraphics:t,promisesPerLayerView:s}=e,i=Promise.resolve(t),o=s.map((e=>e.promise));this.promises=[i,...o]}))}_destroyFeatureVMs(){this.featureViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",[])}_updateFeatureVMs(){const{selectedFeature:e,features:t,featureViewModels:s}=this;if(null!=e&&e.isAggregate||(this.browseClusterEnabled=!1),this._destroyFeatureVMs(),!t||!t.length)return;const i=s.slice(0),o=[];t.forEach(((t,s)=>{if(!t)return;let r=null;if(i.some(((e,s)=>(e&&e.graphic===t&&(r=e,i.splice(s,1)),!!r))),r)o[s]=r;else{var n,a;const i=new _({abilities:this.featureViewModelAbilities,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:null==(n=this.view)?void 0:n.spatialReference,graphic:t===e?t:null,map:null==(a=this.view)?void 0:a.map,view:this.view});o[s]=i}})),i.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",o)}_getScreenPoint(e){const{view:t}=this;return t&&e&&"function"==typeof t.toScreen?t.toScreen(e):null}_autoOpenEnabledChange(){const e="auto-fetch-features",{_handles:t,autoOpenEnabled:s}=this;if(t.remove(e),s&&this.view){const s=this.view.on("click",(e=>{"mouse"===e.pointerType&&0!==e.button||this._fetchFeaturesAndOpen(e)}),v.WIDGET);t.add(s,e)}}_cancelFetchingFeatures(){const e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null,this.notifyChange("waitingForResult")}_fetchFeaturesWithController(e,t){this._cancelFetchingFeatures();const s=new AbortController,{signal:i}=s;this._fetchFeaturesController=s,this.notifyChange("waitingForResult");const o=this.fetchFeatures(e,{signal:i,event:t});return o.catch((()=>{})).then((()=>{this._fetchFeaturesController=null,this.notifyChange("waitingForResult")})),o}_fetchFeaturesAndOpen(e){const{screenPoint:t,mapPoint:s}=e,{view:i}=this;this._fetchFeaturesWithController(t,e).then((e=>{const{clientOnlyGraphics:t,promisesPerLayerView:o,location:r}=e,n=[Promise.resolve(t),...o.map((e=>e.promise))];return i.popup.open({location:r||s,promises:n}),e}))}_updatePendingPromises(e){e&&this._pendingPromises.has(e)&&(this._pendingPromises.delete(e),this.notifyChange("pendingPromisesCount"))}_autoClose(){this.autoCloseEnabled&&(this.visible=!1)}_getPointFromGeometry(e){return a(e)?null:"point"===e.type?e:"extent"===e.type?e.center:"polygon"===e.type?e.centroid:"multipoint"===e.type||"polyline"===e.type?e.extent.center:null}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}async _highlightFeature(){const e="highlight";this._handles.remove(e);const{selectedFeature:t,highlightEnabled:s,view:i,visible:o}=this;if(!(t&&i&&s&&o))return;let{layer:r,sourceLayer:n}=t;if("map-notes"!==(null==n?void 0:n.type)&&"subtype-group"!==(null==n?void 0:n.type)||(r=n),!(r&&r instanceof g))return;const a=this._getLayerView(i,r);this._highlightPromise=a;const l=await a;if(!(l&&F(l)&&this._highlightPromise===a&&this.selectedFeature&&this.highlightEnabled&&this.visible))return;const u="imagery"===r.type?void 0:"objectIdField"in r&&r.objectIdField,h=t.attributes,c=h&&u&&h[u],p=l.highlight(c||t);this._handles.add(p,e)}_updateFeatures(e){const{features:t}=this;if(!e||!e.length)return;if(!t.length)return void(this.features=e);const s=e.filter((e=>-1===t.indexOf(e)));this.features=t.concat(s)}};e([c()],z.prototype,"featurePage",void 0),e([c()],z.prototype,"isLoadingFeature",null),e([c({type:T})],z.prototype,"actions",void 0),e([c({readOnly:!0})],z.prototype,"active",null),e([c({readOnly:!0})],z.prototype,"allActions",null),e([c({type:Boolean})],z.prototype,"defaultPopupTemplateEnabled",void 0),e([c()],z.prototype,"autoCloseEnabled",void 0),e([c()],z.prototype,"autoOpenEnabled",void 0),e([c()],z.prototype,"browseClusterEnabled",void 0),e([c()],z.prototype,"content",void 0),e([c({type:T,readOnly:!0})],z.prototype,"defaultActions",null),e([c({readOnly:!0})],z.prototype,"featureCount",null),e([c()],z.prototype,"features",null),e([c()],z.prototype,"featuresPerPage",void 0),e([c()],z.prototype,"featureViewModelAbilities",void 0),e([c({readOnly:!0})],z.prototype,"featureViewModels",void 0),e([c()],z.prototype,"highlightEnabled",void 0),e([c()],z.prototype,"includeDefaultActions",void 0),e([c({type:L})],z.prototype,"location",null),e([c({readOnly:!0})],z.prototype,"pendingPromisesCount",null),e([c({readOnly:!0})],z.prototype,"selectedClusterBoundaryFeature",void 0),e([c({readOnly:!0})],z.prototype,"waitingForResult",null),e([c({readOnly:!0})],z.prototype,"promiseCount",null),e([c()],z.prototype,"promises",null),e([c({value:null,readOnly:!0})],z.prototype,"selectedFeature",null),e([c({value:-1})],z.prototype,"selectedFeatureIndex",null),e([c({readOnly:!0})],z.prototype,"selectedFeatureViewModel",null),e([c({readOnly:!0})],z.prototype,"state",null),e([c()],z.prototype,"title",void 0),e([c()],z.prototype,"updateLocationEnabled",void 0),e([c()],z.prototype,"view",void 0),e([c()],z.prototype,"visible",void 0),e([c()],z.prototype,"zoomFactor",void 0),e([c()],z.prototype,"zoomToLocation",void 0),e([c()],z.prototype,"centerAtLocation",null),z=e([p(R)],z);const U=z;export{U as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import t from"../../core/Logger.js";import{throwIfNotAbortError as r}from"../../core/promiseUtils.js";import{zoomToFeature as i,zoomToClusteredFeatures as o,browseClusteredFeatures as n,removeSelectedFeature as a}from"./actions.js";const s="esri.widgets.Popup.PopupViewModel",c=t.getLogger(s),u=function(t){const{event:s,view:c}=t,{action:u}=s,d=c&&c.popup;if(!u)return Promise.reject(new e("trigger-action:missing-arguments","Event has no action"));if(!d)return Promise.reject(new e("trigger-action:missing-arguments","view.popup is missing"));const{disabled:l,id:v}=u;if(!v)return Promise.reject(new e("trigger-action:invalid-action","action.id is missing"));if(l)return Promise.reject(new e("trigger-action:invalid-action","Action is disabled"));if(v===i.id)return g(d.viewModel).catch(r);if(v===o.id)return w(d.viewModel);if(v===n.id)return d.featureMenuOpen=!d.featureMenuOpen,d.viewModel.browseClusterEnabled=!d.viewModel.browseClusterEnabled,Promise.resolve();if(d.viewModel.browseClusterEnabled=!1,v===a.id){d.close();const{selectedFeature:t}=d;if(!t)return Promise.reject(new e(`trigger-action:${a.id}`,"selectedFeature is required",{selectedFeature:t}));const{sourceLayer:r}=t;return r?r.remove(t):c.graphics.remove(t),Promise.resolve()}return Promise.resolve()};function d(e){const{selectedFeature:t,location:r,view:i}=e;if(!i)return null;if("3d"===i.type)return t||r;return e.get("selectedFeature.geometry")||r}function l(t,r){if("3d"!==(null==r?void 0:r.type)||!t||"esri.Graphic"!==t.declaredClass)return!0;const i=r.getViewForGraphic(t);if(i&&"whenGraphicBounds"in i){let r=!1;return i.whenGraphicBounds(t,{useViewElevation:!0}).then((e=>{r=!e||!e.boundingBox||e.boundingBox[0]===e.boundingBox[3]&&e.boundingBox[1]===e.boundingBox[4]&&e.boundingBox[2]===e.boundingBox[5]})).catch((()=>{const r=new e("zoom-to:invalid-graphic","Could not zoom to the location of the graphic.",{graphic:t});c.error(r)})),r}return!0}async function g(t){const{location:r,selectedFeature:o,view:n,zoomFactor:a}=t,s=d(t);if(!s){const t=new e("zoom-to:invalid-target-or-view","Cannot zoom to location without a target and view.",{target:s,view:n});return c.error(t),Promise.reject(t)}const u=n.scale/a,g=t.get("selectedFeature.geometry")||r,w=g&&"point"===g.type&&l(o,n);i.active=!0,i.disabled=!0;try{await t.view.goTo({target:s,scale:w?u:void 0})}finally{i.active=!1,i.disabled=!1,t.zoomToLocation=null,w&&(t.location=g)}}async function w(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("zoomToCluster:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("zoomToCluster:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const n=r.sourceLayer,a=await i.whenLayerView(n),s=a.createQuery();s.aggregateIds=[r.getObjectId()],o.active=!0,o.disabled=!0;const{extent:u}=await a.queryExtent(s);await i.goTo({target:u}),o.active=!1,o.disabled=!1}async function v(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("displayClusterExtent:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("zoomToCluster:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const o=r.sourceLayer,n=await i.whenLayerView(o),a=n.createQuery();a.aggregateIds=[r.getObjectId()];const{extent:s}=await n.queryExtent(a);t.selectedClusterBoundaryFeature.geometry=s,i.graphics.add(t.selectedClusterBoundaryFeature)}async function p(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("browseAggregateFeatures:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("browseAggregateFeatures:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const o=r.sourceLayer,a=await i.whenLayerView(o),s=a.createQuery();s.aggregateIds=[r.getObjectId()],n.active=!0,n.disabled=!0;const{features:u}=await a.queryFeatures(s);n.active=!1,n.disabled=!1,i.popup.open({features:[r].concat(u),featureMenuOpen:!0})}function f(e){e.features=e.features.filter((e=>e.isAggregate))}export{p as browseAggregateFeatures,v as displayClusterExtent,d as getSelectedTarget,l as isZoomScreenSize,f as removeClusteredFeaturesForBrowsing,u as triggerAction,w as zoomToClusterExtent,g as zoomToLocation};
5
+ import e from"../../core/Error.js";import t from"../../core/Logger.js";import{throwIfNotAbortError as r}from"../../core/promiseUtils.js";import{zoomToFeature as i,zoomToClusteredFeatures as o,browseClusteredFeatures as n,removeSelectedFeature as a}from"./actions.js";const s="esri.widgets.Popup.PopupViewModel",c=t.getLogger(s),u=function(t){const{event:s,view:c}=t,{action:u}=s,d=c&&c.popup;if(!u)return Promise.reject(new e("trigger-action:missing-arguments","Event has no action"));if(!d)return Promise.reject(new e("trigger-action:missing-arguments","view.popup is missing"));const{disabled:l,id:v}=u;if(!v)return Promise.reject(new e("trigger-action:invalid-action","action.id is missing"));if(l)return Promise.reject(new e("trigger-action:invalid-action","Action is disabled"));if(v===i.id)return g(d.viewModel).catch(r);if(v===o.id)return w(d.viewModel);if(v===n.id)return d.featureMenuOpen=!d.featureMenuOpen,d.viewModel.browseClusterEnabled=!d.viewModel.browseClusterEnabled,Promise.resolve();if(d.viewModel.browseClusterEnabled=!1,v===a.id){d.close();const{selectedFeature:t}=d;if(!t)return Promise.reject(new e(`trigger-action:${a.id}`,"selectedFeature is required",{selectedFeature:t}));const{sourceLayer:r}=t;return r?r.remove(t):c.graphics.remove(t),Promise.resolve()}return Promise.resolve()};function d(e){const{selectedFeature:t,location:r,view:i}=e;if(!i)return null;if("3d"===i.type)return t||r;return e.get("selectedFeature.geometry")||r}function l(t,r){if("3d"!==(null==r?void 0:r.type)||!t||"esri.Graphic"!==t.declaredClass)return!0;const i=r.getViewForGraphic(t);if(i&&"whenGraphicBounds"in i){let r=!1;return i.whenGraphicBounds(t,{useViewElevation:!0}).then((e=>{r=!e||!e.boundingBox||e.boundingBox[0]===e.boundingBox[3]&&e.boundingBox[1]===e.boundingBox[4]&&e.boundingBox[2]===e.boundingBox[5]})).catch((()=>{const r=new e("zoom-to:invalid-graphic","Could not zoom to the location of the graphic.",{graphic:t});c.error(r)})),r}return!0}async function g(t){const{location:r,selectedFeature:o,view:n,zoomFactor:a}=t,s=d(t);if(!s){const t=new e("zoom-to:invalid-target-or-view","Cannot zoom to location without a target and view.",{target:s,view:n});return c.error(t),Promise.reject(t)}const u=n.scale/a,g=t.get("selectedFeature.geometry")||r,w=g&&"point"===g.type&&l(o,n);i.active=!0,i.disabled=!0;try{await t.view.goTo({target:s,scale:w?u:void 0})}finally{i.active=!1,i.disabled=!1,t.zoomToLocation=null,w&&(t.location=g)}}async function w(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("zoomToCluster:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("zoomToCluster:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const n=r.sourceLayer,a=await i.whenLayerView(n),s=a.createQuery();s.aggregateIds=[r.getObjectId()],o.active=!0,o.disabled=!0;const{extent:u}=await a.queryExtent(s);await i.goTo({target:u}),o.active=!1,o.disabled=!1}async function v(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("displayClusterExtent:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("zoomToCluster:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const o=r.sourceLayer,n=await i.whenLayerView(o),a=n.createQuery();a.aggregateIds=[r.getObjectId()];const{extent:s}=await n.queryExtent(a);t.selectedClusterBoundaryFeature.geometry=s,i.graphics.add(t.selectedClusterBoundaryFeature)}async function p(t){const{selectedFeature:r,view:i}=t;if("2d"!==(null==i?void 0:i.type)){const t=new e("browseAggregateFeatures:invalid-view","View must be 2d MapView.",{view:i});throw c.error(t),t}if(!r.isAggregate){const t=new e("browseAggregateFeatures:invalid-selectedFeature","Selected feature must represent an aggregate/cluster graphic.",{selectedFeature:r});throw c.error(t),t}const o=r.sourceLayer,a=await i.whenLayerView(o),s=a.createQuery();s.aggregateIds=[r.getObjectId()],n.active=!0,n.disabled=!0;const{features:u}=await a.queryFeatures(s);n.active=!1,n.disabled=!1,i.popup.open({features:[r].concat(u),featureMenuOpen:!0})}function f(e){var t;null!=(t=e.selectedFeature)&&t.isAggregate&&(e.features=e.features.filter((e=>e.isAggregate)))}export{p as browseAggregateFeatures,v as displayClusterExtent,d as getSelectedTarget,l as isZoomScreenSize,f as removeClusteredFeaturesForBrowsing,u as triggerAction,w as zoomToClusterExtent,g as zoomToLocation};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Graphic.js";import{unwrap as o,isSome as t}from"../../../core/maybe.js";import r from"../../../geometry/Polygon.js";import{addressToLocations as s}from"../../../rest/locator/addressToLocations.js";import{locationToAddress as n}from"../../../rest/locator/locationToAddress.js";import{suggestLocations as i}from"../../../rest/locator/suggestLocations.js";import c from"../../../rest/support/AddressToLocationsParameters.js";import a from"../../../rest/support/LocationToAddressParameters.js";import l from"../../../rest/support/SuggestLocationsParameters.js";import{createExtentFromGeometry as u,scaleExtent as m}from"./geometryUtils.js";const f="Single Line Input",d=3e5;function g(e,o){return e.location?j(e,o):I(e,o)}function p(e,o){if(o.localSearchDisabled)return null;const t=null==e?void 0:e.scale;return"number"==typeof t&&t<=d?e.get("extent.center"):null}function y(e,t){const{source:r,spatialReference:s,view:n,suggestTerm:c,maxSuggestions:a,sourceIndex:u}=e,m=new l,{apiKey:f,url:d}=r,g=h(r,n),y=t&&t.signal;if(!d)return Promise.resolve(null);f&&(m.apiKey=f),r.categories&&(m.categories=r.categories),s&&(m.outSpatialReference=s);const x=p(n,r);x&&(m.location=x);if(!c.trim())return Promise.resolve(null);const{prefix:v="",suffix:S=""}=r,w=`${v}${c}${S}`;return m.text=w,g&&(m.searchExtent=o(g)),m.maxSuggestions=a,r.countryCode&&(m.countryCode=r.countryCode),i(d,m,{signal:y}).then((e=>b(e,u)))}function x(e){return!!e&&/(?:geocode\-api\.arcgis\.com\/arcgis\/rest\/services\/world\/geocodeserver).*/gi.test(e)}function v(e){return!!e&&/(?:\/servers\/[\da-z\.-]+\/rest\/services\/world\/geocodeserver).*/gi.test(e)}function S(e){return!!e&&/(?:arcgis\.com\/arcgis\/rest\/services\/world\/geocodeserver).*/gi.test(e)}const w="https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer";function j(e,o){const{source:t,spatialReference:r,location:s,sourceIndex:i,view:c}=e,{apiKey:l,url:u,zoomScale:m,defaultZoomScale:f}=t,d=c&&c.scale,g=o&&o.signal,p=new a;return p.location=s,l&&(p.apiKey=l),r&&(p.outSpatialReference=r),n(u,p,{signal:g}).then((e=>L([e],{sourceIndex:i,scale:d,view:c,zoomScale:m,defaultZoomScale:f})))}function h(e,o){const{filter:t,withinViewEnabled:r}=e,s=o&&o.scale,n=o&&o.extent,i=t&&t.geometry;return u(i,o,s)||(r&&n?n:void 0)}function I(e,t){const{source:r,suggestResult:n,spatialReference:i,view:a,maxResults:l,sourceIndex:u}=e,m=r&&r.zoomScale,d=r&&r.defaultZoomScale;if(!n.text.trim())return Promise.resolve(null);const g=!n.key&&r.prefix?r.prefix:"",y=!n.key&&r.suffix?r.suffix:"",x=`${g}${n.text}${y}`,v=new c,{apiKey:S,url:w}=r,j=a&&a.scale,I=h(r,a),$=t&&t.signal;if(S&&(v.apiKey=S),!w)return Promise.resolve(null);r.categories&&(v.categories=r.categories),r.locationType&&(v.locationType=r.locationType),i&&(v.outSpatialReference=i);const b=p(a,r);b&&(v.location=b),v.maxLocations=l,I&&(v.searchExtent=o(I)),r.countryCode&&(v.countryCode=r.countryCode);const{key:K}=n,P=`${K}`;return K&&(v.magicKey=P),v.address={},v.address[r.singleLineFieldName||f]=x,r.outFields&&(v.outFields=r.outFields),s(w,v,{signal:$}).then((e=>L(e,{key:P,scale:j,sourceIndex:u,view:a,zoomScale:m,defaultZoomScale:d})))}function $(e,o){return{text:e.text,key:e.magicKey,sourceIndex:o}}function b(e,o){return e.map((e=>$(e,o)))}function K(o,s){const{key:n,scale:i,sourceIndex:c,view:a,zoomScale:l,defaultZoomScale:f}=s,{attributes:d,extent:g,location:p,address:y}=o,x=new e({geometry:p,attributes:d}),v=g||p,S=u(v,a,i),w="number"==typeof l?m(S,a,l):"number"==typeof f&&"point"===v.type?m(S,a,f):S,j=p?`${p.x},${p.y}`:"",h=y||j,I=x.clone();return t(w)&&(I.geometry=r.fromExtent(w)),{extent:w,feature:x,target:I,key:n,name:h,sourceIndex:c}}function L(e,o){return e.filter(Boolean).map((e=>K(e,o)))}export{p as getLocation,g as getResults,y as getSuggestions,S as isArcGISWorldGeocoder,x as isMeteredArcGISWorldGeocoder,v as isProxiedArcGISWorldGeocoder,w as meteredArcGISLocatorUrl};
5
+ import e from"../../../Graphic.js";import{unwrap as o,isSome as t}from"../../../core/maybe.js";import r from"../../../geometry/Polygon.js";import{addressToLocations as s}from"../../../rest/locator/addressToLocations.js";import{locationToAddress as n}from"../../../rest/locator/locationToAddress.js";import{suggestLocations as i}from"../../../rest/locator/suggestLocations.js";import c from"../../../rest/support/AddressToLocationsParameters.js";import a from"../../../rest/support/LocationToAddressParameters.js";import l from"../../../rest/support/SuggestLocationsParameters.js";import{createExtentFromGeometry as u,scaleExtent as m}from"./geometryUtils.js";const f="Single Line Input",d=3e5;function g(e,o){return e.location?h(e,o):I(e,o)}function p(e,o){if(o.localSearchDisabled)return null;const t=null==e?void 0:e.scale;return"number"==typeof t&&t<=d?e.get("extent.center"):null}function y(e,t){const{source:r,spatialReference:s,view:n,suggestTerm:c,maxSuggestions:a,sourceIndex:u}=e,m=new l,{apiKey:f,url:d}=r,g=j(r,n),y=t&&t.signal;if(!d)return Promise.resolve(null);f&&(m.apiKey=f),r.categories&&(m.categories=r.categories),s&&(m.outSpatialReference=s);const x=p(n,r);x&&(m.location=x);if(!c.trim())return Promise.resolve(null);const{prefix:v="",suffix:S=""}=r,w=`${v}${c}${S}`;return m.text=w,g&&(m.searchExtent=o(g)),m.maxSuggestions=a,r.countryCode&&(m.countryCode=r.countryCode),i(d,m,{signal:y}).then((e=>b(e,u)))}function x(e){return!!e&&/(?:geocode\-api\.arcgis\.com\/arcgis\/rest\/services\/world\/geocodeserver).*/gi.test(e)}function v(e){return!!e&&/(?:\/servers\/[\da-z\.-]+\/rest\/services\/world\/geocodeserver).*/gi.test(e)}function S(e){return!!e&&/(?:arcgis\.com\/arcgis\/rest\/services\/world\/geocodeserver).*/gi.test(e)}const w="https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer";function h(e,o){const{source:t,spatialReference:r,location:s,sourceIndex:i,view:c}=e,{apiKey:l,url:u,zoomScale:m,defaultZoomScale:f}=t,d=c&&c.scale,g=o&&o.signal,p=new a;return p.location=s,l&&(p.apiKey=l),r&&(p.outSpatialReference=r),n(u,p,{signal:g}).then((e=>L([e],{sourceIndex:i,scale:d,view:c,zoomScale:m,defaultZoomScale:f}))).catch((()=>[]))}function j(e,o){const{filter:t,withinViewEnabled:r}=e,s=o&&o.scale,n=o&&o.extent,i=t&&t.geometry;return u(i,o,s)||(r&&n?n:void 0)}function I(e,t){const{source:r,suggestResult:n,spatialReference:i,view:a,maxResults:l,sourceIndex:u}=e,m=r&&r.zoomScale,d=r&&r.defaultZoomScale;if(!n.text.trim())return Promise.resolve(null);const g=!n.key&&r.prefix?r.prefix:"",y=!n.key&&r.suffix?r.suffix:"",x=`${g}${n.text}${y}`,v=new c,{apiKey:S,url:w}=r,h=a&&a.scale,I=j(r,a),$=t&&t.signal;if(S&&(v.apiKey=S),!w)return Promise.resolve(null);r.categories&&(v.categories=r.categories),r.locationType&&(v.locationType=r.locationType),i&&(v.outSpatialReference=i);const b=p(a,r);b&&(v.location=b),v.maxLocations=l,I&&(v.searchExtent=o(I)),r.countryCode&&(v.countryCode=r.countryCode);const{key:K}=n,P=`${K}`;return K&&(v.magicKey=P),v.address={},v.address[r.singleLineFieldName||f]=x,r.outFields&&(v.outFields=r.outFields),s(w,v,{signal:$}).then((e=>L(e,{key:P,scale:h,sourceIndex:u,view:a,zoomScale:m,defaultZoomScale:d})))}function $(e,o){return{text:e.text,key:e.magicKey,sourceIndex:o}}function b(e,o){return e.map((e=>$(e,o)))}function K(o,s){const{key:n,scale:i,sourceIndex:c,view:a,zoomScale:l,defaultZoomScale:f}=s,{attributes:d,extent:g,location:p,address:y}=o,x=new e({geometry:p,attributes:d}),v=g||p,S=u(v,a,i),w="number"==typeof l?m(S,a,l):"number"==typeof f&&"point"===v.type?m(S,a,f):S,h=p?`${p.x},${p.y}`:"",j=y||h,I=x.clone();return t(w)&&(I.geometry=r.fromExtent(w)),{extent:w,feature:x,target:I,key:n,name:j,sourceIndex:c}}function L(e,o){return e.filter(Boolean).map((e=>K(e,o)))}export{p as getLocation,g as getResults,y as getSuggestions,S as isArcGISWorldGeocoder,x as isMeteredArcGISWorldGeocoder,v as isProxiedArcGISWorldGeocoder,w as meteredArcGISLocatorUrl};
package/widgets/Search.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{eventKey as t}from"../core/events.js";import s from"../core/Handles.js";import{escapeRegExpString as i}from"../core/string.js";import{watch as r,on as n,init as o}from"../core/watchUtils.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import d from"./Search/SearchResultRenderer.js";import h from"./Search/SearchViewModel.js";import{storeNode as g,keepMenuItemWithinView as p,isActivationKey as _}from"./support/widgetUtils.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as v}from"./support/decorators/vmEvent.js";import{tsx as M}from"./support/jsxFactory.js";import{substitute as I}from"../intl/substitute.js";const w={base:"esri-search esri-widget",loader:"esri-widget__loader",loaderText:"esri-widget__loader-text",loaderAnimation:"esri-widget__loader-animation",esriInput:"esri-input",hasMultipleSources:"esri-search--multiple-sources",isLoading:"esri-search--loading",isSearching:"esri-search--searching",showSuggestions:"esri-search--show-suggestions",showSources:"esri-search--sources",showWarning:"esri-search--warning",container:"esri-search__container",input:"esri-search__input",inputContainer:"esri-search__input-container",form:"esri-search__form",submitButton:"esri-search__submit-button",sourcesButton:"esri-search__sources-button",clearButton:"esri-search__clear-button",sourceName:"esri-search__source-name",suggestionsMenu:"esri-search__suggestions-menu",suggestionList:"esri-search__suggestions-list",suggestionListCurrentLocation:"esri-search__suggestions-list--current-location",sourcesMenu:"esri-search__sources-menu",source:"esri-search__source",warningMenu:"esri-search__warning-menu",warningMenuBody:"esri-search__warning-body",warningMenuHeader:"esri-search__warning-header",warningMenuText:"esri-search__warning-text",noValueText:"esri-search__no-value-text",esriWidgetDisabled:"esri-widget--disabled",button:"esri-widget--button",fallbackText:"esri-icon-font-fallback-text",header:"esri-widget__heading",locate:"esri-icon-locate-circled",menu:"esri-menu",menuList:"esri-menu__list",menuItem:"esri-menu__list-item",menuItemActive:"esri-menu__list-item--active",menuItemFocus:"esri-menu__list-item--focus",menuHeader:"esri-menu__header",loadingIcon:"esri-icon-loading-indicator esri-rotating",searchIcon:"esri-icon-search",dropdownIcon:"esri-icon-down-arrow esri-search__sources-button--down",dropupIcon:"esri-icon-up-arrow esri-search__sources-button--up",clearIcon:"esri-icon-close",noticeIcon:"esri-icon-notice-triangle",widgetIcon:"esri-icon-search",disabled:"esri-disabled"},S=/<[a-z/][\s\S]*>/i;let b=class extends c{constructor(e,t){super(e,t),this._activeMenuItemIndex=-1,this._handles=new s,this._inputNode=null,this._menuItemCount=0,this._sourceMenuButtonNode=null,this._sourceListNode=null,this._suggestionListNode=null,this._searchResultRenderer=new d,this._locateFailed=null,this._container=null,this.activeMenu="none",this.activeSource=null,this.activeSourceIndex=null,this.allPlaceholder=null,this.allSources=null,this.autoNavigate=null,this.autoSelect=null,this.defaultSources=null,this.disabled=!1,this.goToOverride=null,this.iconClass=w.widgetIcon,this.includeDefaultSources=null,this.label=void 0,this.locationEnabled=null,this.maxResults=null,this.maxSuggestions=null,this.messages=null,this.messagesCommon=null,this.minSuggestCharacters=null,this.popupEnabled=null,this.popupTemplate=null,this.portal=null,this.resultGraphic=null,this.resultGraphicEnabled=null,this.results=null,this.searchAllEnabled=null,this.searchTerm=null,this.selectedResult=null,this.sources=null,this.suggestions=null,this.suggestionsEnabled=null,this.view=null,this.viewModel=new h,this._clearActiveMenu=()=>{this.activeMenu="none"},this._removeActiveMenu=e=>{var t;const s=e.relatedTarget;s&&null!=(t=this._container)&&t.contains(s)||this._clearActiveMenu()},this.own(r(this,"searchTerm",(e=>{(e&&"warning"===this.activeMenu||!e&&!this.get("viewModel.selectedSuggestion.location"))&&this._clearActiveMenu()})),n(this,"viewModel.allSources","change",(()=>this._watchSourceChanges())),o(this,"activeMenu",(()=>this._resetActiveMenuItemIndex())),o(this,"viewModel.defaultPopupTemplate",(e=>{e&&(e.content=this._renderSearchResultsContent.bind(this))})))}destroy(){this._handles.destroy(),this._handles=null,this._cancelSuggest(),this._cancelSearch(),this._searchResultRenderer&&(this._searchResultRenderer.viewModel=null,this._searchResultRenderer.destroy(),this._searchResultRenderer=null)}get displayedSearchTerm(){return`${this.viewModel.searchTerm}`.trim()}get inputId(){return this._buildId("input")}get suggestionsMenuId(){return this._buildId("suggest-menu")}get sourceMenuId(){return this._buildId("source-menu")}get sourceMenuButtonId(){return this._buildId("source-menu-button")}clear(){}focus(){var e;null==(e=this._inputNode)||e.focus(),this.emit("search-focus")}blur(){var e;null==(e=this._inputNode)||e.blur(),this.emit("search-blur")}search(e){this._clearActiveMenu(),this._cancelSuggest(),this._cancelSearch();const t=new AbortController,{signal:s}=t;return this._searchController=t,this.viewModel.search(e,{signal:s}).catch((e=>{if(this._searchController===t)return this._clearActiveMenu(),this._searchController=null,e})).then((e=>{if(this._searchController===t)return this.activeMenu=e.numResults?"none":"warning",this._searchController=null,e}))}suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;return this._suggestController=t,this.viewModel.suggest(e,null,{signal:s}).then((e=>{if(this._suggestController===t)return this._suggestController=null,e.numResults&&this._openSuggestionMenu(),this._scrollToTopSuggestion(),e})).catch((()=>{if(this._suggestController===t)return this._suggestController=null,null}))}render(){const{state:e}=this.viewModel,t={[w.disabled]:"disabled"===e,[w.esriWidgetDisabled]:this.disabled};return M("div",{class:this.classes(w.base,t)},"loading"===e?this.renderLoader():this.renderContainer())}renderSubmitButton(){const{messages:e}=this;return M("button",{"aria-label":e.searchButtonTitle,bind:this,class:this.classes(w.submitButton,w.button),key:"esri-search__submit-button",onclick:this._handleSearchButtonClick,title:e.searchButtonTitle,type:"button"},M("span",{"aria-hidden":"true",class:w.searchIcon}))}renderWarningMenu(){return M("div",{key:"esri-search__error-menu",class:this.classes(w.menu,w.warningMenu)},M("div",{class:w.warningMenuBody},this.renderWarning()))}renderSourceMenuButton(){const{messages:e,activeMenu:t,sourceMenuId:s,sourceMenuButtonId:i}=this,{activeSourceIndex:r,allSources:n}=this.viewModel;return n.length>1?M("button",{id:i,key:"esri-search__source-menu-button",bind:this,"aria-label":e.searchIn,title:e.searchIn,"aria-haspopup":"true","aria-expanded":("source"===t).toString(),"aria-controls":s,class:this.classes(w.sourcesButton,w.button),onclick:this._handleSourcesMenuToggleClick,onfocus:this._clearActiveMenu,afterCreate:g,"data-node-ref":"_sourceMenuButtonNode",type:"button"},M("span",{"aria-hidden":"true",class:w.dropdownIcon}),M("span",{"aria-hidden":"true",class:w.dropupIcon}),M("span",{class:w.sourceName},this._getSourceName(r))):null}renderSourcesList(){const{allSources:e,searchAllEnabled:t}=this.viewModel,{_activeMenuItemIndex:s,activeMenu:i,sourceMenuId:r,sourceMenuButtonId:n}=this,o="source"===i&&s>-1?this._buildId("source-item",s):null;return e.length>1?M("ul",{"aria-activedescendant":o,"aria-labelledby":n,id:r,role:"menu",bind:this,afterCreate:g,onkeydown:this._handleSourceMenuKeydown,onkeyup:this._handleSourceMenuKeyup,"data-node-ref":"_sourceListNode",class:w.menuList,tabIndex:-1},t?this.renderSource(h.ALL_INDEX):null,e.map(((e,t)=>this.renderSource(t))).toArray()):null}renderSourcesMenu(){const{allSources:e}=this.viewModel;return e.length>1?M("div",{key:"esri-search__source-menu",class:this.classes(w.menu,w.sourcesMenu)},this.renderSourcesList()):null}renderLoader(){const{messages:e,messagesCommon:t}=this;return M("div",{class:w.loader,key:"base-loader"},M("span",{"aria-hidden":"true",class:w.loaderAnimation}),M("span",{class:w.fallbackText},e.searchButtonTitle),M("span",{class:w.loaderText},t.loading))}renderContainer(){const{allSources:e,state:t}=this.viewModel,{activeMenu:s}=this,i={[w.hasMultipleSources]:e.length>1,[w.isLoading]:"loading"===t,[w.isSearching]:"searching"===t,[w.showWarning]:"warning"===s,[w.showSources]:"source"===s,[w.showSuggestions]:"suggestion"===s};return M("div",{tabIndex:-1,afterCreate:e=>{this._container=e,e.addEventListener("focusout",this._removeActiveMenu)},afterRemoved:e=>{e.removeEventListener("focusout",this._removeActiveMenu)},class:this.classes(i,w.container),key:"base-container"},this.renderSourceMenuButton(),this.renderSourcesMenu(),this.renderInputContainer(),this.renderSubmitButton(),this.renderWarningMenu())}renderClearButton(){return this.searchTerm?M("button",{bind:this,class:this.classes(w.clearButton,w.button),key:"esri-search__clear-button",onclick:this._handleClearButtonClick,onfocus:this._clearActiveMenu,title:this.messages.clearButtonTitle,type:"button"},M("span",{"aria-hidden":"true",class:w.clearIcon})):null}renderLocationGroup(){const{messages:e,locationEnabled:t,displayedSearchTerm:s}=this,i=t&&!s,r="suggestion"===this.activeMenu&&0===this._activeMenuItemIndex;return i?M("ul",{role:"group",key:"esri-search__suggestion-list-current-location",class:this.classes(w.menuList,w.suggestionList,w.suggestionListCurrentLocation)},M("li",{bind:this,"data-current-location-item":!0,onclick:this._handleUseCurrentLocationClick,id:this._buildId("suggestion-item",0),"aria-selected":("suggestion"===this.activeMenu&&0===this._activeMenuItemIndex).toString(),role:"option",class:this.classes(w.menuItem,r?w.menuItemFocus:null)},M("span",{"aria-hidden":"true",class:w.locate})," ",e.useCurrentLocation)):null}renderInput(){const{activeMenu:e,locationEnabled:t,displayedSearchTerm:s,messages:i,suggestionsMenuId:r,inputId:n,_activeMenuItemIndex:o}=this,{maxInputLength:a,placeholder:u,searchTerm:l,suggestionCount:c}=this.viewModel,d=!(!(t&&!s)&&!c),h="suggestion"===e&&o>-1?this._buildId("suggestion-item",o):null;return M("input",{"aria-activedescendant":h,"aria-autocomplete":"list","aria-expanded":(d&&"suggestion"===e).toString(),"aria-controls":d?r:null,"aria-haspopup":"listbox","aria-label":i.searchButtonTitle,bind:this,placeholder:u,maxlength:a,autocomplete:"off",type:"text",class:this.classes(w.esriInput,w.input),value:l,id:n,role:"combobox",onkeyup:this._handleInputKeyup,onclick:this._openSuggestionMenu,oninput:this._handleInputPaste,onpaste:this._handleInputPaste,afterCreate:g,"data-node-ref":"_inputNode",onfocus:this.focus,onblur:this.blur,title:l?"":u})}renderForm(){return M("form",{key:"esri-search__form",bind:this,class:w.form,onsubmit:this._formSubmit,role:"search"},this.renderInput())}renderSuggestList(e){const{sourceIndex:t}=e,s=e.results.length,i=e.results;return s?M("ul",{role:"group",key:`esri-search__suggestion-list-${t}`,class:this.classes(w.menuList,w.suggestionList)},i.map((e=>this.renderSuggestion(e,this._menuItemCount++)))):null}renderSuggestionsGroup(){const{suggestions:e}=this.viewModel;return e?e.map((e=>[this.renderSuggestionHeader(e),this.renderSuggestList(e)])):null}renderSuggestionsMenu(){const{displayedSearchTerm:e,locationEnabled:t,suggestionsMenuId:s,inputId:i}=this,{suggestionCount:r}=this.viewModel,n=t&&!e||r;return this._menuItemCount=0,n?M("div",{id:s,key:"esri-search__suggestions-menu",class:this.classes(w.menu,w.suggestionsMenu),role:"listbox","aria-labelledby":i,bind:this,afterCreate:g,"data-node-ref":"_suggestionListNode"},this.renderLocationGroup(),this.renderSuggestionsGroup()):null}renderInputContainer(){return M("div",{key:"esri-search__input-container",class:w.inputContainer},this.renderForm(),this.renderSuggestionsMenu(),this.renderClearButton())}renderSuggestionHeader(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:i}=e,r=e.results.length,n=t.length>1&&s===h.ALL_INDEX;return r&&n?M("div",{key:`esri-search__suggestion-header-${i}`,class:w.menuHeader},this._getSourceName(i)):null}renderSuggestion(e,t){const{_activeMenuItemIndex:s,messages:i}=this,{searchTerm:r}=this.viewModel;if(r){const{text:n}=e,o=n||i.untitledResult,a=S.test(o),u=[];if(a)u.push(M("div",{innerHTML:o}));else{const e=this._splitResult(o,r),t=r.toLowerCase();e.forEach(((e,s)=>{e&&e.length&&(e.toLowerCase()===t?u.push(M("strong",{key:s},e)):u.push(e))}))}const l="suggestion"===this.activeMenu&&s===t;return M("li",{bind:this,id:this._buildId("suggestion-item",t),"aria-selected":("suggestion"===this.activeMenu&&this._activeMenuItemIndex===t).toString(),onclick:this._handleSuggestionClick,key:`esri-search__suggestion_${t}`,"data-suggestion":e,role:"option",class:this.classes(w.menuItem,l?w.menuItemFocus:null)},u)}}renderSource(e){const{activeSourceIndex:t,searchAllEnabled:s}=this.viewModel,i={[w.menuItemActive]:e===t,[w.menuItemFocus]:"source"===this.activeMenu&&e===(s?this._activeMenuItemIndex-1:this._activeMenuItemIndex)},r=s?e+1:e;return M("li",{bind:this,key:`esri-search__source-${e}`,id:this._buildId("source-item",r),"aria-checked":(e===t).toString(),onclick:this._handleSourceClick,"data-source-index":e,role:"menuitemradio",class:this.classes(w.source,w.menuItem,i)},this._getSourceName(e))}renderNoResultsWarning(e){const{messages:t}=this,s=e?I(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return M("div",{key:"esri-search__no_results"},M("div",{class:w.warningMenuHeader},t.noResults),M("div",{class:w.warningMenuText},s))}renderEmptySearchWarning(){const{messages:e}=this;return M("div",{key:"esri-search__empty-search"},M("span",{"aria-hidden":"true",class:w.noticeIcon}),M("span",{class:w.noValueText},e.emptyValue))}renderLocateWarning(){const{messages:e}=this;return M("div",{key:"esri-search__locate-error"},M("span",{"aria-hidden":"true",class:w.noticeIcon}),M("span",{class:w.noValueText},e.locateError))}renderWarning(){var e;const{displayedSearchTerm:t,_locateFailed:s}=this,{viewModel:i}=this;return s?this.renderLocateWarning():null!=(e=i.selectedSuggestion)&&e.location||t?this.renderNoResultsWarning(t):this.renderEmptySearchWarning()}_resetActiveMenuItemIndex(){this._activeMenuItemIndex=-1}_buildId(e,t){return`${this.id}-${e}${void 0===t?"":`-${t}`}`}_watchSourceChanges(){const{_handles:e,viewModel:{allSources:t}}=this,s="sources";e.remove(s),t.forEach((t=>e.add(r(t,"name",(()=>this.scheduleRender())),s)))}_handleSourcesMenuToggleClick(){const e="source"===this.activeMenu;var t;(this.activeMenu=e?"none":"source",this.renderNow(),"source"===this.activeMenu)&&(null==(t=this._sourceListNode)||t.focus())}_handleClearButtonClick(){this.viewModel.clear(),this._focus()}_handleSearchButtonClick(){this.search()}_handleSuggestionClick(e){const t=e.currentTarget["data-suggestion"];t&&(this._focus(),this.search(t))}_handleUseCurrentLocationClick(){this._useCurrentLocation()}_useCurrentLocation(){this._focus("none"),this._cancelSuggest(),this._cancelSearch();const e=new AbortController,{signal:t}=e;this._searchController=e,this.viewModel.searchNearby({signal:t}).catch((()=>{this._locateFailed=!0,this.activeMenu="warning"})).then((()=>{this._searchController=null}))}_handleSourceClick(e){this._setSourceFromMenuItem(e.currentTarget)}_setSourceFromMenuItem(e){var t;if(!e)return;const s=e["data-source-index"];this.viewModel.activeSourceIndex=s,this._clearActiveMenu(),null==(t=this._sourceMenuButtonNode)||t.focus()}_cancelSuggest(){this._suggestController&&(this._suggestController.abort(),this._suggestController=null)}_cancelSearch(){this._searchController&&(this._searchController.abort(),this._searchController=null),this._locateFailed=!1}_handleInputKeyup(e){var s;const i=t(e);if(e.ctrlKey||e.metaKey||"Copy"===i||"ArrowLeft"===i||"ArrowRight"===i||"Shift"===i)return;if("Tab"===i||"Escape"===i||e.shiftKey&&"Tab"===i)return this._cancelSuggest(),void("Escape"===i&&this._clearActiveMenu());const r="Home"===i||"End"===i||"ArrowUp"===i||"ArrowDown"===i;if("Enter"===i&&this._activeMenuItemIndex<0)return void this._cancelSuggest();const n=null==(s=this._suggestionListNode)?void 0:s.getElementsByTagName("li");if(null!=n&&n.length){if("suggestion"!==this.activeMenu&&this._openSuggestionMenu(),r)return e.preventDefault(),this._cancelSuggest(),void this._handleItemNavigation(i,n,this._suggestionListNode);const t=n[this._activeMenuItemIndex];if("Enter"===i&&t){const e=t["data-suggestion"];return void(e?(this._focus(),this.search(e)):t["data-current-location-item"]&&this._useCurrentLocation())}}this.viewModel.searchTerm&&this.suggest()}_handleItemNavigation(e,t,s){const i=this._activeMenuItemIndex;"Home"===e&&(this._activeMenuItemIndex=0),"End"===e&&(this._activeMenuItemIndex=t.length-1),"ArrowUp"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex<=0?t.length-1:this._activeMenuItemIndex-1),"ArrowDown"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex===t.length-1?0:this._activeMenuItemIndex+1),i!==this._activeMenuItemIndex&&p(t[this._activeMenuItemIndex],s)}_scrollToTopSuggestion(){this._suggestionListNode&&(this._suggestionListNode.scrollTop=0)}_openSuggestionMenu(){this.activeMenu="suggestion"}_handleInputPaste(e){const t=e.target;this.viewModel.searchTerm!==t.value&&(this.viewModel.searchTerm=t.value),this.viewModel.searchTerm&&this.suggest()}_handleSourceMenuKeydown(e){const s=t(e);if(_(s)){e.preventDefault();const t=this._sourceListNode.getElementsByTagName("li")[this._activeMenuItemIndex];this._setSourceFromMenuItem(t)}else"ArrowUp"!==s&&"ArrowDown"!==s&&"End"!==s&&"Home"!==s||e.preventDefault()}_handleSourceMenuKeyup(e){var s;const i=t(e),r="ArrowUp"===i||"ArrowDown"===i||"End"===i||"Home"===i;var n;if(r&&e.preventDefault(),"Escape"===i)return this._clearActiveMenu(),void(null==(n=this._sourceMenuButtonNode)||n.focus());const o=null==(s=this._sourceListNode)?void 0:s.getElementsByTagName("li");return o&&0!==o.length&&r?("source"!==this.activeMenu&&(this.activeMenu="source"),void this._handleItemNavigation(i,o,this._sourceListNode.parentElement)):void 0}_focus(e){this.focus(),e&&(this.activeMenu=e)}_formSubmit(e){e.preventDefault(),-1===this._activeMenuItemIndex&&this.search()}_getSourceName(e){const{messages:t}=this,s=this.viewModel,{allSources:i}=s,r=i.getItemAt(e);return e===h.ALL_INDEX?t.all:r&&r.name||t.untitledSource}_splitResult(e,t){const s=i(t);return e.replace(new RegExp(`(^|)(${s})(|$)`,"ig"),"$1|$2|$3").split("|")}_renderSearchResultsContent(){return this._searchResultRenderer.showMoreResultsOpen=!1,this._searchResultRenderer.viewModel=this.viewModel,this._searchResultRenderer}};e([u()],b.prototype,"_activeMenuItemIndex",void 0),e([u()],b.prototype,"displayedSearchTerm",null),e([u({readOnly:!0})],b.prototype,"inputId",null),e([u({readOnly:!0})],b.prototype,"suggestionsMenuId",null),e([u({readOnly:!0})],b.prototype,"sourceMenuId",null),e([u({readOnly:!0})],b.prototype,"sourceMenuButtonId",null),e([u()],b.prototype,"activeMenu",void 0),e([a("viewModel.activeSource")],b.prototype,"activeSource",void 0),e([a("viewModel.activeSourceIndex")],b.prototype,"activeSourceIndex",void 0),e([a("viewModel.allPlaceholder")],b.prototype,"allPlaceholder",void 0),e([a("viewModel.allSources")],b.prototype,"allSources",void 0),e([a("viewModel.autoNavigate")],b.prototype,"autoNavigate",void 0),e([a("viewModel.autoSelect")],b.prototype,"autoSelect",void 0),e([a("viewModel.defaultSources")],b.prototype,"defaultSources",void 0),e([u()],b.prototype,"disabled",void 0),e([a("viewModel.goToOverride")],b.prototype,"goToOverride",void 0),e([u()],b.prototype,"iconClass",void 0),e([a("viewModel.includeDefaultSources")],b.prototype,"includeDefaultSources",void 0),e([u({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],b.prototype,"label",void 0),e([a("viewModel.locationEnabled")],b.prototype,"locationEnabled",void 0),e([a("viewModel.maxResults")],b.prototype,"maxResults",void 0),e([a("viewModel.maxSuggestions")],b.prototype,"maxSuggestions",void 0),e([u(),m("esri/widgets/Search/t9n/Search")],b.prototype,"messages",void 0),e([u(),m("esri/t9n/common")],b.prototype,"messagesCommon",void 0),e([a("viewModel.minSuggestCharacters")],b.prototype,"minSuggestCharacters",void 0),e([a("viewModel.popupEnabled")],b.prototype,"popupEnabled",void 0),e([a("viewModel.popupTemplate")],b.prototype,"popupTemplate",void 0),e([a("viewModel.portal")],b.prototype,"portal",void 0),e([a("viewModel.resultGraphic")],b.prototype,"resultGraphic",void 0),e([a("viewModel.resultGraphicEnabled")],b.prototype,"resultGraphicEnabled",void 0),e([a("viewModel.results")],b.prototype,"results",void 0),e([a("viewModel.searchAllEnabled")],b.prototype,"searchAllEnabled",void 0),e([a("viewModel.searchTerm")],b.prototype,"searchTerm",void 0),e([a("viewModel.selectedResult")],b.prototype,"selectedResult",void 0),e([a("viewModel.sources")],b.prototype,"sources",void 0),e([a("viewModel.suggestions")],b.prototype,"suggestions",void 0),e([a("viewModel.suggestionsEnabled")],b.prototype,"suggestionsEnabled",void 0),e([a("viewModel.view")],b.prototype,"view",void 0),e([v(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),u({type:h})],b.prototype,"viewModel",void 0),e([a("viewModel.clear")],b.prototype,"clear",null),b=e([l("esri.widgets.Search")],b);const y=b;export{y as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{eventKey as t}from"../core/events.js";import s from"../core/Handles.js";import{escapeRegExpString as i}from"../core/string.js";import{watch as r,on as n,init as o}from"../core/watchUtils.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import h from"./Search/SearchResultRenderer.js";import d from"./Search/SearchViewModel.js";import{storeNode as g,keepMenuItemWithinView as p,isActivationKey as _}from"./support/widgetUtils.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as v}from"./support/decorators/vmEvent.js";import{tsx as M}from"./support/jsxFactory.js";import{substitute as I}from"../intl/substitute.js";const w={base:"esri-search esri-widget",loader:"esri-widget__loader",loaderText:"esri-widget__loader-text",loaderAnimation:"esri-widget__loader-animation",esriInput:"esri-input",hasMultipleSources:"esri-search--multiple-sources",isLoading:"esri-search--loading",isSearching:"esri-search--searching",showSuggestions:"esri-search--show-suggestions",showSources:"esri-search--sources",showWarning:"esri-search--warning",container:"esri-search__container",input:"esri-search__input",inputContainer:"esri-search__input-container",form:"esri-search__form",submitButton:"esri-search__submit-button",sourcesButton:"esri-search__sources-button",clearButton:"esri-search__clear-button",sourceName:"esri-search__source-name",suggestionsMenu:"esri-search__suggestions-menu",suggestionList:"esri-search__suggestions-list",suggestionListCurrentLocation:"esri-search__suggestions-list--current-location",sourcesMenu:"esri-search__sources-menu",source:"esri-search__source",warningMenu:"esri-search__warning-menu",warningMenuBody:"esri-search__warning-body",warningMenuHeader:"esri-search__warning-header",warningMenuText:"esri-search__warning-text",noValueText:"esri-search__no-value-text",esriWidgetDisabled:"esri-widget--disabled",button:"esri-widget--button",fallbackText:"esri-icon-font-fallback-text",header:"esri-widget__heading",locate:"esri-icon-locate-circled",menu:"esri-menu",menuList:"esri-menu__list",menuItem:"esri-menu__list-item",menuItemActive:"esri-menu__list-item--active",menuItemFocus:"esri-menu__list-item--focus",menuHeader:"esri-menu__header",loadingIcon:"esri-icon-loading-indicator esri-rotating",searchIcon:"esri-icon-search",dropdownIcon:"esri-icon-down-arrow esri-search__sources-button--down",dropupIcon:"esri-icon-up-arrow esri-search__sources-button--up",clearIcon:"esri-icon-close",noticeIcon:"esri-icon-notice-triangle",widgetIcon:"esri-icon-search",disabled:"esri-disabled"},S=/<[a-z/][\s\S]*>/i;let b=class extends c{constructor(e,t){super(e,t),this._activeMenuItemIndex=-1,this._handles=new s,this._inputNode=null,this._menuItemCount=0,this._sourceMenuButtonNode=null,this._sourceListNode=null,this._suggestionListNode=null,this._searchResultRenderer=new h,this._locateFailed=null,this._container=null,this.activeMenu="none",this.activeSource=null,this.activeSourceIndex=null,this.allPlaceholder=null,this.allSources=null,this.autoNavigate=null,this.autoSelect=null,this.defaultSources=null,this.disabled=!1,this.goToOverride=null,this.iconClass=w.widgetIcon,this.includeDefaultSources=null,this.label=void 0,this.locationEnabled=null,this.maxResults=null,this.maxSuggestions=null,this.messages=null,this.messagesCommon=null,this.minSuggestCharacters=null,this.popupEnabled=null,this.popupTemplate=null,this.portal=null,this.resultGraphic=null,this.resultGraphicEnabled=null,this.results=null,this.searchAllEnabled=null,this.searchTerm=null,this.selectedResult=null,this.sources=null,this.suggestions=null,this.suggestionsEnabled=null,this.view=null,this.viewModel=new d,this._clearActiveMenu=()=>{this.activeMenu="none"},this._removeActiveMenu=e=>{var t;const s=e.relatedTarget;s&&null!=(t=this._container)&&t.contains(s)||this._clearActiveMenu()},this.own(r(this,"searchTerm",(e=>{(e&&"warning"===this.activeMenu||!e&&!this.get("viewModel.selectedSuggestion.location"))&&this._clearActiveMenu()})),n(this,"viewModel.allSources","change",(()=>this._watchSourceChanges())),o(this,"activeMenu",(()=>this._resetActiveMenuItemIndex())),o(this,"viewModel.defaultPopupTemplate",(e=>{e&&(e.content=this._renderSearchResultsContent.bind(this))})))}destroy(){this._handles.destroy(),this._handles=null,this._cancelSuggest(),this._cancelSearch(),this._searchResultRenderer&&(this._searchResultRenderer.viewModel=null,this._searchResultRenderer.destroy(),this._searchResultRenderer=null)}get displayedSearchTerm(){return`${this.viewModel.searchTerm}`.trim()}get inputId(){return this._buildId("input")}get suggestionsMenuId(){return this._buildId("suggest-menu")}get sourceMenuId(){return this._buildId("source-menu")}get sourceMenuButtonId(){return this._buildId("source-menu-button")}clear(){}focus(){var e;null==(e=this._inputNode)||e.focus(),this.emit("search-focus")}blur(){var e;null==(e=this._inputNode)||e.blur(),this.emit("search-blur")}search(e){this._clearActiveMenu(),this._cancelSuggest(),this._cancelSearch();const t=new AbortController,{signal:s}=t;return this._searchController=t,this.viewModel.search(e,{signal:s}).catch((e=>{if(this._searchController===t)return this._clearActiveMenu(),this._searchController=null,e})).then((e=>{if(this._searchController===t)return this.activeMenu=e.numResults?"none":"warning",this._searchController=null,e}))}suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;return this._suggestController=t,this.viewModel.suggest(e,null,{signal:s}).then((e=>{if(this._suggestController===t)return this._suggestController=null,e.numResults&&this._openSuggestionMenu(),this._scrollToTopSuggestion(),e})).catch((()=>{if(this._suggestController===t)return this._suggestController=null,null}))}render(){const{state:e}=this.viewModel,t={[w.disabled]:"disabled"===e,[w.esriWidgetDisabled]:this.disabled};return M("div",{class:this.classes(w.base,t)},"loading"===e?this.renderLoader():this.renderContainer())}renderSubmitButton(){const{messages:e}=this;return M("button",{"aria-label":e.searchButtonTitle,bind:this,class:this.classes(w.submitButton,w.button),key:"esri-search__submit-button",onclick:this._handleSearchButtonClick,title:e.searchButtonTitle,type:"button"},M("span",{"aria-hidden":"true",class:w.searchIcon}))}renderWarningMenu(){return M("div",{key:"esri-search__error-menu",class:this.classes(w.menu,w.warningMenu)},M("div",{class:w.warningMenuBody},this.renderWarning()))}renderSourceMenuButton(){const{messages:e,activeMenu:t,sourceMenuId:s,sourceMenuButtonId:i}=this,{activeSourceIndex:r,allSources:n}=this.viewModel;return n.length>1?M("button",{id:i,key:"esri-search__source-menu-button",bind:this,"aria-label":e.searchIn,title:e.searchIn,"aria-haspopup":"true","aria-expanded":("source"===t).toString(),"aria-controls":s,class:this.classes(w.sourcesButton,w.button),onclick:this._handleSourcesMenuToggleClick,onfocus:this._handleSourcesMenuToggleFocus,afterCreate:g,"data-node-ref":"_sourceMenuButtonNode",type:"button"},M("span",{"aria-hidden":"true",class:w.dropdownIcon}),M("span",{"aria-hidden":"true",class:w.dropupIcon}),M("span",{class:w.sourceName},this._getSourceName(r))):null}renderSourcesList(){const{allSources:e,searchAllEnabled:t}=this.viewModel,{_activeMenuItemIndex:s,activeMenu:i,sourceMenuId:r,sourceMenuButtonId:n}=this,o="source"===i&&s>-1?this._buildId("source-item",s):null;return e.length>1?M("ul",{"aria-activedescendant":o,"aria-labelledby":n,id:r,role:"menu",bind:this,afterCreate:g,onkeydown:this._handleSourceMenuKeydown,onkeyup:this._handleSourceMenuKeyup,"data-node-ref":"_sourceListNode",class:w.menuList,tabIndex:-1},t?this.renderSource(d.ALL_INDEX):null,e.map(((e,t)=>this.renderSource(t))).toArray()):null}renderSourcesMenu(){const{allSources:e}=this.viewModel;return e.length>1?M("div",{key:"esri-search__source-menu",class:this.classes(w.menu,w.sourcesMenu)},this.renderSourcesList()):null}renderLoader(){const{messages:e,messagesCommon:t}=this;return M("div",{class:w.loader,key:"base-loader"},M("span",{"aria-hidden":"true",class:w.loaderAnimation}),M("span",{class:w.fallbackText},e.searchButtonTitle),M("span",{class:w.loaderText},t.loading))}renderContainer(){const{allSources:e,state:t}=this.viewModel,{activeMenu:s}=this,i={[w.hasMultipleSources]:e.length>1,[w.isLoading]:"loading"===t,[w.isSearching]:"searching"===t,[w.showWarning]:"warning"===s,[w.showSources]:"source"===s,[w.showSuggestions]:"suggestion"===s};return M("div",{tabIndex:-1,afterCreate:e=>{this._container=e,e.addEventListener("focusout",this._removeActiveMenu)},afterRemoved:e=>{e.removeEventListener("focusout",this._removeActiveMenu)},class:this.classes(i,w.container),key:"base-container"},this.renderSourceMenuButton(),this.renderSourcesMenu(),this.renderInputContainer(),this.renderSubmitButton(),this.renderWarningMenu())}renderClearButton(){return this.searchTerm?M("button",{bind:this,class:this.classes(w.clearButton,w.button),key:"esri-search__clear-button",onclick:this._handleClearButtonClick,onfocus:this._clearActiveMenu,title:this.messages.clearButtonTitle,type:"button"},M("span",{"aria-hidden":"true",class:w.clearIcon})):null}renderLocationGroup(){const{messages:e,locationEnabled:t,displayedSearchTerm:s}=this,i=t&&!s,r="suggestion"===this.activeMenu&&0===this._activeMenuItemIndex;return i?M("ul",{role:"group",key:"esri-search__suggestion-list-current-location",class:this.classes(w.menuList,w.suggestionList,w.suggestionListCurrentLocation)},M("li",{bind:this,"data-current-location-item":!0,onclick:this._handleUseCurrentLocationClick,id:this._buildId("suggestion-item",0),"aria-selected":("suggestion"===this.activeMenu&&0===this._activeMenuItemIndex).toString(),role:"option",class:this.classes(w.menuItem,r?w.menuItemFocus:null)},M("span",{"aria-hidden":"true",class:w.locate})," ",e.useCurrentLocation)):null}renderInput(){const{activeMenu:e,locationEnabled:t,displayedSearchTerm:s,messages:i,suggestionsMenuId:r,inputId:n,_activeMenuItemIndex:o}=this,{maxInputLength:a,placeholder:u,searchTerm:l,suggestionCount:c}=this.viewModel,h=!(!(t&&!s)&&!c),d="suggestion"===e&&o>-1?this._buildId("suggestion-item",o):null;return M("input",{"aria-activedescendant":d,"aria-autocomplete":"list","aria-expanded":(h&&"suggestion"===e).toString(),"aria-controls":h?r:null,"aria-haspopup":"listbox","aria-label":i.searchButtonTitle,bind:this,placeholder:u,maxlength:a,autocomplete:"off",type:"text",class:this.classes(w.esriInput,w.input),value:l,id:n,role:"combobox",onkeyup:this._handleInputKeyup,onclick:this._openSuggestionMenu,oninput:this._handleInputPaste,onpaste:this._handleInputPaste,afterCreate:g,"data-node-ref":"_inputNode",onfocus:this.focus,onblur:this.blur,title:l?"":u})}renderForm(){return M("form",{key:"esri-search__form",bind:this,class:w.form,onsubmit:this._formSubmit,role:"search"},this.renderInput())}renderSuggestList(e){const{sourceIndex:t}=e,s=e.results.length,i=e.results;return s?M("ul",{role:"group",key:`esri-search__suggestion-list-${t}`,class:this.classes(w.menuList,w.suggestionList)},i.map((e=>this.renderSuggestion(e,this._menuItemCount++)))):null}renderSuggestionsGroup(){const{suggestions:e}=this.viewModel;return e?e.map((e=>[this.renderSuggestionHeader(e),this.renderSuggestList(e)])):null}renderSuggestionsMenu(){const{displayedSearchTerm:e,locationEnabled:t,suggestionsMenuId:s,inputId:i}=this,{suggestionCount:r}=this.viewModel,n=t&&!e||r;return this._menuItemCount=0,n?M("div",{id:s,key:"esri-search__suggestions-menu",class:this.classes(w.menu,w.suggestionsMenu),role:"listbox","aria-labelledby":i,bind:this,afterCreate:g,"data-node-ref":"_suggestionListNode"},this.renderLocationGroup(),this.renderSuggestionsGroup()):null}renderInputContainer(){return M("div",{key:"esri-search__input-container",class:w.inputContainer},this.renderForm(),this.renderSuggestionsMenu(),this.renderClearButton())}renderSuggestionHeader(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:i}=e,r=e.results.length,n=t.length>1&&s===d.ALL_INDEX;return r&&n?M("div",{key:`esri-search__suggestion-header-${i}`,class:w.menuHeader},this._getSourceName(i)):null}renderSuggestion(e,t){const{_activeMenuItemIndex:s,messages:i}=this,{searchTerm:r}=this.viewModel;if(r){const{text:n}=e,o=n||i.untitledResult,a=S.test(o),u=[];if(a)u.push(M("div",{innerHTML:o}));else{const e=this._splitResult(o,r),t=r.toLowerCase();e.forEach(((e,s)=>{e&&e.length&&(e.toLowerCase()===t?u.push(M("strong",{key:s},e)):u.push(e))}))}const l="suggestion"===this.activeMenu&&s===t;return M("li",{bind:this,id:this._buildId("suggestion-item",t),"aria-selected":("suggestion"===this.activeMenu&&this._activeMenuItemIndex===t).toString(),onclick:this._handleSuggestionClick,key:`esri-search__suggestion_${t}`,"data-suggestion":e,role:"option",class:this.classes(w.menuItem,l?w.menuItemFocus:null)},u)}}renderSource(e){const{activeSourceIndex:t,searchAllEnabled:s}=this.viewModel,i={[w.menuItemActive]:e===t,[w.menuItemFocus]:"source"===this.activeMenu&&e===(s?this._activeMenuItemIndex-1:this._activeMenuItemIndex)},r=s?e+1:e;return M("li",{bind:this,key:`esri-search__source-${e}`,id:this._buildId("source-item",r),"aria-checked":(e===t).toString(),onclick:this._handleSourceClick,"data-source-index":e,role:"menuitemradio",class:this.classes(w.source,w.menuItem,i)},this._getSourceName(e))}renderNoResultsWarning(e){const{messages:t}=this,s=e?I(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return M("div",{key:"esri-search__no_results"},M("div",{class:w.warningMenuHeader},t.noResults),M("div",{class:w.warningMenuText},s))}renderEmptySearchWarning(){const{messages:e}=this;return M("div",{key:"esri-search__empty-search"},M("span",{"aria-hidden":"true",class:w.noticeIcon}),M("span",{class:w.noValueText},e.emptyValue))}renderLocateWarning(){const{messages:e}=this;return M("div",{key:"esri-search__locate-error"},M("span",{"aria-hidden":"true",class:w.noticeIcon}),M("span",{class:w.noValueText},e.locateError))}renderWarning(){var e;const{displayedSearchTerm:t,_locateFailed:s}=this,{viewModel:i}=this;return s?this.renderLocateWarning():null!=(e=i.selectedSuggestion)&&e.location||t?this.renderNoResultsWarning(t):this.renderEmptySearchWarning()}_resetActiveMenuItemIndex(){this._activeMenuItemIndex=-1}_buildId(e,t){return`${this.id}-${e}${void 0===t?"":`-${t}`}`}_watchSourceChanges(){const{_handles:e,viewModel:{allSources:t}}=this,s="sources";e.remove(s),t.forEach((t=>e.add(r(t,"name",(()=>this.scheduleRender())),s)))}_handleSourcesMenuToggleFocus(){"source"!==this.activeMenu&&this._clearActiveMenu()}_handleSourcesMenuToggleClick(){const e="source"===this.activeMenu;var t;(this.activeMenu=e?"none":"source",this.renderNow(),"source"===this.activeMenu)&&(null==(t=this._sourceListNode)||t.focus())}_handleClearButtonClick(){this.viewModel.clear(),this._focus()}_handleSearchButtonClick(){this.search()}_handleSuggestionClick(e){const t=e.currentTarget["data-suggestion"];t&&(this._focus(),this.search(t))}_handleUseCurrentLocationClick(){this._useCurrentLocation()}_useCurrentLocation(){this._focus("none"),this._cancelSuggest(),this._cancelSearch();const e=new AbortController,{signal:t}=e;this._searchController=e,this.viewModel.searchNearby({signal:t}).then((e=>{this.activeMenu=e.numResults?"none":"warning"})).catch((()=>{this._locateFailed=!0,this.activeMenu="warning"})).then((()=>{this._searchController=null}))}_handleSourceClick(e){this._setSourceFromMenuItem(e.currentTarget)}_setSourceFromMenuItem(e){var t;if(!e)return;const s=e["data-source-index"];this.viewModel.activeSourceIndex=s,this._clearActiveMenu(),null==(t=this._sourceMenuButtonNode)||t.focus()}_cancelSuggest(){this._suggestController&&(this._suggestController.abort(),this._suggestController=null)}_cancelSearch(){this._searchController&&(this._searchController.abort(),this._searchController=null),this._locateFailed=!1}_handleInputKeyup(e){var s;const i=t(e);if(e.ctrlKey||e.metaKey||"Copy"===i||"ArrowLeft"===i||"ArrowRight"===i||"Shift"===i)return;if("Tab"===i||"Escape"===i||e.shiftKey&&"Tab"===i)return this._cancelSuggest(),void("Escape"===i&&this._clearActiveMenu());const r="Home"===i||"End"===i||"ArrowUp"===i||"ArrowDown"===i;if("Enter"===i&&this._activeMenuItemIndex<0)return void this._cancelSuggest();const n=null==(s=this._suggestionListNode)?void 0:s.getElementsByTagName("li");if(null!=n&&n.length){if("suggestion"!==this.activeMenu&&this._openSuggestionMenu(),r)return e.preventDefault(),this._cancelSuggest(),void this._handleItemNavigation(i,n,this._suggestionListNode);const t=n[this._activeMenuItemIndex];if("Enter"===i&&t){const e=t["data-suggestion"];return void(e?(this._focus(),this.search(e)):t["data-current-location-item"]&&this._useCurrentLocation())}}this.viewModel.searchTerm&&this.suggest()}_handleItemNavigation(e,t,s){const i=this._activeMenuItemIndex;"Home"===e&&(this._activeMenuItemIndex=0),"End"===e&&(this._activeMenuItemIndex=t.length-1),"ArrowUp"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex<=0?t.length-1:this._activeMenuItemIndex-1),"ArrowDown"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex===t.length-1?0:this._activeMenuItemIndex+1),i!==this._activeMenuItemIndex&&p(t[this._activeMenuItemIndex],s)}_scrollToTopSuggestion(){this._suggestionListNode&&(this._suggestionListNode.scrollTop=0)}_openSuggestionMenu(){this.activeMenu="suggestion"}_handleInputPaste(e){const t=e.target;this.viewModel.searchTerm!==t.value&&(this.viewModel.searchTerm=t.value),this.viewModel.searchTerm&&this.suggest()}_handleSourceMenuKeydown(e){const s=t(e);if(_(s)){e.preventDefault();const t=this._sourceListNode.getElementsByTagName("li")[this._activeMenuItemIndex];this._setSourceFromMenuItem(t)}else"ArrowUp"!==s&&"ArrowDown"!==s&&"End"!==s&&"Home"!==s||e.preventDefault()}_handleSourceMenuKeyup(e){var s;const i=t(e),r="ArrowUp"===i||"ArrowDown"===i||"End"===i||"Home"===i;var n;if(r&&e.preventDefault(),"Escape"===i)return this._clearActiveMenu(),void(null==(n=this._sourceMenuButtonNode)||n.focus());const o=null==(s=this._sourceListNode)?void 0:s.getElementsByTagName("li");return o&&0!==o.length&&r?("source"!==this.activeMenu&&(this.activeMenu="source"),void this._handleItemNavigation(i,o,this._sourceListNode.parentElement)):void 0}_focus(e){this.focus(),e&&(this.activeMenu=e)}_formSubmit(e){e.preventDefault(),-1===this._activeMenuItemIndex&&this.search()}_getSourceName(e){const{messages:t}=this,s=this.viewModel,{allSources:i}=s,r=i.getItemAt(e);return e===d.ALL_INDEX?t.all:r&&r.name||t.untitledSource}_splitResult(e,t){const s=i(t);return e.replace(new RegExp(`(^|)(${s})(|$)`,"ig"),"$1|$2|$3").split("|")}_renderSearchResultsContent(){return this._searchResultRenderer.showMoreResultsOpen=!1,this._searchResultRenderer.viewModel=this.viewModel,this._searchResultRenderer}};e([u()],b.prototype,"_activeMenuItemIndex",void 0),e([u()],b.prototype,"displayedSearchTerm",null),e([u({readOnly:!0})],b.prototype,"inputId",null),e([u({readOnly:!0})],b.prototype,"suggestionsMenuId",null),e([u({readOnly:!0})],b.prototype,"sourceMenuId",null),e([u({readOnly:!0})],b.prototype,"sourceMenuButtonId",null),e([u()],b.prototype,"activeMenu",void 0),e([a("viewModel.activeSource")],b.prototype,"activeSource",void 0),e([a("viewModel.activeSourceIndex")],b.prototype,"activeSourceIndex",void 0),e([a("viewModel.allPlaceholder")],b.prototype,"allPlaceholder",void 0),e([a("viewModel.allSources")],b.prototype,"allSources",void 0),e([a("viewModel.autoNavigate")],b.prototype,"autoNavigate",void 0),e([a("viewModel.autoSelect")],b.prototype,"autoSelect",void 0),e([a("viewModel.defaultSources")],b.prototype,"defaultSources",void 0),e([u()],b.prototype,"disabled",void 0),e([a("viewModel.goToOverride")],b.prototype,"goToOverride",void 0),e([u()],b.prototype,"iconClass",void 0),e([a("viewModel.includeDefaultSources")],b.prototype,"includeDefaultSources",void 0),e([u({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],b.prototype,"label",void 0),e([a("viewModel.locationEnabled")],b.prototype,"locationEnabled",void 0),e([a("viewModel.maxResults")],b.prototype,"maxResults",void 0),e([a("viewModel.maxSuggestions")],b.prototype,"maxSuggestions",void 0),e([u(),m("esri/widgets/Search/t9n/Search")],b.prototype,"messages",void 0),e([u(),m("esri/t9n/common")],b.prototype,"messagesCommon",void 0),e([a("viewModel.minSuggestCharacters")],b.prototype,"minSuggestCharacters",void 0),e([a("viewModel.popupEnabled")],b.prototype,"popupEnabled",void 0),e([a("viewModel.popupTemplate")],b.prototype,"popupTemplate",void 0),e([a("viewModel.portal")],b.prototype,"portal",void 0),e([a("viewModel.resultGraphic")],b.prototype,"resultGraphic",void 0),e([a("viewModel.resultGraphicEnabled")],b.prototype,"resultGraphicEnabled",void 0),e([a("viewModel.results")],b.prototype,"results",void 0),e([a("viewModel.searchAllEnabled")],b.prototype,"searchAllEnabled",void 0),e([a("viewModel.searchTerm")],b.prototype,"searchTerm",void 0),e([a("viewModel.selectedResult")],b.prototype,"selectedResult",void 0),e([a("viewModel.sources")],b.prototype,"sources",void 0),e([a("viewModel.suggestions")],b.prototype,"suggestions",void 0),e([a("viewModel.suggestionsEnabled")],b.prototype,"suggestionsEnabled",void 0),e([a("viewModel.view")],b.prototype,"view",void 0),e([v(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),u({type:d})],b.prototype,"viewModel",void 0),e([a("viewModel.clear")],b.prototype,"clear",null),b=e([l("esri.widgets.Search")],b);const y=b;export{y as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../analysis/Slice.js";import t from"../../core/Handles.js";import o from"../../core/Logger.js";import{isNone as i,isSome as r,destroyMaybe as l,unwrap as a}from"../../core/maybe.js";import{ignoreAbortErrors as n}from"../../core/promiseUtils.js";import{watch as d,sync as c}from"../../core/reactiveUtils.js";import{whenTrueOnce as h}from"../../core/watchUtils.js";import{aliasOf as p}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import m from"../../views/3d/interactive/analysisTools/slice/SliceTool.js";import{InteractiveAnalysisViewModel as w}from"../support/InteractiveAnalysisViewModel.js";const f=o.getLogger("esri.widgets.Slice.SliceViewModel"),x=new Set;let g=class extends w{constructor(e){super(e),this.analysisView=null,this.logger=f,this.supportedViewType="3d",this.unsupportedErrorMessage="SliceViewModel is only supported in 3D views.",this.handles=new t,this.shape=null,this.ready=!1,x.add(this)}initialize(){this.handles.add(d((()=>this.shape),((e,s)=>{i(s)&&r(e)?i(this.tool)&&!this.creatingTool&&this.createTool():r(s)&&i(e)&&this.removeTool()}),c))}destroy(){this.handles=l(this.handles),x.delete(this)}get state(){return this.disabled||!this.ready?"disabled":i(this.tool)||"pending"===this.tool.toolState?"ready":this.tool.state}get tiltEnabled(){return this.analysis.tiltEnabled}set tiltEnabled(e){this.analysis.tiltEnabled=e}get excludedLayers(){return this.analysis.excludedLayers}set excludedLayers(e){this.analysis.excludedLayers=e}get excludeGroundSurface(){return this.analysis.excludeGroundSurface}set excludeGroundSurface(e){this.analysis.excludeGroundSurface=e}async start(){return this.clear(),this.ready||await h(this,"ready"),x.forEach((e=>{e.view===this.view&&e!==this&&e.clear()})),this.createTool()}clear(){this.removeTool(),this.shape=null}enterExcludeLayerMode(){r(this.tool)&&this.tool.enterExcludeLayerMode()}exitExcludeLayerMode(){r(this.tool)&&this.tool.exitExcludeLayerMode()}_updateToolOrRecreate(e){r(this.tool)?e(this.tool):this.creatingTool&&n(this.createTool())}onConnectToAnalysisView(e){this.analysisView=e,this.ready=!0}onDisconnectFromAnalysisView(){this.ready=!1,this.analysisView=null}constructAnalysis(){return new s}constructTool(){return new m({view:a(this.view),analysis:this.analysis,visible:this.visible})}};e([u()],g.prototype,"analysisView",void 0),e([u({readOnly:!0})],g.prototype,"state",null),e([u({aliasOf:"analysis.shape"})],g.prototype,"shape",void 0),e([u()],g.prototype,"tiltEnabled",null),e([p("tool.layersMode")],g.prototype,"layersMode",void 0),e([u()],g.prototype,"excludedLayers",null),e([u({nonNullable:!0})],g.prototype,"excludeGroundSurface",null),e([u()],g.prototype,"ready",void 0),g=e([y("esri.widgets.slice.SliceViewModel")],g);const v=g;export{v as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../analysis/Slice.js";import t from"../../core/Handles.js";import o from"../../core/Logger.js";import{isNone as i,isSome as r,destroyMaybe as l,applySome as a,unwrapOr as n,unwrap as d}from"../../core/maybe.js";import{ignoreAbortErrors as c}from"../../core/promiseUtils.js";import{watch as h,sync as u,whenOnce as p}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../views/3d/interactive/analysisTools/slice/SliceTool.js";import{InteractiveAnalysisViewModel as g}from"../support/InteractiveAnalysisViewModel.js";const f=o.getLogger("esri.widgets.Slice.SliceViewModel"),x=new Set;let S=class extends g{constructor(e){super(e),this.analysisView=null,this._handles=new t,this.logger=f,this.supportedViewType="3d",this.unsupportedErrorMessage="SliceViewModel is only supported in 3D views.",x.add(this)}initialize(){this._handles.add(h((()=>this.shape),((e,s)=>{i(s)&&r(e)?i(this.tool)&&!this.creatingTool&&this.createTool():r(s)&&i(e)&&this.removeTool()}),u)),r(this.shape)&&this.createTool()}destroy(){this._handles=l(this._handles),x.delete(this)}get state(){return this.disabled||!this.ready?"disabled":i(this.tool)||"pending"===this.tool.toolState?"ready":this.tool.state}get shape(){return this.analysis.shape}set shape(e){this.analysis.shape=e}get tiltEnabled(){return this.analysis.tiltEnabled}set tiltEnabled(e){this.analysis.tiltEnabled=e}get layersMode(){const e=a(this.tool,(e=>e.layersMode));return n(e,"none")}get excludedLayers(){return this.analysis.excludedLayers}set excludedLayers(e){this.analysis.excludedLayers=e}get excludeGroundSurface(){return this.analysis.excludeGroundSurface}set excludeGroundSurface(e){this.analysis.excludeGroundSurface=e}get ready(){return r(this.analysisView)}async start(){return this.clear(),this.ready||await p((()=>this.ready)),x.forEach((e=>{e.view===this.view&&e!==this&&e.clear()})),this.createTool()}clear(){this.removeTool(),this.shape=null}enterExcludeLayerMode(){r(this.tool)&&this.tool.enterExcludeLayerMode()}exitExcludeLayerMode(){r(this.tool)&&this.tool.exitExcludeLayerMode()}_updateToolOrRecreate(e){r(this.tool)?e(this.tool):this.creatingTool&&c(this.createTool())}onConnectToAnalysisView(e){this.analysisView=e}onDisconnectFromAnalysisView(){this.analysisView=null}constructAnalysis(){return new s}constructTool(){return new w({view:d(this.view),analysis:this.analysis,visible:this.visible})}};e([y({readOnly:!0})],S.prototype,"state",null),e([y()],S.prototype,"shape",null),e([y()],S.prototype,"tiltEnabled",null),e([y()],S.prototype,"layersMode",null),e([y()],S.prototype,"excludedLayers",null),e([y({nonNullable:!0})],S.prototype,"excludeGroundSurface",null),e([y()],S.prototype,"analysisView",void 0),e([y()],S.prototype,"ready",null),S=e([m("esri.widgets.slice.SliceViewModel")],S);const T=S;export{T as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import s from"../../core/Error.js";import r from"../../core/Logger.js";import{isSome as o}from"../../core/maybe.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";const a="esri.widgets.Slider.SliderViewModel",l=r.getLogger(a);let u=class extends e{constructor(t){super(t),this.precision=4,this.thumbsConstrained=!0}set labelFormatFunction(t){this._set("labelFormatFunction",t)}set inputFormatFunction(t){this._set("inputFormatFunction",t)}set inputParseFunction(t){this._set("inputParseFunction",t)}get labels(){const{max:t,min:e,values:s}=this,r=s&&s.length?s.map(((t,e)=>this.getLabelForValue(t,"value",e))):[];return{max:this.getLabelForValue(t,"max"),min:this.getLabelForValue(e,"min"),values:r}}set max(t){this.setMax(t)}set min(t){this.setMin(t)}get state(){const{max:t,min:e}=this;return o(t)&&o(e)&&t>e?"ready":"disabled"}set values(t){const{max:e,min:s}=this,r=this.values;r&&t&&r.length===t.length&&r.every(((e,s)=>e===t[s]))||(this._set("values",null),t&&t.length&&(o(s)&&t.some((t=>t<s))&&(this.min=Math.min(...t)),o(e)&&t.some((t=>t>e))&&(this.max=Math.max(...t))),this._set("values",t))}toPrecision(t){return parseFloat(t.toFixed(this.precision))}defaultLabelFormatFunction(t){const{max:e,min:s,precision:r}=this,o=e-s>10?2:r;return parseFloat(t.toFixed(o)).toString()}defaultInputFormatFunction(t){return t.toString()}defaultInputParseFunction(t){return parseFloat(t)}getBoundsForValueAtIndex(t){const{thumbsConstrained:e,max:s,min:r,values:i}=this;if(e){const e=t-1,n=t+1;return{min:o(i[e])?i[e]:r,max:o(i[n])?i[n]:s}}return{min:r,max:s}}getLabelForValue(t,e,s){return o(t)?this.labelFormatFunction?this.labelFormatFunction(t,e,s):this.defaultLabelFormatFunction(t):null}setMax(t){const{max:e,values:s}=this;if(isNaN(t))return void this._logError("slider:invalid-value","Property 'max' must of type 'number'.");if(null===t)return void this._set("max",null);const r=this.toPrecision(t);if(e!==r&&(this._set("max",r),s&&s.length))for(let o=0;o<s.length;o++)r<s[o]&&this.setValue(o,r)}setMin(t){const{min:e,values:s}=this;if(isNaN(t))return void this._logError("slider:invalid-value","Property 'min' must of type 'number'.");if(null===t)return void this._set("min",null);const r=this.toPrecision(t);if(e!==r&&(this._set("min",r),s&&s.length))for(let o=0;o<s.length;o++)r>s[o]&&this.setValue(o,r)}setValue(t,e){if(isNaN(e))return void this._logError("slider:invalid-value","Members of property 'values' must of type 'number'.");const{values:s}=this,r=s[t],o=this.toPrecision(e);if(r===o)return;const i=[...s];i[t]=o,this._set("values",i),this.notifyChange("labels")}_logError(t,e,r){l.error(new s(t,e,r))}};t([i()],u.prototype,"labelFormatFunction",null),t([i()],u.prototype,"inputFormatFunction",null),t([i()],u.prototype,"inputParseFunction",null),t([i({readOnly:!0})],u.prototype,"labels",null),t([i()],u.prototype,"max",null),t([i()],u.prototype,"min",null),t([i()],u.prototype,"precision",void 0),t([i({readOnly:!0})],u.prototype,"state",null),t([i()],u.prototype,"thumbsConstrained",void 0),t([i()],u.prototype,"values",null),u=t([n(a)],u);const m=u;export{m as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Error.js";import s from"../../core/Logger.js";import{isSome as r}from"../../core/maybe.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";const a="esri.widgets.Slider.SliderViewModel",l=s.getLogger(a);let u=class extends e{constructor(t){super(t),this.precision=4,this.thumbsConstrained=!0}set effectiveMax(t){this.setEffectiveMax(t)}set effectiveMin(t){this.setEffectiveMin(t)}set labelFormatFunction(t){this._set("labelFormatFunction",t)}set inputFormatFunction(t){this._set("inputFormatFunction",t)}set inputParseFunction(t){this._set("inputParseFunction",t)}get labels(){const{max:t,min:e,values:i}=this,s=i&&i.length?i.map(((t,e)=>this.getLabelForValue(t,"value",e))):[];return{max:this.getLabelForValue(t,"max"),min:this.getLabelForValue(e,"min"),values:s}}set max(t){this.setMax(t)}set min(t){this.setMin(t)}get state(){const{max:t,min:e}=this;return r(t)&&r(e)&&t>e?"ready":"disabled"}set values(t){const{max:e,min:i}=this,s=this.values;s&&t&&s.length===t.length&&s.every(((e,i)=>e===t[i]))||(this._set("values",null),t&&t.length&&(r(i)&&t.some((t=>t<i))&&(this.min=Math.min(...t)),r(e)&&t.some((t=>t>e))&&(this.max=Math.max(...t))),this._set("values",t))}toPrecision(t){return parseFloat(t.toFixed(this.precision))}defaultLabelFormatFunction(t){const{max:e,min:i,precision:s}=this,r=e-i>10?2:s;return parseFloat(t.toFixed(r)).toString()}defaultInputFormatFunction(t){return t.toString()}defaultInputParseFunction(t){return parseFloat(t)}getBounds(){const{effectiveMax:t,effectiveMin:e,max:i,min:s}=this;return{min:r(e)?Math.max(s,e):s,max:r(t)?Math.min(i,t):i}}getBoundsForValueAtIndex(t){const{thumbsConstrained:e,values:i}=this,{min:s,max:o}=this.getBounds();if(e){const e=t-1,n=t+1;return{min:r(i[e])?i[e]:s,max:r(i[n])?i[n]:o}}return{min:s,max:o}}getLabelForValue(t,e,i){return r(t)?this.labelFormatFunction?this.labelFormatFunction(t,e,i):this.defaultLabelFormatFunction(t):null}setMax(t){const{max:e,values:i}=this;if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'max' is NaN.");if(null===t)return void this._set("max",null);const s=this.toPrecision(t);if(e!==s&&(this._set("max",s),i&&i.length))for(let r=0;r<i.length;r++)s<i[r]&&this.setValue(r,s)}setMin(t){const{min:e,values:i}=this;if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'min' is NaN.");if(null===t)return void this._set("min",null);const s=this.toPrecision(t);if(e!==s&&(this._set("min",s),i&&i.length))for(let r=0;r<i.length;r++)s>i[r]&&this.setValue(r,s)}setEffectiveMax(t){if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'effectiveMax' is NaN.");if(null===t)return void this._set("effectiveMax",null);const e=this.toPrecision(t);this.effectiveMax!==e&&this._set("effectiveMax",this._applyBoundsToValue(e))}setEffectiveMin(t){if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'effectiveMin' is NaN.");if(null===t)return void this._set("effectiveMin",null);const e=this.toPrecision(t);this.effectiveMin!==e&&this._set("effectiveMin",this._applyBoundsToValue(e))}setValue(t,e){if(isNaN(e))return void this._logError("slider:invalid-value","Supplied value for member of property 'values' is NaN.");const{values:i}=this,s=i[t],r=this.toPrecision(e);if(s===r)return;const o=[...i];o[t]=r,this._set("values",o),this.notifyChange("labels")}_applyBoundsToValue(t){const{max:e,min:i}=this;return r(i)&&t<i?i:r(e)&&t>e?e:t}_logError(t,e,s){l.error(new i(t,e,s))}};t([o()],u.prototype,"effectiveMax",null),t([o()],u.prototype,"effectiveMin",null),t([o()],u.prototype,"labelFormatFunction",null),t([o()],u.prototype,"inputFormatFunction",null),t([o()],u.prototype,"inputParseFunction",null),t([o({readOnly:!0})],u.prototype,"labels",null),t([o()],u.prototype,"max",null),t([o()],u.prototype,"min",null),t([o()],u.prototype,"precision",void 0),t([o({readOnly:!0})],u.prototype,"state",null),t([o()],u.prototype,"thumbsConstrained",void 0),t([o()],u.prototype,"values",null),u=t([n(a)],u);const p=u;export{p as default};