@arcgis/core 4.23.0-next.20220106 → 4.23.0-next.20220118

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 (522) hide show
  1. package/assets/components/assets/calcite-date-picker/nls/bg.json +31 -0
  2. package/assets/components/assets/calcite-icon/centerAlign16.json +1 -0
  3. package/assets/components/assets/calcite-icon/centerAlign24.json +1 -0
  4. package/assets/components/assets/calcite-icon/centerAlign32.json +1 -0
  5. package/assets/components/assets/calcite-icon/checkSquareF16.json +1 -0
  6. package/assets/components/assets/calcite-icon/checkSquareF24.json +1 -0
  7. package/assets/components/assets/calcite-icon/checkSquareF32.json +1 -0
  8. package/assets/components/assets/calcite-icon/convert16.json +1 -0
  9. package/assets/components/assets/calcite-icon/convert24.json +1 -0
  10. package/assets/components/assets/calcite-icon/convert32.json +1 -0
  11. package/assets/components/assets/calcite-icon/explore16.json +1 -0
  12. package/assets/components/assets/calcite-icon/explore24.json +1 -0
  13. package/assets/components/assets/calcite-icon/explore32.json +1 -0
  14. package/assets/components/assets/calcite-icon/formDropdown16.json +1 -0
  15. package/assets/components/assets/calcite-icon/formDropdown24.json +1 -0
  16. package/assets/components/assets/calcite-icon/formDropdown32.json +1 -0
  17. package/assets/components/assets/calcite-icon/language16.json +1 -0
  18. package/assets/components/assets/calcite-icon/language24.json +1 -0
  19. package/assets/components/assets/calcite-icon/language32.json +1 -0
  20. package/assets/components/assets/calcite-icon/languageTranslate16.json +1 -0
  21. package/assets/components/assets/calcite-icon/languageTranslate24.json +1 -0
  22. package/assets/components/assets/calcite-icon/languageTranslate32.json +1 -0
  23. package/assets/components/assets/calcite-icon/leftAlign16.json +1 -0
  24. package/assets/components/assets/calcite-icon/leftAlign24.json +1 -0
  25. package/assets/components/assets/calcite-icon/leftAlign32.json +1 -0
  26. package/assets/components/assets/calcite-icon/lineSolid4.json +1 -0
  27. package/assets/components/assets/calcite-icon/partlyCloudy16.json +1 -0
  28. package/assets/components/assets/calcite-icon/partlyCloudy24.json +1 -0
  29. package/assets/components/assets/calcite-icon/partlyCloudy32.json +1 -0
  30. package/assets/components/assets/calcite-icon/rightAlign16.json +1 -0
  31. package/assets/components/assets/calcite-icon/rightAlign24.json +1 -0
  32. package/assets/components/assets/calcite-icon/rightAlign32.json +1 -0
  33. package/assets/components/assets/calcite-icon/screenshotMode16.json +1 -0
  34. package/assets/components/assets/calcite-icon/screenshotMode24.json +1 -0
  35. package/assets/components/assets/calcite-icon/screenshotMode32.json +1 -0
  36. package/assets/components/assets/calcite-icon/squareF16.json +1 -0
  37. package/assets/components/assets/calcite-icon/squareF24.json +1 -0
  38. package/assets/components/assets/calcite-icon/squareF32.json +1 -0
  39. package/assets/components/assets/calcite-icon/terminal16.json +1 -0
  40. package/assets/components/assets/calcite-icon/terminal24.json +1 -0
  41. package/assets/components/assets/calcite-icon/terminal32.json +1 -0
  42. package/assets/components/assets/calcite-icon/touch16.json +1 -0
  43. package/assets/components/assets/calcite-icon/touch24.json +1 -0
  44. package/assets/components/assets/calcite-icon/touch32.json +1 -0
  45. package/assets/components/assets/calcite-icon/xHexagon16.json +1 -0
  46. package/assets/components/assets/calcite-icon/xHexagon24.json +1 -0
  47. package/assets/components/assets/calcite-icon/xHexagon32.json +1 -0
  48. package/assets/components/assets/calcite-icon/xHexagonF16.json +1 -0
  49. package/assets/components/assets/calcite-icon/xHexagonF24.json +1 -0
  50. package/assets/components/assets/calcite-icon/xHexagonF32.json +1 -0
  51. package/assets/components/assets/calcite-icon/xOctagonF16.json +1 -0
  52. package/assets/components/assets/calcite-icon/xOctagonF24.json +1 -0
  53. package/assets/components/assets/calcite-icon/xOctagonF32.json +1 -0
  54. package/assets/esri/core/workers/RemoteClient.js +1 -1
  55. package/assets/esri/core/workers/chunks/01ef8de7f76a8c61b464.js +1 -0
  56. package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
  57. package/assets/esri/core/workers/chunks/{2c9af2ebd72d9b55329b.js → 0f254c3e91e8fee55f28.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
  59. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
  60. package/assets/esri/core/workers/chunks/21a77eed1a4ef5b0ff08.js +1 -0
  61. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +1 -0
  62. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +1 -0
  63. package/assets/esri/core/workers/chunks/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
  64. package/assets/esri/core/workers/chunks/2d947080a27db6ce0d75.js +1 -0
  65. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
  66. package/assets/esri/core/workers/chunks/3564e14010953def6df9.js +1 -0
  67. package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
  68. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
  69. package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
  70. package/assets/esri/core/workers/chunks/403c7d64f12f00330d88.js +1 -0
  71. package/assets/esri/core/workers/chunks/4409d77c9734de4e82a7.js +1 -0
  72. package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 47395d225229d237f0ac.js} +1 -1
  73. package/assets/esri/core/workers/chunks/4b69129c0557852d9b3d.js +1 -0
  74. package/assets/esri/core/workers/chunks/4c301ca9c493b96df746.js +1 -0
  75. package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
  76. package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
  77. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
  78. package/assets/esri/core/workers/chunks/631c5b514bb73782c570.js +1 -0
  79. package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
  81. package/assets/esri/core/workers/chunks/6c1e92ff4c732dfda756.js +1 -0
  82. package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
  83. package/assets/esri/core/workers/chunks/75d53b28afe732c459b2.js +1 -0
  84. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
  85. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
  86. package/assets/esri/core/workers/chunks/{b4ed7856cd9c98434477.js → 7c9d2638693d5f798b23.js} +1 -1
  87. package/assets/esri/core/workers/chunks/7e596478507466953e65.js +1 -0
  88. package/assets/esri/core/workers/chunks/85b34d91cf07567d6873.js +1 -0
  89. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
  90. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
  91. package/assets/esri/core/workers/chunks/89de05207744149fb58b.js +1 -0
  92. package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
  93. package/assets/esri/core/workers/chunks/{9846098704ee38bf6350.js → 8fdd5bca3716816d359b.js} +1 -1
  94. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
  95. package/assets/esri/core/workers/chunks/987182b3a578fc7de251.js +1 -0
  96. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
  97. package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
  98. package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 9d9dffc8884d66a258e4.js} +1 -1
  99. package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
  100. package/assets/esri/core/workers/chunks/{a721342a32541717324d.js → a28b53c61bddefb6616e.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
  102. package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
  103. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
  104. package/assets/esri/core/workers/chunks/a960074644c3722be71e.js +1 -0
  105. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
  106. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
  107. package/assets/esri/core/workers/chunks/b10fcbe1393c812fc219.js +1 -0
  108. package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{b51261a9a9ab62388839.js → b99e69302ea701fff0ea.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
  111. package/assets/esri/core/workers/chunks/b9de831ac379cf1d2969.js +1 -0
  112. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
  113. package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
  114. package/assets/esri/core/workers/chunks/bc790b2f964144d10abe.js +1 -0
  115. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
  116. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
  117. package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
  118. package/assets/esri/core/workers/chunks/{b58eba403bd517a7bb15.js → c3eca92d02958732e141.js} +1 -1
  119. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
  120. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
  121. package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
  122. package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
  123. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
  124. package/assets/esri/core/workers/chunks/dd433c160f7a0c120b82.js +1 -0
  125. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
  126. package/assets/esri/core/workers/chunks/e2d68bcd2f99a65387bf.js +1 -0
  127. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
  128. package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{6deac533bb455be4004b.js → ef8b75b92cf549e0507e.js} +1 -1
  130. package/assets/esri/core/workers/chunks/f7fc4c993536e62f7f3e.js +1 -0
  131. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
  132. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
  133. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
  134. package/assets/esri/themes/base/icons/selection.json +1 -1
  135. package/assets/esri/themes/base/icons/style.css +4 -0
  136. package/assets/esri/themes/base/icons/style.scss +6 -0
  137. package/assets/esri/themes/base/icons/variables.scss +1 -0
  138. package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
  139. package/assets/esri/themes/dark/main.css +1 -1
  140. package/assets/esri/themes/dark-blue/main.css +1 -1
  141. package/assets/esri/themes/dark-green/main.css +1 -1
  142. package/assets/esri/themes/dark-purple/main.css +1 -1
  143. package/assets/esri/themes/dark-red/main.css +1 -1
  144. package/assets/esri/themes/light/main.css +1 -1
  145. package/assets/esri/themes/light/view.css +1 -1
  146. package/assets/esri/themes/light-blue/main.css +1 -1
  147. package/assets/esri/themes/light-green/main.css +1 -1
  148. package/assets/esri/themes/light-purple/main.css +1 -1
  149. package/assets/esri/themes/light-red/main.css +1 -1
  150. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  151. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  152. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  153. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  154. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  189. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
  190. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  191. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  192. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  193. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  194. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  195. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  196. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  197. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  198. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  199. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  200. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  201. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  202. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  203. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  229. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  230. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  231. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  232. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  233. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  234. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  235. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  236. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  237. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  238. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  239. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  240. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  241. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  242. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  243. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  244. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  245. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  246. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  272. package/chunks/Clouds.glsl.js +14 -14
  273. package/chunks/HUDMaterial.glsl.js +22 -21
  274. package/chunks/RibbonLine.glsl.js +10 -14
  275. package/chunks/persistableUrlUtils.js +1 -1
  276. package/chunks/vec32.js +1 -1
  277. package/chunks/vec42.js +1 -1
  278. package/core/typedArrayUtil.js +1 -1
  279. package/core/urlUtils.js +1 -1
  280. package/form/elements/FieldElement.js +1 -1
  281. package/geometry/support/buffer/math/common.js +1 -1
  282. package/interfaces.d.ts +99 -56
  283. package/layers/FeatureLayer.js +1 -1
  284. package/layers/SubtypeGroupLayer.js +1 -1
  285. package/layers/VectorTileLayer.js +1 -1
  286. package/layers/WMSLayer.js +1 -1
  287. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  288. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  289. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  290. package/layers/mixins/ArcGISImageService.js +1 -1
  291. package/layers/ogc/crsUtils.js +5 -0
  292. package/layers/support/RasterFunction.js +1 -1
  293. package/layers/support/capabilities.js +1 -1
  294. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  295. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  296. package/layers/support/vectorTileLayerLoader.js +1 -1
  297. package/layers/support/wmsUtils.js +1 -1
  298. package/layers/support/wmtsUtils.js +1 -1
  299. package/package.json +5 -5
  300. package/renderers/support/RasterSymbolizer.js +1 -1
  301. package/request.js +1 -1
  302. package/rest/print.js +1 -1
  303. package/rest/support/ImageIdentifyParameters.js +1 -1
  304. package/rest/support/StatisticDefinition.js +1 -1
  305. package/smartMapping/renderers/univariateColorSize.js +1 -1
  306. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  307. package/support/featureFlags.js +1 -1
  308. package/support/revision.js +1 -1
  309. package/symbols/ExtrudeSymbol3DLayer.js +1 -1
  310. package/symbols/Font.js +1 -1
  311. package/symbols/IconSymbol3DLayer.js +1 -1
  312. package/symbols/ObjectSymbol3DLayer.js +1 -1
  313. package/symbols/PathSymbol3DLayer.js +1 -1
  314. package/symbols/TextSymbol.js +1 -1
  315. package/symbols/TextSymbol3DLayer.js +1 -1
  316. package/symbols/support/Symbol3DHalo.js +1 -1
  317. package/symbols/support/Symbol3DMaterial.js +1 -1
  318. package/symbols/support/constants.js +5 -0
  319. package/symbols/support/utils.js +1 -1
  320. package/views/2d/engine/Stage.js +1 -1
  321. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  322. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  323. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  324. package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
  325. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  326. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  327. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  328. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  329. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  330. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  331. package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
  332. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  333. package/views/2d/layers/BaseLayerView2D.js +1 -1
  334. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  335. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  336. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  337. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  340. package/views/2d/layers/RouteLayerView2D.js +1 -1
  341. package/views/2d/layers/TileLayerView2D.js +1 -1
  342. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  343. package/views/2d/layers/WMSLayerView2D.js +1 -1
  344. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  345. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  346. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  347. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  348. package/views/2d/support/engineHelpers.js +1 -1
  349. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  350. package/views/3d/environment/CloudyWeather.js +1 -1
  351. package/views/3d/environment/Fog.js +1 -1
  352. package/views/3d/environment/FoggyWeather.js +1 -1
  353. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  354. package/views/3d/environment/RainyWeather.js +1 -1
  355. package/views/3d/environment/Stars.js +1 -1
  356. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  357. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  358. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  359. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  360. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  361. package/views/3d/layers/GraphicsView3D.js +1 -1
  362. package/views/3d/layers/I3SMeshView3D.js +1 -1
  363. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  364. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  365. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  366. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  367. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  368. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  369. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  370. package/views/3d/layers/SceneLayerView3D.js +1 -1
  371. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  372. package/views/3d/layers/WMSLayerView3D.js +1 -1
  373. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  374. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  375. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +1 -1
  376. package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +1 -1
  377. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  378. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  379. package/views/3d/layers/graphics/Labeler.js +1 -1
  380. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  381. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  382. package/views/3d/state/controllers/RotateController.js +1 -1
  383. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  384. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  385. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  386. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  387. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  388. package/views/3d/support/debugFlags.js +1 -1
  389. package/views/3d/support/sunUtils.js +1 -1
  390. package/views/3d/terrain/Overlay.js +1 -1
  391. package/views/3d/terrain/OverlayManager.js +1 -1
  392. package/views/3d/terrain/TerrainSurface.js +1 -1
  393. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
  394. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  395. package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
  396. package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
  397. package/views/3d/webgl-engine/lib/Program.js +1 -1
  398. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  399. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
  400. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  401. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  402. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  403. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  404. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  405. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  406. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  407. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  408. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  409. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  410. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  411. package/views/LayerViewManager.js +1 -1
  412. package/views/MapView.js +1 -1
  413. package/views/SceneView.js +1 -1
  414. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  415. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  416. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  417. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  418. package/views/layers/ImageryTileLayerView.js +1 -1
  419. package/views/layers/LayerView.js +1 -1
  420. package/views/layers/OGCFeatureLayerView.js +1 -1
  421. package/views/layers/RefreshableLayerView.js +1 -1
  422. package/views/overlay/ViewOverlay.js +1 -1
  423. package/views/support/WatchUpdatingTracking.js +1 -1
  424. package/views/support/imageReprojection.js +1 -1
  425. package/views/webgl/BufferObject.js +1 -1
  426. package/views/webgl/ContextState.js +1 -1
  427. package/views/webgl/FramebufferObject.js +1 -1
  428. package/views/webgl/Program.js +1 -1
  429. package/views/webgl/ProgramCache.js +1 -1
  430. package/views/webgl/ProgramTemplate.js +1 -1
  431. package/views/webgl/RenderingContext.js +1 -1
  432. package/views/webgl/ShaderTranspiler.js +1 -1
  433. package/views/webgl/UniformBufferLayout.js +5 -0
  434. package/views/webgl/UniformBufferObject.js +5 -0
  435. package/views/webgl/enums.js +1 -1
  436. package/views/webgl/rasterUtils.js +1 -1
  437. package/views/webgl/storageLayouts.js +5 -0
  438. package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
  439. package/views/webgl/testFloatBufferBlend.js +1 -1
  440. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  441. package/views/webgl/testSamplerPrecision.js +1 -1
  442. package/views/webgl/tests/SimpleDraw.js +1 -1
  443. package/widgets/BasemapLayerList.js +1 -1
  444. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  445. package/widgets/Editor/BatchCreateWorkflow.js +1 -1
  446. package/widgets/Editor/CreateWorkflow.js +1 -1
  447. package/widgets/Editor/UpdateWorkflow.js +1 -1
  448. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  449. package/widgets/ElevationProfile.js +1 -1
  450. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  451. package/widgets/Feature/FeatureMedia.js +1 -1
  452. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  453. package/widgets/FeatureForm/InputField.js +1 -1
  454. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  455. package/widgets/FeatureForm.js +1 -1
  456. package/widgets/FeatureTemplates.js +1 -1
  457. package/widgets/FloorFilter.js +1 -1
  458. package/widgets/LayerList/ListItemPanel.js +1 -1
  459. package/widgets/LayerList/support/layerListUtils.js +1 -1
  460. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  461. package/widgets/Popup.js +1 -1
  462. package/widgets/Print.js +1 -1
  463. package/widgets/Search.js +1 -1
  464. package/widgets/Sketch/SketchViewModel.js +1 -1
  465. package/widgets/Weather/CoverageSlider.js +5 -0
  466. package/widgets/Weather/WeatherViewModel.js +1 -1
  467. package/widgets/Weather/css.js +1 -1
  468. package/widgets/Weather.js +1 -1
  469. package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
  470. package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
  471. package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
  472. package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
  473. package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
  474. package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
  475. package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
  476. package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
  477. package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
  478. package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
  479. package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
  480. package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
  481. package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
  482. package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
  483. package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
  484. package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
  485. package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
  486. package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
  487. package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
  488. package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
  489. package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
  490. package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
  491. package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
  492. package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
  493. package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
  494. package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
  495. package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
  496. package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
  497. package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
  498. package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
  499. package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
  500. package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
  501. package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
  502. package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
  503. package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
  504. package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
  505. package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
  506. package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
  507. package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
  508. package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
  509. package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
  510. package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
  511. package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
  512. package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
  513. package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
  514. package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
  515. package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
  516. package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
  517. package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
  518. package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
  519. package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
  520. package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
  521. package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
  522. package/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
package/widgets/Popup.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 t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import o from"../core/Handles.js";import n from"../core/Logger.js";import{isNone as s}from"../core/maybe.js";import{throttle as r}from"../core/throttle.js";import{watch as a,whenFalse as l,on as u,init as c}from"../core/watchUtils.js";import{aliasOf as d}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as g}from"../core/accessorSupport/decorators/subclass.js";import _ from"./Feature.js";import f from"./Spinner.js";import v from"./Widget.js";import{FeatureContentMixin as m}from"./Feature/support/FeatureContentMixin.js";import b from"./Popup/PopupViewModel.js";import{Heading as M}from"./support/Heading.js";import{accessibleHandler as w}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as k}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import{isRTL as A,storeNode as F,cssTransition as I}from"./support/widgetUtils.js";import{substitute as O}from"../intl/substitute.js";const x="selected-index",N=0,B="popup-spinner",T={iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconRightTriangleArrow:"esri-icon-right-triangle-arrow",iconDockToTop:"esri-icon-maximize",iconDockToBottom:"esri-icon-dock-bottom",iconDockToLeft:"esri-icon-dock-left",iconDockToRight:"esri-icon-dock-right",iconClose:"esri-icon-close",iconUndock:"esri-icon-minimize",iconCheckMark:"esri-icon-check-mark",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",iconActionsMenu:"esri-icon-handle-horizontal",rotating:"esri-rotating",base:"esri-popup",widget:"esri-widget",main:"esri-popup__main-container",loadingContainer:"esri-popup__loading-container",isCollapsible:"esri-popup--is-collapsible",isCollapsed:"esri-popup--is-collapsed",shadow:"esri-popup--shadow",isDocked:"esri-popup--is-docked",isDockedTopLeft:"esri-popup--is-docked-top-left",isDockedTopCenter:"esri-popup--is-docked-top-center",isDockedTopRight:"esri-popup--is-docked-top-right",isDockedBottomLeft:"esri-popup--is-docked-bottom-left",isDockedBottomCenter:"esri-popup--is-docked-bottom-center",isDockedBottomRight:"esri-popup--is-docked-bottom-right",alignTopCenter:"esri-popup--aligned-top-center",alignBottomCenter:"esri-popup--aligned-bottom-center",alignTopLeft:"esri-popup--aligned-top-left",alignBottomLeft:"esri-popup--aligned-bottom-left",alignTopRight:"esri-popup--aligned-top-right",alignBottomRight:"esri-popup--aligned-bottom-right",isFeatureMenuOpen:"esri-popup--feature-menu-open",isActionsMenuOpen:"esri-popup--actions-menu-open",hasFeatureUpdated:"esri-popup--feature-updated",header:"esri-popup__header",headerButtons:"esri-popup__header-buttons",headerContainer:"esri-popup__header-container",headerContainerButton:"esri-popup__header-container--button",headerTitle:"esri-popup__header-title",content:"esri-popup__content",footer:"esri-popup__footer",footerHasPagination:"esri-popup__footer--has-pagination",footerHasActions:"esri-popup__footer--has-actions",footerHasActionsMenu:"esri-popup__footer--has-actions-menu",button:"esri-popup__button",buttonDisabled:"esri-popup__button--disabled",buttonDock:"esri-popup__button--dock",icon:"esri-popup__icon",iconDock:"esri-popup__icon--dock-icon",inlineActionsContainer:"esri-popup__inline-actions-container",actionsMenuButton:"esri-popup__actions-menu-button",actions:"esri-popup__actions",action:"esri-popup__action",actionImage:"esri-popup__action-image",actionText:"esri-popup__action-text",actionToggle:"esri-popup__action-toggle",actionToggleOn:"esri-popup__action-toggle--on",pointer:"esri-popup__pointer",pointerDirection:"esri-popup__pointer-direction",navigation:"esri-popup__navigation",paginationPrevious:"esri-popup__pagination-previous",paginationNext:"esri-popup__pagination-next",paginationPreviousIconLTR:"esri-popup__pagination-previous-icon",paginationPreviousIconRTL:"esri-popup__pagination-previous-icon--rtl",paginationNextIconLTR:"esri-popup__pagination-next-icon",paginationNextIconRTL:"esri-popup__pagination-next-icon--rtl",featureMenu:"esri-popup__feature-menu",featureMenuList:"esri-popup__feature-menu-list",featureMenuItem:"esri-popup__feature-menu-item",featureMenuViewport:"esri-popup__feature-menu-viewport",featureMenuHeader:"esri-popup__feature-menu-header",featureMenuNote:"esri-popup__feature-menu-note",featureMenuSelected:"esri-popup__feature-menu-item--selected",featureMenuButton:"esri-popup__feature-menu-button",featureMenuTitle:"esri-popup__feature-menu-title",featureMenuObserver:"esri-popup__feature-menu-observer",featureMenuLoader:"esri-popup__feature-menu-loader",collapseButton:"esri-popup__collapse-button"},D={buttonEnabled:!0,position:"auto",breakpoint:{width:544}},E="esri-popup";function P(e,t){return void 0===t?`${E}__${e}`:`${E}__${e}-${t}`}const L="esri.widgets.Popup",S=n.getLogger(L),V={closeButton:!0,featureNavigation:!0};let U=class extends(m(v)){constructor(e,t){super(e,t),this._blurClose=!1,this._blurContainer=!1,this._containerNode=null,this._mainContainerNode=null,this._featureMenuNode=null,this._actionsMenuNode=null,this._focusClose=!1,this._focusContainer=!1,this._focusDockButton=!1,this._focusFeatureMenuButton=!1,this._focusActionsMenuButton=!1,this._focusFirstFeature=!1,this._focusFirstAction=!1,this._handles=new o,this._pointerOffsetInPx=16,this._spinner=null,this._feature=null,this._featureMenuIntersectionObserverCallback=([e])=>{null!=e&&e.isIntersecting&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._displaySpinnerThrottled=r((()=>this._displaySpinner()),N),this.actions=null,this.alignment="auto",this.autoCloseEnabled=null,this.autoOpenEnabled=null,this.defaultPopupTemplateEnabled=null,this.content=null,this.collapsed=!1,this.collapseEnabled=!0,this.dockEnabled=!1,this.featureCount=null,this.featureMenuOpen=!1,this.features=null,this.goToOverride=null,this.headingLevel=2,this.highlightEnabled=null,this.location=null,this.label=void 0,this.maxInlineActions=3,this.messages=null,this.messagesCommon=null,this.promises=null,this.selectedFeature=null,this.selectedFeatureIndex=null,this.spinnerEnabled=!0,this.title=null,this.updateLocationEnabled=null,this.view=null,this.viewModel=new b,this.visible=null,this.visibleElements={...V},this._addSelectedFeatureIndexHandle(),this.own([a(this,"viewModel.screenLocation",(()=>this._positionContainer())),a(this,["viewModel.active","dockEnabled"],(()=>this._toggleScreenLocationEnabled())),a(this,"viewModel.screenLocation",((e,t)=>{!!e!=!!t&&this.reposition()})),a(this,["viewModel.view.padding","viewModel.view.size","viewModel.active","viewModel.location","alignment"],(()=>this.reposition())),a(this,"spinnerEnabled",(e=>this._spinnerEnabledChange(e))),a(this,"viewModel.view.size",((e,t)=>this._updateDockEnabledForViewSize(e,t))),a(this,"viewModel.view",((e,t)=>this._viewChange(e,t))),a(this,"viewModel.view.ready",((e,t)=>this._viewReadyChange(e,t))),a(this,["viewModel.waitingForResult","viewModel.location"],(()=>{this._hideSpinner(),this._displaySpinnerThrottled()})),a(this,["selectedFeatureWidget.viewModel.title","selectedFeatureWidget.viewModel.state"],(()=>this._setTitleFromFeatureWidget())),a(this,["selectedFeatureWidget.viewModel.content","selectedFeatureWidget.viewModel.state"],(()=>this._setContentFromFeatureWidget())),l(this,"collapsed",(()=>{var e,t;"xsmall"===(null==(e=this.viewModel)||null==(t=e.view)?void 0:t.widthBreakpoint)&&this.viewModel.active&&this.collapseEnabled&&this.viewModel.centerAtLocation()})),u(this,"viewModel.allActions","change",(()=>this._watchActions())),c(this,"viewModel.allActions",(()=>this._watchActions())),a(this,"viewModel.featureViewModels",(()=>this._featureMenuViewportScrollTop()))])}destroy(){var e,t;this._destroySelectedFeatureWidget(),this._destroySpinner(),null==(e=this._handles)||e.destroy(),this._unobserveFeatureMenuObserver(),null==(t=this._featureMenuIntersectionObserver)||t.disconnect(),this._handles=null}get actionsMenuId(){return`${this.id}-actions-menu`}get actionsMenuButtonId(){return`${this.id}-actions-menu-button`}get featureMenuId(){return`${this.id}-feature-menu`}get titleId(){return`${this.id}-popup-title`}get contentId(){return`${this.id}-popup-content`}get hasContent(){var e,t,i,o,n,s,r;return!!(this.selectedFeatureWidget?(null==(e=this.selectedFeatureWidget)||null==(t=e.viewModel)?void 0:t.waitingForContent)||"error"===(null==(i=this.selectedFeatureWidget)||null==(o=i.viewModel)?void 0:o.state)||(null==(n=this.selectedFeatureWidget)||null==(s=n.viewModel)?void 0:s.content):null==(r=this.viewModel)?void 0:r.content)}get featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&this.visibleElements.featureNavigation}get collapsible(){return!!(this.collapseEnabled&&this.viewModel.title&&this.hasContent)}get featureMenuVisible(){return this.featureNavigationVisible&&this.featureMenuOpen}get contentCollapsed(){return this.collapsible&&!this.featureMenuVisible&&this.collapsed}get dividedActions(){return this._divideActions()}set actionsMenuOpen(e){this._set("actionsMenuOpen",!!e)}get actionsMenuOpen(){return!!this.viewModel.active&&this._get("actionsMenuOpen")}get currentAlignment(){return this._getCurrentAlignment()}get currentDockPosition(){return this._getCurrentDockPosition()}get dockOptions(){return this._get("dockOptions")||D}set dockOptions(e){const t={...D},i=this.get("viewModel.view.breakpoints"),o={};i&&(o.width=i.xsmall,o.height=i.xsmall);const n={...t,...e},s={...t.breakpoint,...o},{breakpoint:r}=n;!0===r?n.breakpoint=s:"object"==typeof r&&(n.breakpoint={...s,...r}),this._set("dockOptions",n),this._setCurrentDockPosition(),this.reposition()}get selectedFeatureWidget(){const{_feature:e,visibleElements:t,headingLevel:i}=this,{selectedFeatureViewModel:o}=this.viewModel,n={...t,title:!1};return o?(e?(e.viewModel=o,e.visibleElements=n):this._feature=new _({headingLevel:i+1,viewModel:o,visibleElements:n}),this._feature):null}castVisibleElements(e){return{...V,...e}}blur(){const{active:e}=this.viewModel;e||S.warn("Popup can only be blurred when currently active."),this.visibleElements.closeButton?this._blurClose=!0:this._blurContainer=!0,this.scheduleRender()}clear(){this.viewModel.clear()}close(){this.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{active:e}=this.viewModel;e||S.warn("Popup can only be focused when currently active."),this.visibleElements.closeButton?this._focusClose=!0:this._focusContainer=!0,this.scheduleRender()}next(){return this.viewModel.next()}open(e){var t,i;this._handles.remove(x);const o=!!e&&!!e.featureMenuOpen,n=!!e&&!!e.actionsMenuOpen,s={collapsed:!!e&&!!e.collapsed,actionsMenuOpen:n,featureMenuOpen:o};"xsmall"===(null==(t=this.viewModel)||null==(i=t.view)?void 0:i.widthBreakpoint)&&(s.collapsed=!0),this.set(s),this.viewModel.open(e),this._addSelectedFeatureIndexHandle()}previous(){return this.viewModel.previous()}reposition(){this.renderNow(),this._positionContainer(),this._setCurrentAlignment()}triggerAction(e){this.viewModel.triggerAction(e)}render(){var e,t,i,o;const{actionsMenuOpen:n,dockEnabled:s,featureMenuVisible:r,dividedActions:a,currentAlignment:l,currentDockPosition:u}=this,{active:c}=this.viewModel,{menuActions:d}=a,p=c&&d.length>1&&n,h=c&&s,g=c&&!s,_=null==(e=this.selectedFeature)||null==(t=e.layer)?void 0:t.title,f=null==(i=this.selectedFeature)||null==(o=i.layer)?void 0:o.id,v={[T.alignTopCenter]:"top-center"===l,[T.alignBottomCenter]:"bottom-center"===l,[T.alignTopLeft]:"top-left"===l,[T.alignBottomLeft]:"bottom-left"===l,[T.alignTopRight]:"top-right"===l,[T.alignBottomRight]:"bottom-right"===l,[T.isDocked]:h,[T.shadow]:g,[T.isDockedTopLeft]:"top-left"===u,[T.isDockedTopCenter]:"top-center"===u,[T.isDockedTopRight]:"top-right"===u,[T.isDockedBottomLeft]:"bottom-left"===u,[T.isDockedBottomCenter]:"bottom-center"===u,[T.isDockedBottomRight]:"bottom-right"===u,[T.isFeatureMenuOpen]:r,[T.isActionsMenuOpen]:p};return C("div",{class:this.classes(T.base,v),role:"presentation","data-layer-title":_,"data-layer-id":f,bind:this,afterCreate:this._positionContainer,afterUpdate:this._positionContainer},c?[this.renderMainContainer(),this.renderPointer()]:null)}renderLoadingIcon(){return C("span",{"aria-hidden":"true",class:this.classes(T.icon,T.iconLoading,T.rotating)})}renderNavigationLoading(){const{messagesCommon:e}=this;return this.viewModel.pendingPromisesCount?C("div",{key:P("loading-container"),role:"presentation",class:T.loadingContainer,"aria-label":e.loading,title:e.loading},this.renderLoadingIcon()):null}renderPreviousIcon(){const e=A(this.container),t={[T.iconRightTriangleArrow]:e,[T.paginationPreviousIconRTL]:e,[T.iconLeftTriangleArrow]:!e,[T.paginationPreviousIconLTR]:!e};return C("span",{"aria-hidden":"true",class:this.classes(T.icon,t)})}renderPreviousButton(){const{messages:e}=this;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._previous,onkeydown:this._previous,class:this.classes(T.button,T.paginationPrevious),"aria-label":e.previous,title:e.previous},this.renderPreviousIcon())}renderNextIcon(){const e=A(this.container),t={[T.iconLeftTriangleArrow]:e,[T.paginationNextIconRTL]:e,[T.iconRightTriangleArrow]:!e,[T.paginationNextIconLTR]:!e};return C("span",{"aria-hidden":"true",class:this.classes(T.icon,t)})}renderNextButton(){const{messages:e}=this;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._next,onkeydown:this._next,class:this.classes(T.button,T.paginationNext),"aria-label":e.next,title:e.next},this.renderNextIcon())}renderFeatureMenuButton(){const{featureMenuOpen:e,featureMenuId:t,messagesCommon:i}=this,{featureCount:o,selectedFeatureIndex:n}=this.viewModel;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._toggleFeatureMenu,onkeydown:this._toggleFeatureMenu,afterCreate:this._focusFeatureMenuButtonNode,afterUpdate:this._focusFeatureMenuButtonNode,class:this.classes(T.button,T.featureMenuButton),"aria-haspopup":"true","aria-controls":t,"aria-expanded":e.toString(),"aria-label":i.menu,title:i.menu},this._getPageText(o,n))}renderNavigationButtons(){return this.featureNavigationVisible?[this.renderPreviousButton(),this.renderNavigationLoading()||this.renderFeatureMenuButton(),this.renderNextButton()]:null}renderDockIcon(){const{dockEnabled:e}=this,t=this._wouldDockTo(),i={[T.iconUndock]:e,[T.iconDock]:!e,[T.iconDockToRight]:!e&&("top-right"===t||"bottom-right"===t),[T.iconDockToLeft]:!e&&("top-left"===t||"bottom-left"===t),[T.iconDockToTop]:!e&&"top-center"===t,[T.iconDockToBottom]:!e&&"bottom-center"===t};return C("span",{"aria-hidden":"true",class:this.classes(i,T.icon)})}renderDockButton(){var e,t,i;const{dockEnabled:o,messages:n}=this,s=null==(e=this.viewModel)||null==(t=e.view)?void 0:t.widthBreakpoint,r=o?n.undock:n.dock;return"xsmall"!==s&&null!=(i=this.dockOptions)&&i.buttonEnabled?C("div",{role:"button","aria-label":r,title:r,tabIndex:0,bind:this,onclick:this._toggleDockEnabled,onkeydown:this._toggleDockEnabled,afterCreate:this._focusDockButtonNode,afterUpdate:this._focusDockButtonNode,class:this.classes(T.button,T.buttonDock)},this.renderDockIcon()):null}renderTitle(){const{title:e}=this.viewModel,{titleId:t,collapsible:i,contentCollapsed:o,messagesCommon:n}=this,s={[T.headerContainerButton]:i},r=C(M,{level:this.headingLevel,class:T.headerTitle,innerHTML:e}),a=i?C("button",{key:`${e}--collapsible`,id:t,title:o?n.expand:n.collapse,bind:this,enterAnimation:this._createFeatureUpdatedAnimation(),class:this.classes(T.headerContainer,s),"aria-expanded":o?"false":"true",onclick:this._toggleCollapsed},r):C("div",{key:e,id:t,bind:this,enterAnimation:this._createFeatureUpdatedAnimation(),class:this.classes(T.headerContainer,s)},r);return e?a:null}renderCloseIcon(){return C("span",{"aria-hidden":"true",class:this.classes(T.icon,T.iconClose)})}renderCloseButton(){const{visibleElements:e,messagesCommon:t}=this;return e.closeButton?C("div",{role:"button",tabIndex:0,bind:this,onclick:this._close,onkeydown:this._close,class:T.button,"aria-label":t.close,title:t.close,afterCreate:this._closeButtonNodeUpdated,afterUpdate:this._closeButtonNodeUpdated},this.renderCloseIcon()):null}renderHeader(){return C("header",{class:T.header},this.renderTitle(),C("div",{class:T.headerButtons},this.renderDockButton(),this.renderCloseButton()))}renderContentContainer(){const{contentId:e,hasContent:t,contentCollapsed:i}=this,{content:o}=this.viewModel;return t&&!i?C("article",{key:o,enterAnimation:this._createFeatureUpdatedAnimation(),id:e,class:T.content},this.renderContent()):null}renderActionsMenuButton(){const{actionsMenuId:e,actionsMenuButtonId:t,actionsMenuOpen:i,dividedActions:o,messagesCommon:n}=this,s=i?n.close:n.open,{menuActions:r}=o;return r.length?C("div",{key:P("actions-menu-button"),class:this.classes(T.button,T.actionsMenuButton),role:"button",id:t,"aria-haspopup":"true","aria-controls":i?e:null,tabIndex:0,bind:this,onclick:this._toggleActionsMenu,onkeydown:this._toggleActionsMenu,afterCreate:this._focusActionsMenuButtonNode,afterUpdate:this._focusActionsMenuButtonNode,"aria-label":s,title:s},C("span",{"aria-hidden":"true",class:T.iconActionsMenu})):null}renderMenuActions(){const{actionsMenuId:e,actionsMenuButtonId:t,actionsMenuOpen:i,dividedActions:o}=this,{menuActions:n}=o;return n.length&&i?C("ul",{id:e,role:"menu","aria-labelledby":t,key:P("actions"),class:T.actions,bind:this,onkeyup:this._handleActionMenuKeyup,afterCreate:this._actionsMenuNodeUpdated,afterUpdate:this._actionsMenuNodeUpdated},n.toArray().map((e=>this.renderAction({action:e,type:"menu-item"})))):null}renderInlineActions(){const{inlineActions:e}=this.dividedActions;return!!e.length&&e.toArray().map((e=>this.renderAction({action:e,type:"inline"})))}renderInlineActionsContainer(){const{inlineActions:e,menuActions:t}=this.dividedActions,i=!!e.length,o=!!t.length;return i||o?C("div",{key:"inline-actions-container","data-inline-actions":i.toString(),"data-menu-actions":o.toString(),class:T.inlineActionsContainer},this.renderInlineActions(),this.renderActionsMenuButton(),this.renderMenuActions()):null}renderNavigation(){return this.featureNavigationVisible?C("section",{key:P("navigation"),class:this.classes(T.navigation)},this.renderNavigationButtons()):null}renderFooter(){const{featureNavigationVisible:e,dividedActions:t}=this,{inlineActions:i,menuActions:o}=t,n=!!i.length,s=!!o.length,r={[T.footerHasPagination]:e,[T.footerHasActions]:n,[T.footerHasActionsMenu]:s};return e||n?C("div",{key:P("feature-buttons"),class:this.classes(T.footer,r)},this.renderInlineActionsContainer(),this.renderNavigation()):null}renderFeatureMenuContainer(){const{messages:e}=this,{featureViewModels:t,isLoadingFeature:i}=this.viewModel,o=O(e.selectedFeatures,{total:t.length});return C("section",{key:P("menu"),class:T.featureMenu},C("strong",{class:T.featureMenuHeader},o),C("nav",{bind:this,class:T.featureMenuViewport,"data-node-ref":"_featureMenuViewportNode",afterCreate:F},this.renderFeatureMenu(),C("div",{class:T.featureMenuObserver,bind:this,afterCreate:this._featureMenuIntersectionObserverCreated}),i?C("div",{class:T.featureMenuLoader},this.renderLoadingIcon()):null))}renderPointer(){return this.dockEnabled?null:C("div",{key:P("pointer"),class:T.pointer,role:"presentation"},C("div",{class:this.classes(T.pointerDirection,T.shadow)}))}renderMainContainer(){const{dockEnabled:e,currentAlignment:t,currentDockPosition:i,titleId:o,contentId:n,collapsible:s,hasContent:r,contentCollapsed:a,visibleElements:l}=this,{title:u}=this.viewModel,c="bottom-left"===t||"bottom-center"===t||"bottom-right"===t||"top-left"===i||"top-center"===i||"top-right"===i,d="top-left"===t||"top-center"===t||"top-right"===t||"bottom-left"===i||"bottom-center"===i||"bottom-right"===i,p={[T.shadow]:e,[T.isCollapsible]:s,[T.isCollapsed]:a};return C("div",{class:this.classes(T.main,T.widget,p),tabIndex:l.closeButton?null:-1,role:"dialog","aria-labelledby":u?o:"","aria-describedby":r&&!a?n:"",bind:this,onkeyup:this._handleMainKeyup,afterCreate:this._mainContainerNodeUpdated,afterUpdate:this._mainContainerNodeUpdated},c?this.renderFooter():null,c?this.renderFeatureMenuContainer():null,this.renderHeader(),this.renderContentContainer(),d?this.renderFooter():null,d?this.renderFeatureMenuContainer():null)}renderContent(){var e;const t=null==(e=this.viewModel)?void 0:e.content;return t?"string"==typeof t?C("div",{key:t,innerHTML:t}):this.renderNodeContent(t):null}renderActionText(e){return C("span",{key:"text",class:T.actionText},e)}renderActionIcon(e){const t=this._getActionClass(e),i=this._getActionImage(e),o={[T.iconLoading]:e.active,[T.rotating]:e.active,[T.icon]:!!t,[T.actionImage]:!e.active&&!!i};return t&&(o[t]=!e.active),C("span",{key:"icon","aria-hidden":"true",class:this.classes(T.icon,o),styles:this._getIconStyles(i)})}renderAction(e){const{action:t,type:i}=e,o=this._getActionTitle(t),n={[T.action]:"toggle"!==t.type,[T.actionToggle]:"toggle"===t.type,[T.actionToggleOn]:"toggle"===t.type&&t.value,[T.buttonDisabled]:t.disabled},s=[this.renderActionIcon(t),this.renderActionText(o)],r="menu-item"===i?C("li",{key:t.uid,role:"menuitem",tabIndex:0,title:o,"aria-label":o,class:this.classes(T.button,n),onkeyup:this._handleActionMenuItemKeyup,bind:this,"data-action-uid":t.uid,onclick:this._triggerAction,onkeydown:this._triggerAction},s):C("div",{key:t.uid,role:"button",tabIndex:0,title:o,"aria-label":o,class:this.classes(T.button,n),onkeyup:this._handleActionMenuItemKeyup,bind:this,"data-action-uid":t.uid,onclick:this._triggerAction,onkeydown:this._triggerAction},s);return t.visible?r:null}renderFeatureMenuItem(e,t){const{messages:i,messagesCommon:o}=this,{selectedFeatureIndex:n,selectedFeatureViewModel:s}=this.viewModel,r=e===s,a={[T.featureMenuSelected]:r},l=r?C("span",{key:P(`feature-menu-selected-feature-${n}`),title:i.selectedFeature,"aria-label":i.selectedFeature,class:T.iconCheckMark}):null,u=C("span",{innerHTML:e.title||o.untitled});return C("li",{role:"menuitem",tabIndex:-1,key:P(`feature-menu-feature-${n}`),class:this.classes(a,T.featureMenuItem),bind:this,"data-feature-index":t,onkeyup:this._handleFeatureMenuItemKeyup,onclick:this._selectFeature,onkeydown:this._selectFeature},C("span",{class:T.featureMenuTitle},u,l))}renderFeatureMenu(){const{featureMenuId:e}=this,{featureViewModels:t}=this.viewModel;return t.length>1?C("ol",{class:T.featureMenuList,id:e,bind:this,afterCreate:this._featureMenuNodeUpdated,afterUpdate:this._featureMenuNodeUpdated,onkeyup:this._handleFeatureMenuKeyup,role:"menu"},t.filter((e=>!!e.graphic)).map(((e,t)=>this.renderFeatureMenuItem(e,t)))):null}_getActionTitle(e){const{messages:t,selectedFeature:i,messagesCommon:o}=this,{id:n}=e,s=null==i?void 0:i.attributes,r="zoom-to-feature"===n?O(e.title,{messages:t}):"remove-selected-feature"===n?O(e.title,{messages:o}):"zoom-to-clustered-features"===n||"browse-clustered-features"===n?O(e.title,{messages:t}):e.title;return r&&s?O(r,s):r}_getActionClass(e){const{selectedFeature:t}=this,i=null==t?void 0:t.attributes,{className:o,image:n}=e,s=n||o?o:T.iconDefaultAction;return s&&i?O(s,i):s}_getActionImage(e){const{selectedFeature:t}=this,i=null==t?void 0:t.attributes,{image:o}=e;return o&&i?O(o,i):o}_createFeatureUpdatedAnimation(){return I("enter",T.hasFeatureUpdated)}_getInlineActionCount(){const{maxInlineActions:e,featureNavigationVisible:t}=this;if("number"!=typeof e)return null;const i=Math.round(e);return Math.max(t?i-1:i,0)}_watchActions(){const{allActions:e}=this.viewModel;this.notifyChange("dividedActions");const t="actions";this._handles.remove(t),e&&e.forEach((e=>{this._handles.add(a(e,["uid","active","className","disabled","id","title","image","visible"],(()=>this.scheduleRender())),t)}))}_divideActions(){const{allActions:e}=this.viewModel,i=e.filter((e=>e.visible)),o=this._getInlineActionCount(),n=null===o,s=0===o;return{inlineActions:n?i.slice(0):s?new t:i.slice(0,o),menuActions:n?new t:s?i.slice(0):i.slice(o)}}_featureMenuOpenChanged(e){e?this._focusFirstFeature=!0:this._focusFeatureMenuButton=!0}_actionsMenuOpenChanged(e){e?this._focusFirstAction=!0:this._focusActionsMenuButton=!0}_setTitleFromFeatureWidget(){const{selectedFeatureWidget:e,messagesCommon:t}=this;var i,o;e&&(this.viewModel.title="error"===(null==(i=e.viewModel)?void 0:i.state)?t.errorMessage:(null==(o=e.viewModel)?void 0:o.title)||"")}_setContentFromFeatureWidget(){const{selectedFeatureWidget:e}=this;e&&(this.viewModel.content=e)}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_handleFeatureMenuKeyup(e){"Escape"===i(e)&&(e.stopPropagation(),this._focusFeatureMenuButton=!0,this.featureMenuOpen=!1,this.scheduleRender())}_handleActionMenuKeyup(e){"Escape"===i(e)&&(e.stopPropagation(),this._focusActionsMenuButton=!0,this.actionsMenuOpen=!1,this.scheduleRender())}_handleFeatureMenuItemKeyup(e){const t=i(e),{_featureMenuNode:o}=this,n=e.currentTarget["data-feature-index"];if(!o)return;const s=o.querySelectorAll("li"),r=s.length;if("ArrowUp"!==t)if("ArrowDown"!==t)if("Home"!==t)if("End"!==t);else{e.stopPropagation();s[s.length-1].focus()}else{e.stopPropagation();s[0].focus()}else{e.stopPropagation();s[(n+1+r)%r].focus()}else{e.stopPropagation();s[(n-1+r)%r].focus()}}_handleActionMenuItemKeyup(e){const t=i(e),{_actionsMenuNode:o}=this,n=e.currentTarget.dataset.actionUid,{menuActions:s}=this.dividedActions,r=s.findIndex((e=>e.uid===n));if(!o)return;const a=o.querySelectorAll("li"),l=a.length;if("ArrowUp"!==t)if("ArrowDown"!==t)if("Home"!==t)if("End"!==t);else{e.stopPropagation();a[a.length-1].focus()}else{e.stopPropagation();a[0].focus()}else{e.stopPropagation();a[(r+1+l)%l].focus()}else{e.stopPropagation();a[(r-1+l)%l].focus()}}_handleMainKeyup(e){const t=i(e);"ArrowLeft"===t&&(e.stopPropagation(),this.previous()),"ArrowRight"===t&&(e.stopPropagation(),this.next())}_spinnerEnabledChange(e){if(this._destroySpinner(),!e)return;const t=this.get("viewModel.view");this._createSpinner(t)}_hideSpinner(){const{_spinner:e}=this;e&&(e.location=null,e.hide())}_displaySpinner(){const{_spinner:e}=this;if(!e)return;const{location:t,waitingForResult:i}=this.viewModel;i?e.show({location:t}):e.hide()}_getIconStyles(e){return{"background-image":e?`url(${e})`:""}}_addSelectedFeatureIndexHandle(){const e=a(this,"viewModel.selectedFeatureIndex",((e,t)=>this._selectedFeatureIndexUpdated(e,t)));this._handles.add(e,x)}_selectedFeatureIndexUpdated(e,t){const{featureCount:i}=this;i&&e!==t&&-1!==e&&(this.actionsMenuOpen=!1,this.featureMenuOpen=!1)}_destroySelectedFeatureWidget(){const{_feature:e}=this;e&&(e.viewModel=null,e&&!e.destroyed&&e.destroy()),this._feature=null}_isScreenLocationWithinView(e,t){return e.x>-1&&e.y>-1&&e.x<=t.width&&e.y<=t.height}_isOutsideView(e){const{popupHeight:t,popupWidth:i,screenLocation:o,side:n,view:s}=e;if(isNaN(i)||isNaN(t)||!s||!o)return!1;const r=s.padding;return"right"===n&&o.x+i/2>s.width-r.right||("left"===n&&o.x-i/2<r.left||("top"===n&&o.y-t<r.top||"bottom"===n&&o.y+t>s.height-r.bottom))}_calculateAutoAlignment(e){if("auto"!==e)return e;const{_pointerOffsetInPx:t,_containerNode:i,_mainContainerNode:o,viewModel:n}=this,{screenLocation:r,view:a}=n;if(s(r)||!a||!i)return"top-center";if(!this._isScreenLocationWithinView(r,a))return this._get("currentAlignment")||"top-center";function l(e){return parseInt(e.replace(/[^-\d\.]/g,""),10)}const u=o?window.getComputedStyle(o,null):null,c=u?l(u.getPropertyValue("max-height")):0,d=u?l(u.getPropertyValue("height")):0,{height:p,width:h}=i.getBoundingClientRect(),g=h+t,_=Math.max(p,c,d)+t,f=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"right",view:a}),v=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"left",view:a}),m=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"top",view:a}),b=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"bottom",view:a});return v?m?"bottom-right":"top-right":f?m?"bottom-left":"top-left":m?b?"top-center":"bottom-center":"top-center"}_callCurrentAlignment(e){return"function"==typeof e?e.call(this):e}_getCurrentAlignment(){const{alignment:e,dockEnabled:t}=this;return t||!this.viewModel.active?null:this._calculatePositionResult(this._calculateAutoAlignment(this._callCurrentAlignment(e)))}_setCurrentAlignment(){this._set("currentAlignment",this._getCurrentAlignment())}_setCurrentDockPosition(){this._set("currentDockPosition",this._getCurrentDockPosition())}_calculatePositionResult(e){const t=["left","right"];return A(this.container)&&t.reverse(),e.replace(/leading/gi,t[0]).replace(/trailing/gi,t[1])}_callDockPosition(e){return"function"==typeof e?e.call(this):e}_getDockPosition(){var e;return this._calculatePositionResult(this._calculateAutoDockPosition(this._callDockPosition(null==(e=this.dockOptions)?void 0:e.position)))}_getCurrentDockPosition(){return this.dockEnabled&&this.viewModel.active?this._getDockPosition():null}_wouldDockTo(){return this.dockEnabled?null:this._getDockPosition()}_calculateAutoDockPosition(e){var t;if("auto"!==e)return e;const i=null==(t=this.viewModel)?void 0:t.view,o=A(this.container)?"top-left":"top-right";if(!i)return o;const n=i.padding||{left:0,right:0,top:0,bottom:0},s=i.width-n.left-n.right,{breakpoints:r}=i;return r&&s<=r.xsmall?"bottom-center":o}_positionContainer(e=this._containerNode){if(e&&(this._containerNode=e),!e)return;const{screenLocation:t}=this.viewModel,{width:i}=e.getBoundingClientRect(),o=this._calculatePositionStyle(t,i);o&&(e.style.top=o.top,e.style.left=o.left,e.style.bottom=o.bottom,e.style.right=o.right)}_calculateFullWidth(e){const{currentAlignment:t,_pointerOffsetInPx:i}=this;return"top-left"===t||"bottom-left"===t||"top-right"===t||"bottom-right"===t?e+i:e}_calculateAlignmentPosition(e,t,i,o){const{currentAlignment:n,_pointerOffsetInPx:s}=this,r=o/2,a=i.height-t,l=i.width-e,{padding:u}=this.view;return"bottom-center"===n?{top:t+s-u.top,left:e-r-u.left}:"top-left"===n?{bottom:a+s-u.bottom,right:l+s-u.right}:"bottom-left"===n?{top:t+s-u.top,right:l+s-u.right}:"top-right"===n?{bottom:a+s-u.bottom,left:e+s-u.left}:"bottom-right"===n?{top:t+s-u.top,left:e+s-u.left}:"top-center"===n?{bottom:a+s-u.bottom,left:e-r-u.left}:void 0}_calculatePositionStyle(e,t){const{dockEnabled:i,view:o}=this;if(!o)return;if(i)return{left:"",top:"",right:"",bottom:""};if(s(e)||!t)return;const n=this._calculateFullWidth(t),r=this._calculateAlignmentPosition(e.x,e.y,o,n);return r?{top:void 0!==r.top?`${r.top}px`:"auto",left:void 0!==r.left?`${r.left}px`:"auto",bottom:void 0!==r.bottom?`${r.bottom}px`:"auto",right:void 0!==r.right?`${r.right}px`:"auto"}:void 0}_viewChange(e,t){e&&t&&(this.close(),this.clear())}_viewReadyChange(e,t){if(e){const e=this.get("viewModel.view");this._wireUpView(e)}else t&&(this.close(),this.clear())}_wireUpView(e){if(this._destroySpinner(),!e)return;const{spinnerEnabled:t}=this;t&&this._createSpinner(e),this._setDockEnabledForViewSize(this.dockOptions)}_dockingThresholdCrossed(e,t,i){const[o,n]=e,[s,r]=t,{width:a,height:l}=i;return o<=a&&s>a||o>a&&s<=a||n<=l&&r>l||n>l&&r<=l}_updateDockEnabledForViewSize(e,t){if(!e||!t)return;const i=this.get("viewModel.view.padding")||{left:0,right:0,top:0,bottom:0},o=i.left+i.right,n=i.top+i.bottom,s=[],r=[];s[0]=e[0]-o,s[1]=e[1]-n,r[0]=t[0]-o,r[1]=t[1]-n;const{dockOptions:a}=this,l=a.breakpoint;this._dockingThresholdCrossed(s,r,l)&&this._setDockEnabledForViewSize(a),this._setCurrentDockPosition()}_focusDockButtonNode(e){this._focusDockButton&&(this._focusDockButton=!1,e.focus())}_closeButtonNodeUpdated(e){return this._focusClose?(this._focusClose=!1,void e.focus()):this._blurClose?(this._blurClose=!1,void e.blur()):void 0}_mainContainerNodeUpdated(e){return this._mainContainerNode=e,this._focusContainer?(this._focusContainer=!1,void e.focus()):this._blurContainer?(this._blurContainer=!1,void e.blur()):void 0}_featureMenuNodeUpdated(e){if(this._featureMenuNode=e,!e||!this._focusFirstFeature)return;this._focusFirstFeature=!1;const t=e.querySelectorAll("li");if(t.length){t[0].focus()}}_actionsMenuNodeUpdated(e){if(this._actionsMenuNode=e,!e||!this._focusFirstAction)return;this._focusFirstAction=!1;const t=e.querySelectorAll("li");if(t.length){t[0].focus()}}_focusFeatureMenuButtonNode(e){this._focusFeatureMenuButton&&(this._focusFeatureMenuButton=!1,e.focus())}_focusActionsMenuButtonNode(e){this._focusActionsMenuButton&&(this._focusActionsMenuButton=!1,e.focus())}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&(this._featureMenuViewportNode.scrollTop=0)}_toggleScreenLocationEnabled(){const{dockEnabled:e,viewModel:t}=this;if(!t)return;const i=t.active&&!e;t.screenLocationEnabled=i}_shouldDockAtCurrentViewSize(e){var t,i;const o=e.breakpoint,n=null==(t=this.viewModel)||null==(i=t.view)?void 0:i.ui;if(!n)return!1;const{width:s,height:r}=n;if(isNaN(s)||isNaN(r))return!1;const a=o.hasOwnProperty("width")&&s<=o.width,l=o.hasOwnProperty("height")&&r<=o.height;return a||l}_setDockEnabledForViewSize(e){e.breakpoint&&(this.dockEnabled=this._shouldDockAtCurrentViewSize(e))}_getPageText(e,t){return this.featureNavigationVisible?O(this.messages.pageText,{index:t+1,total:e}):null}_destroySpinner(){const{_spinner:e,view:t}=this;e&&(t&&t.ui&&t.ui.remove(this._spinner,B),e.destroy(),this._spinner=null)}_createSpinner(e){e&&(this._spinner=new f({view:e}),e.ui.add(this._spinner,{key:B,position:"manual"}))}_toggleCollapsed(){this.collapsed=!this.collapsed}_close(){this.close(),this.view&&this.view.focus()}_toggleDockEnabled(){this.dockEnabled=!this.dockEnabled,this._focusDockButton=!0,this.scheduleRender()}_toggleFeatureMenu(){const e=!this.featureMenuOpen;this._featureMenuOpenChanged(e),this.actionsMenuOpen=!1,this.featureMenuOpen=e}_toggleActionsMenu(){const e=!this.actionsMenuOpen;this._actionsMenuOpenChanged(e),this.featureMenuOpen=!1,this.actionsMenuOpen=e}_triggerAction(e){const t=e.currentTarget.dataset.actionUid,{allActions:i}=this.viewModel,o=i.findIndex((e=>e.uid===t)),n=i.getItemAt(o);n&&"toggle"===n.type&&(n.value=!n.value),this.actionsMenuOpen=!1,this.viewModel.triggerAction(o)}_selectFeature(e){const t=e.currentTarget["data-feature-index"];isNaN(t)||(this.viewModel.selectedFeatureIndex=t),this.featureMenuOpen=!1,this._focusFeatureMenuButton=!0,this.scheduleRender()}_next(){this.next()}_previous(){this.previous()}};e([h({readOnly:!0})],U.prototype,"actionsMenuId",null),e([h({readOnly:!0})],U.prototype,"actionsMenuButtonId",null),e([h({readOnly:!0})],U.prototype,"featureMenuId",null),e([h({readOnly:!0})],U.prototype,"titleId",null),e([h({readOnly:!0})],U.prototype,"contentId",null),e([h({readOnly:!0})],U.prototype,"hasContent",null),e([h({readOnly:!0})],U.prototype,"featureNavigationVisible",null),e([h({readOnly:!0})],U.prototype,"collapsible",null),e([h({readOnly:!0})],U.prototype,"featureMenuVisible",null),e([h({readOnly:!0})],U.prototype,"contentCollapsed",null),e([h({readOnly:!0})],U.prototype,"dividedActions",null),e([d("viewModel.actions")],U.prototype,"actions",void 0),e([h()],U.prototype,"actionsMenuOpen",null),e([h()],U.prototype,"alignment",void 0),e([d("viewModel.autoCloseEnabled")],U.prototype,"autoCloseEnabled",void 0),e([d("viewModel.autoOpenEnabled")],U.prototype,"autoOpenEnabled",void 0),e([d("viewModel.defaultPopupTemplateEnabled")],U.prototype,"defaultPopupTemplateEnabled",void 0),e([d("viewModel.content")],U.prototype,"content",void 0),e([h()],U.prototype,"collapsed",void 0),e([h()],U.prototype,"collapseEnabled",void 0),e([h({readOnly:!0})],U.prototype,"currentAlignment",null),e([h({readOnly:!0})],U.prototype,"currentDockPosition",null),e([h()],U.prototype,"dockOptions",null),e([h()],U.prototype,"dockEnabled",void 0),e([d("viewModel.featureCount")],U.prototype,"featureCount",void 0),e([h()],U.prototype,"featureMenuOpen",void 0),e([d("viewModel.features")],U.prototype,"features",void 0),e([d("viewModel.goToOverride")],U.prototype,"goToOverride",void 0),e([h()],U.prototype,"headingLevel",void 0),e([d("viewModel.highlightEnabled")],U.prototype,"highlightEnabled",void 0),e([d("viewModel.location")],U.prototype,"location",void 0),e([h({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],U.prototype,"label",void 0),e([h()],U.prototype,"maxInlineActions",void 0),e([h(),y("esri/widgets/Popup/t9n/Popup")],U.prototype,"messages",void 0),e([h(),y("esri/t9n/common")],U.prototype,"messagesCommon",void 0),e([d("viewModel.promises")],U.prototype,"promises",void 0),e([d("viewModel.selectedFeature")],U.prototype,"selectedFeature",void 0),e([d("viewModel.selectedFeatureIndex")],U.prototype,"selectedFeatureIndex",void 0),e([h({readOnly:!0})],U.prototype,"selectedFeatureWidget",null),e([h()],U.prototype,"spinnerEnabled",void 0),e([d("viewModel.title")],U.prototype,"title",void 0),e([d("viewModel.updateLocationEnabled")],U.prototype,"updateLocationEnabled",void 0),e([d("viewModel.view")],U.prototype,"view",void 0),e([h({type:b}),k(["triggerAction","trigger-action"])],U.prototype,"viewModel",void 0),e([d("viewModel.visible")],U.prototype,"visible",void 0),e([h()],U.prototype,"visibleElements",void 0),e([p("visibleElements")],U.prototype,"castVisibleElements",null),e([w()],U.prototype,"_close",null),e([w()],U.prototype,"_toggleDockEnabled",null),e([w()],U.prototype,"_toggleFeatureMenu",null),e([w()],U.prototype,"_toggleActionsMenu",null),e([w()],U.prototype,"_triggerAction",null),e([w()],U.prototype,"_selectFeature",null),e([w()],U.prototype,"_next",null),e([w()],U.prototype,"_previous",null),U=e([g(L)],U);const R=U;export{R as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import o from"../core/Handles.js";import n from"../core/Logger.js";import{isNone as s}from"../core/maybe.js";import{throttle as r}from"../core/throttle.js";import{watch as a,whenFalse as l,on as u,init as c}from"../core/watchUtils.js";import{aliasOf as d}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as g}from"../core/accessorSupport/decorators/subclass.js";import _ from"./Feature.js";import f from"./Spinner.js";import v from"./Widget.js";import{FeatureContentMixin as m}from"./Feature/support/FeatureContentMixin.js";import b from"./Popup/PopupViewModel.js";import{Heading as M}from"./support/Heading.js";import{accessibleHandler as w}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as k}from"./support/decorators/vmEvent.js";import{tsx as C}from"./support/jsxFactory.js";import{isRTL as A,storeNode as F,cssTransition as I}from"./support/widgetUtils.js";import{substitute as O}from"../intl/substitute.js";const x="selected-index",N=0,B="popup-spinner",T={iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconRightTriangleArrow:"esri-icon-right-triangle-arrow",iconDockToTop:"esri-icon-maximize",iconDockToBottom:"esri-icon-dock-bottom",iconDockToLeft:"esri-icon-dock-left",iconDockToRight:"esri-icon-dock-right",iconClose:"esri-icon-close",iconUndock:"esri-icon-minimize",iconCheckMark:"esri-icon-check-mark",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",iconActionsMenu:"esri-icon-handle-horizontal",rotating:"esri-rotating",base:"esri-popup",widget:"esri-widget",main:"esri-popup__main-container",loadingContainer:"esri-popup__loading-container",isCollapsible:"esri-popup--is-collapsible",isCollapsed:"esri-popup--is-collapsed",shadow:"esri-popup--shadow",isDocked:"esri-popup--is-docked",isDockedTopLeft:"esri-popup--is-docked-top-left",isDockedTopCenter:"esri-popup--is-docked-top-center",isDockedTopRight:"esri-popup--is-docked-top-right",isDockedBottomLeft:"esri-popup--is-docked-bottom-left",isDockedBottomCenter:"esri-popup--is-docked-bottom-center",isDockedBottomRight:"esri-popup--is-docked-bottom-right",alignTopCenter:"esri-popup--aligned-top-center",alignBottomCenter:"esri-popup--aligned-bottom-center",alignTopLeft:"esri-popup--aligned-top-left",alignBottomLeft:"esri-popup--aligned-bottom-left",alignTopRight:"esri-popup--aligned-top-right",alignBottomRight:"esri-popup--aligned-bottom-right",isFeatureMenuOpen:"esri-popup--feature-menu-open",isActionsMenuOpen:"esri-popup--actions-menu-open",hasFeatureUpdated:"esri-popup--feature-updated",header:"esri-popup__header",headerButtons:"esri-popup__header-buttons",headerContainer:"esri-popup__header-container",headerContainerButton:"esri-popup__header-container--button",headerTitle:"esri-popup__header-title",content:"esri-popup__content",footer:"esri-popup__footer",footerHasPagination:"esri-popup__footer--has-pagination",footerHasActions:"esri-popup__footer--has-actions",footerHasActionsMenu:"esri-popup__footer--has-actions-menu",button:"esri-popup__button",buttonDisabled:"esri-popup__button--disabled",buttonDock:"esri-popup__button--dock",icon:"esri-popup__icon",iconDock:"esri-popup__icon--dock-icon",inlineActionsContainer:"esri-popup__inline-actions-container",actionsMenuButton:"esri-popup__actions-menu-button",actions:"esri-popup__actions",action:"esri-popup__action",actionImage:"esri-popup__action-image",actionText:"esri-popup__action-text",actionToggle:"esri-popup__action-toggle",actionToggleOn:"esri-popup__action-toggle--on",pointer:"esri-popup__pointer",pointerDirection:"esri-popup__pointer-direction",navigation:"esri-popup__navigation",paginationPrevious:"esri-popup__pagination-previous",paginationNext:"esri-popup__pagination-next",paginationPreviousIconLTR:"esri-popup__pagination-previous-icon",paginationPreviousIconRTL:"esri-popup__pagination-previous-icon--rtl",paginationNextIconLTR:"esri-popup__pagination-next-icon",paginationNextIconRTL:"esri-popup__pagination-next-icon--rtl",featureMenu:"esri-popup__feature-menu",featureMenuList:"esri-popup__feature-menu-list",featureMenuItem:"esri-popup__feature-menu-item",featureMenuViewport:"esri-popup__feature-menu-viewport",featureMenuHeader:"esri-popup__feature-menu-header",featureMenuNote:"esri-popup__feature-menu-note",featureMenuSelected:"esri-popup__feature-menu-item--selected",featureMenuButton:"esri-popup__feature-menu-button",featureMenuTitle:"esri-popup__feature-menu-title",featureMenuObserver:"esri-popup__feature-menu-observer",featureMenuLoader:"esri-popup__feature-menu-loader",collapseButton:"esri-popup__collapse-button"},D={buttonEnabled:!0,position:"auto",breakpoint:{width:544}},E="esri-popup";function P(e,t){return void 0===t?`${E}__${e}`:`${E}__${e}-${t}`}const L="esri.widgets.Popup",S=n.getLogger(L),V={closeButton:!0,featureNavigation:!0};let U=class extends(m(v)){constructor(e,t){super(e,t),this._blurClose=!1,this._blurContainer=!1,this._containerNode=null,this._mainContainerNode=null,this._featureMenuNode=null,this._actionsMenuNode=null,this._focusClose=!1,this._focusContainer=!1,this._focusDockButton=!1,this._focusFeatureMenuButton=!1,this._focusActionsMenuButton=!1,this._focusFirstFeature=!1,this._focusFirstAction=!1,this._handles=new o,this._pointerOffsetInPx=16,this._spinner=null,this._feature=null,this._featureMenuIntersectionObserverCallback=([e])=>{null!=e&&e.isIntersecting&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._displaySpinnerThrottled=r((()=>this._displaySpinner()),N),this.actions=null,this.alignment="auto",this.autoCloseEnabled=null,this.autoOpenEnabled=null,this.defaultPopupTemplateEnabled=null,this.content=null,this.collapsed=!1,this.collapseEnabled=!0,this.dockEnabled=!1,this.featureCount=null,this.featureMenuOpen=!1,this.features=null,this.goToOverride=null,this.headingLevel=2,this.highlightEnabled=null,this.location=null,this.label=void 0,this.maxInlineActions=3,this.messages=null,this.messagesCommon=null,this.promises=null,this.selectedFeature=null,this.selectedFeatureIndex=null,this.spinnerEnabled=!0,this.title=null,this.updateLocationEnabled=null,this.view=null,this.viewModel=new b,this.visible=null,this.visibleElements={...V},this._addSelectedFeatureIndexHandle(),this.own([a(this,"viewModel.screenLocation",(()=>this._positionContainer())),a(this,["viewModel.active","dockEnabled"],(()=>this._toggleScreenLocationEnabled())),a(this,"viewModel.screenLocation",((e,t)=>{!!e!=!!t&&this.reposition()})),a(this,["viewModel.view.padding","viewModel.view.size","viewModel.active","viewModel.location","alignment"],(()=>this.reposition())),a(this,"spinnerEnabled",(e=>this._spinnerEnabledChange(e))),a(this,"viewModel.view.size",((e,t)=>this._updateDockEnabledForViewSize(e,t))),a(this,"viewModel.view",((e,t)=>this._viewChange(e,t))),a(this,"viewModel.view.ready",((e,t)=>this._viewReadyChange(e,t))),a(this,["viewModel.waitingForResult","viewModel.location"],(()=>{this._hideSpinner(),this._displaySpinnerThrottled()})),a(this,["selectedFeatureWidget.viewModel.title","selectedFeatureWidget.viewModel.state"],(()=>this._setTitleFromFeatureWidget())),a(this,["selectedFeatureWidget.viewModel.content","selectedFeatureWidget.viewModel.state"],(()=>this._setContentFromFeatureWidget())),l(this,"collapsed",(()=>{var e,t;"xsmall"===(null==(e=this.viewModel)||null==(t=e.view)?void 0:t.widthBreakpoint)&&this.viewModel.active&&this.collapseEnabled&&this.viewModel.centerAtLocation()})),u(this,"viewModel.allActions","change",(()=>this._watchActions())),c(this,"viewModel.allActions",(()=>this._watchActions())),a(this,"viewModel.featureViewModels",(()=>this._featureMenuViewportScrollTop()))])}destroy(){var e,t;this._destroySelectedFeatureWidget(),this._destroySpinner(),null==(e=this._handles)||e.destroy(),this._unobserveFeatureMenuObserver(),null==(t=this._featureMenuIntersectionObserver)||t.disconnect(),this._handles=null}get actionsMenuId(){return`${this.id}-actions-menu`}get actionsMenuButtonId(){return`${this.id}-actions-menu-button`}get featureMenuId(){return`${this.id}-feature-menu`}get titleId(){return`${this.id}-popup-title`}get contentId(){return`${this.id}-popup-content`}get hasContent(){var e,t,i,o,n,s,r;return!!(this.selectedFeatureWidget?(null==(e=this.selectedFeatureWidget)||null==(t=e.viewModel)?void 0:t.waitingForContent)||"error"===(null==(i=this.selectedFeatureWidget)||null==(o=i.viewModel)?void 0:o.state)||(null==(n=this.selectedFeatureWidget)||null==(s=n.viewModel)?void 0:s.content):null==(r=this.viewModel)?void 0:r.content)}get featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&this.visibleElements.featureNavigation}get collapsible(){return!!(this.collapseEnabled&&this.viewModel.title&&this.hasContent)}get featureMenuVisible(){return this.featureNavigationVisible&&this.featureMenuOpen}get contentCollapsed(){return this.collapsible&&!this.featureMenuVisible&&this.collapsed}get dividedActions(){return this._divideActions()}set actionsMenuOpen(e){this._set("actionsMenuOpen",!!e)}get actionsMenuOpen(){return!!this.viewModel.active&&this._get("actionsMenuOpen")}get currentAlignment(){return this._getCurrentAlignment()}get currentDockPosition(){return this._getCurrentDockPosition()}get dockOptions(){return this._get("dockOptions")||D}set dockOptions(e){const t={...D},i=this.get("viewModel.view.breakpoints"),o={};i&&(o.width=i.xsmall,o.height=i.xsmall);const n={...t,...e},s={...t.breakpoint,...o},{breakpoint:r}=n;!0===r?n.breakpoint=s:"object"==typeof r&&(n.breakpoint={...s,...r}),this._set("dockOptions",n),this._setCurrentDockPosition(),this.reposition()}get selectedFeatureWidget(){const{_feature:e,visibleElements:t,headingLevel:i}=this,{selectedFeatureViewModel:o}=this.viewModel,n={...t,title:!1};return o?(e?(e.viewModel=o,e.visibleElements=n):this._feature=new _({headingLevel:i+1,viewModel:o,visibleElements:n}),this._feature):null}castVisibleElements(e){return{...V,...e}}blur(){const{active:e}=this.viewModel;e||S.warn("Popup can only be blurred when currently active."),this.visibleElements.closeButton?this._blurClose=!0:this._blurContainer=!0,this.scheduleRender()}clear(){this.viewModel.clear()}close(){this.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{active:e}=this.viewModel;e||S.warn("Popup can only be focused when currently active."),this.visibleElements.closeButton?this._focusClose=!0:this._focusContainer=!0,this.scheduleRender()}next(){return this.viewModel.next()}open(e){var t,i;this._handles.remove(x);const o=!!e&&!!e.featureMenuOpen,n=!!e&&!!e.actionsMenuOpen,s={collapsed:!!e&&!!e.collapsed,actionsMenuOpen:n,featureMenuOpen:o};"xsmall"===(null==(t=this.viewModel)||null==(i=t.view)?void 0:i.widthBreakpoint)&&(s.collapsed=!0),this.set(s),this.viewModel.open(e),this._addSelectedFeatureIndexHandle()}previous(){return this.viewModel.previous()}reposition(){this.renderNow(),this._positionContainer(),this._setCurrentAlignment()}triggerAction(e){this.viewModel.triggerAction(e)}render(){var e,t,i,o;const{actionsMenuOpen:n,dockEnabled:s,featureMenuVisible:r,dividedActions:a,currentAlignment:l,currentDockPosition:u}=this,{active:c}=this.viewModel,{menuActions:d}=a,p=c&&d.length>1&&n,h=c&&s,g=c&&!s,_=null==(e=this.selectedFeature)||null==(t=e.layer)?void 0:t.title,f=null==(i=this.selectedFeature)||null==(o=i.layer)?void 0:o.id,v={[T.alignTopCenter]:"top-center"===l,[T.alignBottomCenter]:"bottom-center"===l,[T.alignTopLeft]:"top-left"===l,[T.alignBottomLeft]:"bottom-left"===l,[T.alignTopRight]:"top-right"===l,[T.alignBottomRight]:"bottom-right"===l,[T.isDocked]:h,[T.shadow]:g,[T.isDockedTopLeft]:"top-left"===u,[T.isDockedTopCenter]:"top-center"===u,[T.isDockedTopRight]:"top-right"===u,[T.isDockedBottomLeft]:"bottom-left"===u,[T.isDockedBottomCenter]:"bottom-center"===u,[T.isDockedBottomRight]:"bottom-right"===u,[T.isFeatureMenuOpen]:r,[T.isActionsMenuOpen]:p};return C("div",{class:this.classes(T.base,v),role:"presentation","data-layer-title":_,"data-layer-id":f,bind:this,afterCreate:this._positionContainer,afterUpdate:this._positionContainer},c?[this.renderMainContainer(),this.renderPointer()]:null)}renderLoadingIcon(){return C("span",{"aria-hidden":"true",class:this.classes(T.icon,T.iconLoading,T.rotating)})}renderNavigationLoading(){const{messagesCommon:e}=this;return this.viewModel.pendingPromisesCount?C("div",{key:P("loading-container"),role:"presentation",class:T.loadingContainer,"aria-label":e.loading,title:e.loading},this.renderLoadingIcon()):null}renderPreviousIcon(){const e=A(this.container),t={[T.iconRightTriangleArrow]:e,[T.paginationPreviousIconRTL]:e,[T.iconLeftTriangleArrow]:!e,[T.paginationPreviousIconLTR]:!e};return C("span",{"aria-hidden":"true",class:this.classes(T.icon,t)})}renderPreviousButton(){const{messages:e}=this;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._previous,onkeydown:this._previous,class:this.classes(T.button,T.paginationPrevious),"aria-label":e.previous,title:e.previous},this.renderPreviousIcon())}renderNextIcon(){const e=A(this.container),t={[T.iconLeftTriangleArrow]:e,[T.paginationNextIconRTL]:e,[T.iconRightTriangleArrow]:!e,[T.paginationNextIconLTR]:!e};return C("span",{"aria-hidden":"true",class:this.classes(T.icon,t)})}renderNextButton(){const{messages:e}=this;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._next,onkeydown:this._next,class:this.classes(T.button,T.paginationNext),"aria-label":e.next,title:e.next},this.renderNextIcon())}renderFeatureMenuButton(){const{featureMenuOpen:e,featureMenuId:t,messagesCommon:i}=this,{featureCount:o,selectedFeatureIndex:n}=this.viewModel;return C("div",{role:"button",tabIndex:0,bind:this,onclick:this._toggleFeatureMenu,onkeydown:this._toggleFeatureMenu,afterCreate:this._focusFeatureMenuButtonNode,afterUpdate:this._focusFeatureMenuButtonNode,class:this.classes(T.button,T.featureMenuButton),"aria-haspopup":"true","aria-controls":t,"aria-expanded":e.toString(),"aria-label":i.menu,title:i.menu},this._getPageText(o,n))}renderNavigationButtons(){return this.featureNavigationVisible?[this.renderPreviousButton(),this.renderNavigationLoading()||this.renderFeatureMenuButton(),this.renderNextButton()]:null}renderDockIcon(){const{dockEnabled:e}=this,t=this._wouldDockTo(),i={[T.iconUndock]:e,[T.iconDock]:!e,[T.iconDockToRight]:!e&&("top-right"===t||"bottom-right"===t),[T.iconDockToLeft]:!e&&("top-left"===t||"bottom-left"===t),[T.iconDockToTop]:!e&&"top-center"===t,[T.iconDockToBottom]:!e&&"bottom-center"===t};return C("span",{"aria-hidden":"true",class:this.classes(i,T.icon)})}renderDockButton(){var e,t,i;const{dockEnabled:o,messages:n}=this,s=null==(e=this.viewModel)||null==(t=e.view)?void 0:t.widthBreakpoint,r=o?n.undock:n.dock;return"xsmall"!==s&&null!=(i=this.dockOptions)&&i.buttonEnabled?C("div",{role:"button","aria-label":r,title:r,tabIndex:0,bind:this,onclick:this._toggleDockEnabled,onkeydown:this._toggleDockEnabled,afterCreate:this._focusDockButtonNode,afterUpdate:this._focusDockButtonNode,class:this.classes(T.button,T.buttonDock)},this.renderDockIcon()):null}renderTitle(){const{title:e}=this.viewModel,{titleId:t,collapsible:i,contentCollapsed:o,messagesCommon:n}=this,s={[T.headerContainerButton]:i},r=C(M,{level:this.headingLevel,class:T.headerTitle,innerHTML:e}),a=i?C("button",{key:`${e}--collapsible`,id:t,title:o?n.expand:n.collapse,bind:this,enterAnimation:this._createFeatureUpdatedAnimation(),class:this.classes(T.headerContainer,s),"aria-expanded":o?"false":"true",onclick:this._toggleCollapsed,type:"button"},r):C("div",{key:e,id:t,bind:this,enterAnimation:this._createFeatureUpdatedAnimation(),class:this.classes(T.headerContainer,s)},r);return e?a:null}renderCloseIcon(){return C("span",{"aria-hidden":"true",class:this.classes(T.icon,T.iconClose)})}renderCloseButton(){const{visibleElements:e,messagesCommon:t}=this;return e.closeButton?C("div",{role:"button",tabIndex:0,bind:this,onclick:this._close,onkeydown:this._close,class:T.button,"aria-label":t.close,title:t.close,afterCreate:this._closeButtonNodeUpdated,afterUpdate:this._closeButtonNodeUpdated},this.renderCloseIcon()):null}renderHeader(){return C("header",{class:T.header},this.renderTitle(),C("div",{class:T.headerButtons},this.renderDockButton(),this.renderCloseButton()))}renderContentContainer(){const{contentId:e,hasContent:t,contentCollapsed:i}=this,{content:o}=this.viewModel;return t&&!i?C("article",{key:o,enterAnimation:this._createFeatureUpdatedAnimation(),id:e,class:T.content},this.renderContent()):null}renderActionsMenuButton(){const{actionsMenuId:e,actionsMenuButtonId:t,actionsMenuOpen:i,dividedActions:o,messagesCommon:n}=this,s=i?n.close:n.open,{menuActions:r}=o;return r.length?C("div",{key:P("actions-menu-button"),class:this.classes(T.button,T.actionsMenuButton),role:"button",id:t,"aria-haspopup":"true","aria-controls":i?e:null,tabIndex:0,bind:this,onclick:this._toggleActionsMenu,onkeydown:this._toggleActionsMenu,afterCreate:this._focusActionsMenuButtonNode,afterUpdate:this._focusActionsMenuButtonNode,"aria-label":s,title:s},C("span",{"aria-hidden":"true",class:T.iconActionsMenu})):null}renderMenuActions(){const{actionsMenuId:e,actionsMenuButtonId:t,actionsMenuOpen:i,dividedActions:o}=this,{menuActions:n}=o;return n.length&&i?C("ul",{id:e,role:"menu","aria-labelledby":t,key:P("actions"),class:T.actions,bind:this,onkeyup:this._handleActionMenuKeyup,afterCreate:this._actionsMenuNodeUpdated,afterUpdate:this._actionsMenuNodeUpdated},n.toArray().map((e=>this.renderAction({action:e,type:"menu-item"})))):null}renderInlineActions(){const{inlineActions:e}=this.dividedActions;return!!e.length&&e.toArray().map((e=>this.renderAction({action:e,type:"inline"})))}renderInlineActionsContainer(){const{inlineActions:e,menuActions:t}=this.dividedActions,i=!!e.length,o=!!t.length;return i||o?C("div",{key:"inline-actions-container","data-inline-actions":i.toString(),"data-menu-actions":o.toString(),class:T.inlineActionsContainer},this.renderInlineActions(),this.renderActionsMenuButton(),this.renderMenuActions()):null}renderNavigation(){return this.featureNavigationVisible?C("section",{key:P("navigation"),class:this.classes(T.navigation)},this.renderNavigationButtons()):null}renderFooter(){const{featureNavigationVisible:e,dividedActions:t}=this,{inlineActions:i,menuActions:o}=t,n=!!i.length,s=!!o.length,r={[T.footerHasPagination]:e,[T.footerHasActions]:n,[T.footerHasActionsMenu]:s};return e||n?C("div",{key:P("feature-buttons"),class:this.classes(T.footer,r)},this.renderInlineActionsContainer(),this.renderNavigation()):null}renderFeatureMenuContainer(){const{messages:e}=this,{featureViewModels:t,isLoadingFeature:i}=this.viewModel,o=O(e.selectedFeatures,{total:t.length});return C("section",{key:P("menu"),class:T.featureMenu},C("strong",{class:T.featureMenuHeader},o),C("nav",{bind:this,class:T.featureMenuViewport,"data-node-ref":"_featureMenuViewportNode",afterCreate:F},this.renderFeatureMenu(),C("div",{class:T.featureMenuObserver,bind:this,afterCreate:this._featureMenuIntersectionObserverCreated}),i?C("div",{class:T.featureMenuLoader},this.renderLoadingIcon()):null))}renderPointer(){return this.dockEnabled?null:C("div",{key:P("pointer"),class:T.pointer,role:"presentation"},C("div",{class:this.classes(T.pointerDirection,T.shadow)}))}renderMainContainer(){const{dockEnabled:e,currentAlignment:t,currentDockPosition:i,titleId:o,contentId:n,collapsible:s,hasContent:r,contentCollapsed:a,visibleElements:l}=this,{title:u}=this.viewModel,c="bottom-left"===t||"bottom-center"===t||"bottom-right"===t||"top-left"===i||"top-center"===i||"top-right"===i,d="top-left"===t||"top-center"===t||"top-right"===t||"bottom-left"===i||"bottom-center"===i||"bottom-right"===i,p={[T.shadow]:e,[T.isCollapsible]:s,[T.isCollapsed]:a};return C("div",{class:this.classes(T.main,T.widget,p),tabIndex:l.closeButton?null:-1,role:"dialog","aria-labelledby":u?o:"","aria-describedby":r&&!a?n:"",bind:this,onkeyup:this._handleMainKeyup,afterCreate:this._mainContainerNodeUpdated,afterUpdate:this._mainContainerNodeUpdated},c?this.renderFooter():null,c?this.renderFeatureMenuContainer():null,this.renderHeader(),this.renderContentContainer(),d?this.renderFooter():null,d?this.renderFeatureMenuContainer():null)}renderContent(){var e;const t=null==(e=this.viewModel)?void 0:e.content;return t?"string"==typeof t?C("div",{key:t,innerHTML:t}):this.renderNodeContent(t):null}renderActionText(e){return C("span",{key:"text",class:T.actionText},e)}renderActionIcon(e){const t=this._getActionClass(e),i=this._getActionImage(e),o={[T.iconLoading]:e.active,[T.rotating]:e.active,[T.icon]:!!t,[T.actionImage]:!e.active&&!!i};return t&&(o[t]=!e.active),C("span",{key:"icon","aria-hidden":"true",class:this.classes(T.icon,o),styles:this._getIconStyles(i)})}renderAction(e){const{action:t,type:i}=e,o=this._getActionTitle(t),n={[T.action]:"toggle"!==t.type,[T.actionToggle]:"toggle"===t.type,[T.actionToggleOn]:"toggle"===t.type&&t.value,[T.buttonDisabled]:t.disabled},s=[this.renderActionIcon(t),this.renderActionText(o)],r="menu-item"===i?C("li",{key:t.uid,role:"menuitem",tabIndex:0,title:o,"aria-label":o,class:this.classes(T.button,n),onkeyup:this._handleActionMenuItemKeyup,bind:this,"data-action-uid":t.uid,onclick:this._triggerAction,onkeydown:this._triggerAction},s):C("div",{key:t.uid,role:"button",tabIndex:0,title:o,"aria-label":o,class:this.classes(T.button,n),onkeyup:this._handleActionMenuItemKeyup,bind:this,"data-action-uid":t.uid,onclick:this._triggerAction,onkeydown:this._triggerAction},s);return t.visible?r:null}renderFeatureMenuItem(e,t){const{messages:i,messagesCommon:o}=this,{selectedFeatureIndex:n,selectedFeatureViewModel:s}=this.viewModel,r=e===s,a={[T.featureMenuSelected]:r},l=r?C("span",{key:P(`feature-menu-selected-feature-${n}`),title:i.selectedFeature,"aria-label":i.selectedFeature,class:T.iconCheckMark}):null,u=C("span",{innerHTML:e.title||o.untitled});return C("li",{role:"menuitem",tabIndex:-1,key:P(`feature-menu-feature-${n}`),class:this.classes(a,T.featureMenuItem),bind:this,"data-feature-index":t,onkeyup:this._handleFeatureMenuItemKeyup,onclick:this._selectFeature,onkeydown:this._selectFeature},C("span",{class:T.featureMenuTitle},u,l))}renderFeatureMenu(){const{featureMenuId:e}=this,{featureViewModels:t}=this.viewModel;return t.length>1?C("ol",{class:T.featureMenuList,id:e,bind:this,afterCreate:this._featureMenuNodeUpdated,afterUpdate:this._featureMenuNodeUpdated,onkeyup:this._handleFeatureMenuKeyup,role:"menu"},t.filter((e=>!!e.graphic)).map(((e,t)=>this.renderFeatureMenuItem(e,t)))):null}_getActionTitle(e){const{messages:t,selectedFeature:i,messagesCommon:o}=this,{id:n}=e,s=null==i?void 0:i.attributes,r="zoom-to-feature"===n?O(e.title,{messages:t}):"remove-selected-feature"===n?O(e.title,{messages:o}):"zoom-to-clustered-features"===n||"browse-clustered-features"===n?O(e.title,{messages:t}):e.title;return r&&s?O(r,s):r}_getActionClass(e){const{selectedFeature:t}=this,i=null==t?void 0:t.attributes,{className:o,image:n}=e,s=n||o?o:T.iconDefaultAction;return s&&i?O(s,i):s}_getActionImage(e){const{selectedFeature:t}=this,i=null==t?void 0:t.attributes,{image:o}=e;return o&&i?O(o,i):o}_createFeatureUpdatedAnimation(){return I("enter",T.hasFeatureUpdated)}_getInlineActionCount(){const{maxInlineActions:e,featureNavigationVisible:t}=this;if("number"!=typeof e)return null;const i=Math.round(e);return Math.max(t?i-1:i,0)}_watchActions(){const{allActions:e}=this.viewModel;this.notifyChange("dividedActions");const t="actions";this._handles.remove(t),e&&e.forEach((e=>{this._handles.add(a(e,["uid","active","className","disabled","id","title","image","visible"],(()=>this.scheduleRender())),t)}))}_divideActions(){const{allActions:e}=this.viewModel,i=e.filter((e=>e.visible)),o=this._getInlineActionCount(),n=null===o,s=0===o;return{inlineActions:n?i.slice(0):s?new t:i.slice(0,o),menuActions:n?new t:s?i.slice(0):i.slice(o)}}_featureMenuOpenChanged(e){e?this._focusFirstFeature=!0:this._focusFeatureMenuButton=!0}_actionsMenuOpenChanged(e){e?this._focusFirstAction=!0:this._focusActionsMenuButton=!0}_setTitleFromFeatureWidget(){const{selectedFeatureWidget:e,messagesCommon:t}=this;var i,o;e&&(this.viewModel.title="error"===(null==(i=e.viewModel)?void 0:i.state)?t.errorMessage:(null==(o=e.viewModel)?void 0:o.title)||"")}_setContentFromFeatureWidget(){const{selectedFeatureWidget:e}=this;e&&(this.viewModel.content=e)}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_handleFeatureMenuKeyup(e){"Escape"===i(e)&&(e.stopPropagation(),this._focusFeatureMenuButton=!0,this.featureMenuOpen=!1,this.scheduleRender())}_handleActionMenuKeyup(e){"Escape"===i(e)&&(e.stopPropagation(),this._focusActionsMenuButton=!0,this.actionsMenuOpen=!1,this.scheduleRender())}_handleFeatureMenuItemKeyup(e){const t=i(e),{_featureMenuNode:o}=this,n=e.currentTarget["data-feature-index"];if(!o)return;const s=o.querySelectorAll("li"),r=s.length;if("ArrowUp"!==t)if("ArrowDown"!==t)if("Home"!==t)if("End"!==t);else{e.stopPropagation();s[s.length-1].focus()}else{e.stopPropagation();s[0].focus()}else{e.stopPropagation();s[(n+1+r)%r].focus()}else{e.stopPropagation();s[(n-1+r)%r].focus()}}_handleActionMenuItemKeyup(e){const t=i(e),{_actionsMenuNode:o}=this,n=e.currentTarget.dataset.actionUid,{menuActions:s}=this.dividedActions,r=s.findIndex((e=>e.uid===n));if(!o)return;const a=o.querySelectorAll("li"),l=a.length;if("ArrowUp"!==t)if("ArrowDown"!==t)if("Home"!==t)if("End"!==t);else{e.stopPropagation();a[a.length-1].focus()}else{e.stopPropagation();a[0].focus()}else{e.stopPropagation();a[(r+1+l)%l].focus()}else{e.stopPropagation();a[(r-1+l)%l].focus()}}_handleMainKeyup(e){const t=i(e);"ArrowLeft"===t&&(e.stopPropagation(),this.previous()),"ArrowRight"===t&&(e.stopPropagation(),this.next())}_spinnerEnabledChange(e){if(this._destroySpinner(),!e)return;const t=this.get("viewModel.view");this._createSpinner(t)}_hideSpinner(){const{_spinner:e}=this;e&&(e.location=null,e.hide())}_displaySpinner(){const{_spinner:e}=this;if(!e)return;const{location:t,waitingForResult:i}=this.viewModel;i?e.show({location:t}):e.hide()}_getIconStyles(e){return{"background-image":e?`url(${e})`:""}}_addSelectedFeatureIndexHandle(){const e=a(this,"viewModel.selectedFeatureIndex",((e,t)=>this._selectedFeatureIndexUpdated(e,t)));this._handles.add(e,x)}_selectedFeatureIndexUpdated(e,t){const{featureCount:i}=this;i&&e!==t&&-1!==e&&(this.actionsMenuOpen=!1,this.featureMenuOpen=!1)}_destroySelectedFeatureWidget(){const{_feature:e}=this;e&&(e.viewModel=null,e&&!e.destroyed&&e.destroy()),this._feature=null}_isScreenLocationWithinView(e,t){return e.x>-1&&e.y>-1&&e.x<=t.width&&e.y<=t.height}_isOutsideView(e){const{popupHeight:t,popupWidth:i,screenLocation:o,side:n,view:s}=e;if(isNaN(i)||isNaN(t)||!s||!o)return!1;const r=s.padding;return"right"===n&&o.x+i/2>s.width-r.right||("left"===n&&o.x-i/2<r.left||("top"===n&&o.y-t<r.top||"bottom"===n&&o.y+t>s.height-r.bottom))}_calculateAutoAlignment(e){if("auto"!==e)return e;const{_pointerOffsetInPx:t,_containerNode:i,_mainContainerNode:o,viewModel:n}=this,{screenLocation:r,view:a}=n;if(s(r)||!a||!i)return"top-center";if(!this._isScreenLocationWithinView(r,a))return this._get("currentAlignment")||"top-center";function l(e){return parseInt(e.replace(/[^-\d\.]/g,""),10)}const u=o?window.getComputedStyle(o,null):null,c=u?l(u.getPropertyValue("max-height")):0,d=u?l(u.getPropertyValue("height")):0,{height:p,width:h}=i.getBoundingClientRect(),g=h+t,_=Math.max(p,c,d)+t,f=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"right",view:a}),v=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"left",view:a}),m=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"top",view:a}),b=this._isOutsideView({popupHeight:_,popupWidth:g,screenLocation:r,side:"bottom",view:a});return v?m?"bottom-right":"top-right":f?m?"bottom-left":"top-left":m?b?"top-center":"bottom-center":"top-center"}_callCurrentAlignment(e){return"function"==typeof e?e.call(this):e}_getCurrentAlignment(){const{alignment:e,dockEnabled:t}=this;return t||!this.viewModel.active?null:this._calculatePositionResult(this._calculateAutoAlignment(this._callCurrentAlignment(e)))}_setCurrentAlignment(){this._set("currentAlignment",this._getCurrentAlignment())}_setCurrentDockPosition(){this._set("currentDockPosition",this._getCurrentDockPosition())}_calculatePositionResult(e){const t=["left","right"];return A(this.container)&&t.reverse(),e.replace(/leading/gi,t[0]).replace(/trailing/gi,t[1])}_callDockPosition(e){return"function"==typeof e?e.call(this):e}_getDockPosition(){var e;return this._calculatePositionResult(this._calculateAutoDockPosition(this._callDockPosition(null==(e=this.dockOptions)?void 0:e.position)))}_getCurrentDockPosition(){return this.dockEnabled&&this.viewModel.active?this._getDockPosition():null}_wouldDockTo(){return this.dockEnabled?null:this._getDockPosition()}_calculateAutoDockPosition(e){var t;if("auto"!==e)return e;const i=null==(t=this.viewModel)?void 0:t.view,o=A(this.container)?"top-left":"top-right";if(!i)return o;const n=i.padding||{left:0,right:0,top:0,bottom:0},s=i.width-n.left-n.right,{breakpoints:r}=i;return r&&s<=r.xsmall?"bottom-center":o}_positionContainer(e=this._containerNode){if(e&&(this._containerNode=e),!e)return;const{screenLocation:t}=this.viewModel,{width:i}=e.getBoundingClientRect(),o=this._calculatePositionStyle(t,i);o&&(e.style.top=o.top,e.style.left=o.left,e.style.bottom=o.bottom,e.style.right=o.right)}_calculateFullWidth(e){const{currentAlignment:t,_pointerOffsetInPx:i}=this;return"top-left"===t||"bottom-left"===t||"top-right"===t||"bottom-right"===t?e+i:e}_calculateAlignmentPosition(e,t,i,o){const{currentAlignment:n,_pointerOffsetInPx:s}=this,r=o/2,a=i.height-t,l=i.width-e,{padding:u}=this.view;return"bottom-center"===n?{top:t+s-u.top,left:e-r-u.left}:"top-left"===n?{bottom:a+s-u.bottom,right:l+s-u.right}:"bottom-left"===n?{top:t+s-u.top,right:l+s-u.right}:"top-right"===n?{bottom:a+s-u.bottom,left:e+s-u.left}:"bottom-right"===n?{top:t+s-u.top,left:e+s-u.left}:"top-center"===n?{bottom:a+s-u.bottom,left:e-r-u.left}:void 0}_calculatePositionStyle(e,t){const{dockEnabled:i,view:o}=this;if(!o)return;if(i)return{left:"",top:"",right:"",bottom:""};if(s(e)||!t)return;const n=this._calculateFullWidth(t),r=this._calculateAlignmentPosition(e.x,e.y,o,n);return r?{top:void 0!==r.top?`${r.top}px`:"auto",left:void 0!==r.left?`${r.left}px`:"auto",bottom:void 0!==r.bottom?`${r.bottom}px`:"auto",right:void 0!==r.right?`${r.right}px`:"auto"}:void 0}_viewChange(e,t){e&&t&&(this.close(),this.clear())}_viewReadyChange(e,t){if(e){const e=this.get("viewModel.view");this._wireUpView(e)}else t&&(this.close(),this.clear())}_wireUpView(e){if(this._destroySpinner(),!e)return;const{spinnerEnabled:t}=this;t&&this._createSpinner(e),this._setDockEnabledForViewSize(this.dockOptions)}_dockingThresholdCrossed(e,t,i){const[o,n]=e,[s,r]=t,{width:a,height:l}=i;return o<=a&&s>a||o>a&&s<=a||n<=l&&r>l||n>l&&r<=l}_updateDockEnabledForViewSize(e,t){if(!e||!t)return;const i=this.get("viewModel.view.padding")||{left:0,right:0,top:0,bottom:0},o=i.left+i.right,n=i.top+i.bottom,s=[],r=[];s[0]=e[0]-o,s[1]=e[1]-n,r[0]=t[0]-o,r[1]=t[1]-n;const{dockOptions:a}=this,l=a.breakpoint;this._dockingThresholdCrossed(s,r,l)&&this._setDockEnabledForViewSize(a),this._setCurrentDockPosition()}_focusDockButtonNode(e){this._focusDockButton&&(this._focusDockButton=!1,e.focus())}_closeButtonNodeUpdated(e){return this._focusClose?(this._focusClose=!1,void e.focus()):this._blurClose?(this._blurClose=!1,void e.blur()):void 0}_mainContainerNodeUpdated(e){return this._mainContainerNode=e,this._focusContainer?(this._focusContainer=!1,void e.focus()):this._blurContainer?(this._blurContainer=!1,void e.blur()):void 0}_featureMenuNodeUpdated(e){if(this._featureMenuNode=e,!e||!this._focusFirstFeature)return;this._focusFirstFeature=!1;const t=e.querySelectorAll("li");if(t.length){t[0].focus()}}_actionsMenuNodeUpdated(e){if(this._actionsMenuNode=e,!e||!this._focusFirstAction)return;this._focusFirstAction=!1;const t=e.querySelectorAll("li");if(t.length){t[0].focus()}}_focusFeatureMenuButtonNode(e){this._focusFeatureMenuButton&&(this._focusFeatureMenuButton=!1,e.focus())}_focusActionsMenuButtonNode(e){this._focusActionsMenuButton&&(this._focusActionsMenuButton=!1,e.focus())}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&(this._featureMenuViewportNode.scrollTop=0)}_toggleScreenLocationEnabled(){const{dockEnabled:e,viewModel:t}=this;if(!t)return;const i=t.active&&!e;t.screenLocationEnabled=i}_shouldDockAtCurrentViewSize(e){var t,i;const o=e.breakpoint,n=null==(t=this.viewModel)||null==(i=t.view)?void 0:i.ui;if(!n)return!1;const{width:s,height:r}=n;if(isNaN(s)||isNaN(r))return!1;const a=o.hasOwnProperty("width")&&s<=o.width,l=o.hasOwnProperty("height")&&r<=o.height;return a||l}_setDockEnabledForViewSize(e){e.breakpoint&&(this.dockEnabled=this._shouldDockAtCurrentViewSize(e))}_getPageText(e,t){return this.featureNavigationVisible?O(this.messages.pageText,{index:t+1,total:e}):null}_destroySpinner(){const{_spinner:e,view:t}=this;e&&(t&&t.ui&&t.ui.remove(this._spinner,B),e.destroy(),this._spinner=null)}_createSpinner(e){e&&(this._spinner=new f({view:e}),e.ui.add(this._spinner,{key:B,position:"manual"}))}_toggleCollapsed(){this.collapsed=!this.collapsed}_close(){this.close(),this.view&&this.view.focus()}_toggleDockEnabled(){this.dockEnabled=!this.dockEnabled,this._focusDockButton=!0,this.scheduleRender()}_toggleFeatureMenu(){const e=!this.featureMenuOpen;this._featureMenuOpenChanged(e),this.actionsMenuOpen=!1,this.featureMenuOpen=e}_toggleActionsMenu(){const e=!this.actionsMenuOpen;this._actionsMenuOpenChanged(e),this.featureMenuOpen=!1,this.actionsMenuOpen=e}_triggerAction(e){const t=e.currentTarget.dataset.actionUid,{allActions:i}=this.viewModel,o=i.findIndex((e=>e.uid===t)),n=i.getItemAt(o);n&&"toggle"===n.type&&(n.value=!n.value),this.actionsMenuOpen=!1,this.viewModel.triggerAction(o)}_selectFeature(e){const t=e.currentTarget["data-feature-index"];isNaN(t)||(this.viewModel.selectedFeatureIndex=t),this.featureMenuOpen=!1,this._focusFeatureMenuButton=!0,this.scheduleRender()}_next(){this.next()}_previous(){this.previous()}};e([h({readOnly:!0})],U.prototype,"actionsMenuId",null),e([h({readOnly:!0})],U.prototype,"actionsMenuButtonId",null),e([h({readOnly:!0})],U.prototype,"featureMenuId",null),e([h({readOnly:!0})],U.prototype,"titleId",null),e([h({readOnly:!0})],U.prototype,"contentId",null),e([h({readOnly:!0})],U.prototype,"hasContent",null),e([h({readOnly:!0})],U.prototype,"featureNavigationVisible",null),e([h({readOnly:!0})],U.prototype,"collapsible",null),e([h({readOnly:!0})],U.prototype,"featureMenuVisible",null),e([h({readOnly:!0})],U.prototype,"contentCollapsed",null),e([h({readOnly:!0})],U.prototype,"dividedActions",null),e([d("viewModel.actions")],U.prototype,"actions",void 0),e([h()],U.prototype,"actionsMenuOpen",null),e([h()],U.prototype,"alignment",void 0),e([d("viewModel.autoCloseEnabled")],U.prototype,"autoCloseEnabled",void 0),e([d("viewModel.autoOpenEnabled")],U.prototype,"autoOpenEnabled",void 0),e([d("viewModel.defaultPopupTemplateEnabled")],U.prototype,"defaultPopupTemplateEnabled",void 0),e([d("viewModel.content")],U.prototype,"content",void 0),e([h()],U.prototype,"collapsed",void 0),e([h()],U.prototype,"collapseEnabled",void 0),e([h({readOnly:!0})],U.prototype,"currentAlignment",null),e([h({readOnly:!0})],U.prototype,"currentDockPosition",null),e([h()],U.prototype,"dockOptions",null),e([h()],U.prototype,"dockEnabled",void 0),e([d("viewModel.featureCount")],U.prototype,"featureCount",void 0),e([h()],U.prototype,"featureMenuOpen",void 0),e([d("viewModel.features")],U.prototype,"features",void 0),e([d("viewModel.goToOverride")],U.prototype,"goToOverride",void 0),e([h()],U.prototype,"headingLevel",void 0),e([d("viewModel.highlightEnabled")],U.prototype,"highlightEnabled",void 0),e([d("viewModel.location")],U.prototype,"location",void 0),e([h({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],U.prototype,"label",void 0),e([h()],U.prototype,"maxInlineActions",void 0),e([h(),y("esri/widgets/Popup/t9n/Popup")],U.prototype,"messages",void 0),e([h(),y("esri/t9n/common")],U.prototype,"messagesCommon",void 0),e([d("viewModel.promises")],U.prototype,"promises",void 0),e([d("viewModel.selectedFeature")],U.prototype,"selectedFeature",void 0),e([d("viewModel.selectedFeatureIndex")],U.prototype,"selectedFeatureIndex",void 0),e([h({readOnly:!0})],U.prototype,"selectedFeatureWidget",null),e([h()],U.prototype,"spinnerEnabled",void 0),e([d("viewModel.title")],U.prototype,"title",void 0),e([d("viewModel.updateLocationEnabled")],U.prototype,"updateLocationEnabled",void 0),e([d("viewModel.view")],U.prototype,"view",void 0),e([h({type:b}),k(["triggerAction","trigger-action"])],U.prototype,"viewModel",void 0),e([d("viewModel.visible")],U.prototype,"visible",void 0),e([h()],U.prototype,"visibleElements",void 0),e([p("visibleElements")],U.prototype,"castVisibleElements",null),e([w()],U.prototype,"_close",null),e([w()],U.prototype,"_toggleDockEnabled",null),e([w()],U.prototype,"_toggleFeatureMenu",null),e([w()],U.prototype,"_toggleActionsMenu",null),e([w()],U.prototype,"_triggerAction",null),e([w()],U.prototype,"_selectFeature",null),e([w()],U.prototype,"_next",null),e([w()],U.prototype,"_previous",null),U=e([g(L)],U);const R=U;export{R as default};
package/widgets/Print.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 t from"../core/Collection.js";import{on as i,eventKey as a}from"../core/events.js";import{clone as n}from"../core/lang.js";import s from"../core/Logger.js";import{addProxy as o,hasSameOrigin as l}from"../core/urlUtils.js";import{init as r}from"../core/watchUtils.js";import{aliasOf as p}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/accessorSupport/ensureType.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import u from"./Widget.js";import h from"./Print/FileLink.js";import m from"./Print/PrintViewModel.js";import _ from"./Print/TemplateOptions.js";import{Heading as b}from"./support/Heading.js";import v from"./support/Popover.js";import{isActivationKey as y,keepMenuItemWithinView as g}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import"../core/has.js";import{tsx as T}from"./support/jsxFactory.js";const w=t.ofType(h),O="MAP_ONLY";var x;!function(e){e.layout="layoutTab",e.mapOnly="mapOnlyTab"}(x||(x={}));const C={base:"esri-print",headerTitle:"esri-print__header-title",inputText:"esri-print__input-text",layoutTabList:"esri-print__layout-tab-list",layoutTab:"esri-print__layout-tab",layoutSection:"esri-print__layout-section",mapOnlySection:"esri-print__map-only-section",scaleInput:"esri-print__scale-input",templateList:"esri-print__template-list",templateListScroller:"esri-print__template-list-scroller",templateListFooter:"esri-print__template-list-footer",loader:"esri-print__loader",advancedOptionsButton:"esri-print__advanced-options-button",advancedOptionsButtonContainer:"esri-print__advanced-options-button-container",advancedOptionsButtonTitle:"esri-print__advanced-options-button-title",advancedOptionsButtonIconOpened:"esri-print__advanced-options-button-icon--opened",advancedOptionsButtonIconClosed:"esri-print__advanced-options-button-icon--closed",advancedOptionsButtonIconClosed_RTL:"esri-print__advanced-options-button-icon--closed-rtl",refreshButton:"esri-print__refresh-button",swapButton:"esri-print__swap-button",linkButton:"esri-print__link-button",printButton:"esri-print__export-button",templateButton:"esri-print__template-button",formSectionContainer:"esri-print__form-section-container",advancedOptionsSection:"esri-print__advanced-options-section",advancedOptionsContainer:"esri-print__advanced-options-container",authorInfoContainer:"esri-print__author-info-container",copyrightInfoContainer:"esri-print__copyright-info-container",exportedFilesContainer:"esri-print__export-panel-container",exportedFilesTitle:"esri-print__export-title",exportedFile:"esri-print__exported-file",exportedFileLink:"esri-widget__anchor esri-print__exported-file-link",exportedFileLinkTitle:"esri-print__exported-file-link-title",heightContainer:"esri-print__height-container",legendInfoContainer:"esri-print__legend-info-container",printWidgetContainer:"esri-print__container",panelContainer:"esri-print__panel-container",scaleInfoContainer:"esri-print__scale-info-container",scaleInputContainer:"esri-print__scale-input-container",sizeContainer:"esri-print__size-container",widthContainer:"esri-print__width-container",widget:"esri-widget",panel:"esri-widget--panel",widgetButton:"esri-widget--button",button:"esri-button",buttonSecondary:"esri-button--secondary",buttonTertiary:"esri-button--tertiary",select:"esri-select",input:"esri-input",disabled:"esri-disabled",anchorDisabled:"esri-widget__anchor--disabled",buttonDisabled:"esri-button--disabled",panelError:"esri-print__panel--error",exportedFileError:"esri-print__exported-file--error",hide:"esri-hidden",rotate:"esri-rotating",anchor:"esri-widget__anchor",menu:"esri-menu",menuList:"esri-menu__list",menuItem:"esri-menu__list-item",menuItemFocus:"esri-menu__list-item--focus",menuHeader:"esri-menu__header",iconCheckMark:"esri-icon-check-mark",iconDownload:"esri-icon-download",iconLaunchLink:"esri-icon-launch-link-external",iconError:"esri-icon-error",iconPrinter:"esri-icon-printer",iconRightTriangleArrow:"esri-icon-right-triangle-arrow",iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconDownArrow:"esri-icon-down-arrow",iconRefresh:"esri-icon-refresh",iconSpinner:"esri-icon-loading-indicator",iconSwap:"esri-icon-swap",iconLinked:"esri-icon-link-horizontal",iconUnlinked:"esri-icon-unlocked-link-horizontal",widgetIcon:"esri-icon-printer"},L="esri.widgets.Print",I=s.getLogger(L),S="User sets an invalid layout, resetting it to the default valid one...",k="User sets an invalid format, resetting it to the default valid one...";function F(e){const t=8.3333,i=11.4583;return{width:Math.round(e*t),height:Math.round(e*i)}}function M(e){return!isNaN(e)&&e>0}function E(e){return(null==e?void 0:e.toUpperCase())===O}let V=class extends u{constructor(e,t){super(e,t),this._activeTabFocusRequested=!1,this._advancedOptionsVisibleForLayout=!1,this._advancedOptionsVisibleForMapOnly=!1,this._awaitingServerResponse=!1,this._exportedFileNameMap={},this._focusedTemplateIndex=0,this._layoutTabSelected=!0,this._pendingExportScroll=!1,this._rootNode=null,this._selectTemplateNode=null,this._templateListPopover=new v({owner:this,placement:"top",offset:[0,-100],anchorElement:()=>this._selectTemplateNode,renderContentFunction:this.renderTemplateList}),this.allowedFormats=null,this.allowedLayouts=null,this.exportedLinks=new w,this.extraParameters=null,this.headingLevel=3,this.iconClass=C.widgetIcon,this.includeDefaultTemplates=null,this.label=void 0,this.portal=null,this.printServiceUrl=null,this.templateCustomTextElements=null,this.templateOptions=new _,this.view=null,this.viewModel=new m,this.handleTemplateListCreation=e=>e.focus(),this.handleTemplateChildBlur=e=>{var t;(null==(t=e.relatedTarget)?void 0:t.closest(`.${C.templateList}`))||this.handleCloseTemplateSelection()},this.handleCloseTemplateSelection=()=>{this._focusedTemplateIndex=0,this._templateListPopover.open=!1,this._selectTemplateNode.focus()},this.handleSelectTemplateClick=()=>{this._focusedTemplateIndex=0,this._templateListPopover.open=!0},this.handleTemplateListClick=e=>{const t=e.target;this.applyTemplate(t["data-template"])},this.handleTemplateListKeyDown=e=>{if(y(e.key))return this.applyTemplate(this.viewModel.defaultTemplates.getItemAt(this._focusedTemplateIndex)),void e.preventDefault();if("ArrowDown"===e.key||"ArrowUp"===e.key){const{defaultTemplates:t}=this.viewModel,i="ArrowDown"===e.key?1:-1,a=(this._focusedTemplateIndex+i)%t.length;this._focusedTemplateIndex=a<0?t.length-1:a;const n=e.currentTarget;g(n.querySelectorAll(`.${C.menuItem}`)[this._focusedTemplateIndex],n.parentElement),e.preventDefault()}"Escape"===e.key&&this.handleCloseTemplateSelection()},this._removeLink=e=>{const t=e.currentTarget["data-item"];t&&"error"===t.state&&this.exportedLinks.remove(t)},this._focusOnTabChange=this._focusOnTabChange.bind(this)}initialize(){this.own([r(this,"viewModel.templatesInfo",(e=>{const{format:t,layout:i}=this.templateOptions;if(e){const a=i===e.layout.defaultValue||E(i)||e.layout.choiceList&&e.layout.choiceList.indexOf(i)>-1,n=t===e.format.defaultValue||e.format.choiceList&&e.format.choiceList.indexOf(t)>-1;a||(i&&I.warn(S),this.templateOptions.layout=e.layout.defaultValue),n||(t&&I.warn(k),this.templateOptions.format=e.format.defaultValue),E(i)&&(this._layoutTabSelected=!1)}})),r(this,"templateOptions.format",(e=>{const{viewModel:{templatesInfo:t}}=this;if(t&&e){let i=!1;t.format.choiceList&&t.format.choiceList.forEach((t=>{t.toUpperCase()===e.toUpperCase()&&(this.templateOptions.format=t,i=!0)})),i||(this.templateOptions.format=t.format.defaultValue,I.warn(k)),this.scheduleRender()}})),r(this,"templateOptions.layout",(e=>{const{viewModel:{templatesInfo:t}}=this;if(t&&e){this._layoutTabSelected=!E(e);let i=!this._layoutTabSelected;i||t.layout.choiceList&&t.layout.choiceList.forEach((t=>{t.toUpperCase()===e.toUpperCase()&&(this.templateOptions.layout=t,i=!0)})),i||(this.templateOptions.layout=t.layout.defaultValue,I.warn(S));const a=this.viewModel.effectiveTemplateCustomTextElements[this.templateOptions.layout];this.templateOptions.customTextElements=a?n(a):null,this.scheduleRender()}})),r(this,"templateOptions.dpi",(e=>{e<=0?this.templateOptions.dpi=1:this.scheduleRender()})),r(this,"viewModel.view.scale",(e=>{const{scale:t,scaleEnabled:i}=this.templateOptions;i&&t||(this.templateOptions.scale=e)}))]);const{height:e,width:t}=this.templateOptions;this.templateOptions.width=t||800,this.templateOptions.height=e||1100;const i=setTimeout((()=>{this._awaitingServerResponse=!0,this.scheduleRender()}),500);this.viewModel.load().then((()=>clearTimeout(i)))}render(){const{attributionEnabled:e,author:t,copyright:i,dpi:a,format:n,height:s,layout:o,legendEnabled:l,scaleEnabled:r,scale:p,width:d}=this.templateOptions,c="ready"!==this.get("viewModel.state"),u=this.renderTitleOrFileNameSection(),{includeDefaultTemplates:h,messages:m,viewModel:_}=this,v=this.get("viewModel.templatesInfo.format.choiceList")||[],y=v.length>0?v.map((e=>T("option",{key:e,selected:e===n,value:e},e.toUpperCase()))):T("option",{key:"format-default-option"},m.formatDefaultOption),g=T("div",{class:C.formSectionContainer},T("label",null,m.fileFormatTitle,T("select",{class:C.select,onchange:this._updateFromOption,"data-target-property":"format",bind:this},y))),f=this.get("viewModel.templatesInfo.layout.choiceList")||[],w=f.length>0?f.map((e=>{const t=e===o,i=m[e]||e;return T("option",{key:e,selected:t,value:e},i)})):T("option",{key:"layout-default-option"},m.layoutDefaultOption),O=T("div",{class:C.formSectionContainer},T("label",null,m.layoutTitle,T("select",{class:C.select,onchange:this._updateFromOption,"data-target-property":"layout",bind:this},w))),L=T("div",{class:C.formSectionContainer},T("label",null,m.dpi,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"dpi",onchange:this._handleDPIChange,value:`${a}`,min:"1",tabIndex:0,bind:this}))),I=T("div",{class:this.classes(C.scaleInfoContainer,C.formSectionContainer)},T("label",null,T("input",{"data-option-name":"scaleEnabled",checked:r,type:"checkbox",tabIndex:0,onchange:this._toggleInputValue,bind:this}),m.scale),T("div",{class:C.scaleInputContainer},T("input",{"aria-label":m.scaleLabel,"aria-valuenow":`${p}`,role:"spinbutton",type:"number",class:this.classes(C.inputText,C.input,C.scaleInput),tabIndex:0,"data-input-name":"scale",onchange:this._updateInputValue,disabled:!r,value:`${p}`,bind:this}),T("button",{type:"button","aria-label":m.reset,class:this.classes(C.widgetButton,C.refreshButton,C.iconRefresh),tabIndex:0,onclick:this._resetToCurrentScale,bind:this}))),S=this._advancedOptionsVisibleForLayout?T("div",{"aria-labelledby":`${this.id}__advancedOptionsForLayout`,class:C.advancedOptionsContainer},I,T("div",{class:this.classes(C.authorInfoContainer,C.formSectionContainer)},T("label",null,m.author,T("input",{type:"text",value:t,class:this.classes(C.inputText,C.input),tabIndex:0,"data-input-name":"author",onchange:this._updateInputValue,bind:this}))),T("div",{class:this.classes(C.copyrightInfoContainer,C.formSectionContainer)},T("label",null,m.copyright,T("input",{type:"text",class:this.classes(C.inputText,C.input),tabIndex:0,value:i,"data-input-name":"copyright",onchange:this._updateInputValue,bind:this}))),L,T("div",{class:this.classes(C.legendInfoContainer,C.formSectionContainer)},T("label",null,T("input",{type:"checkbox","data-option-name":"legendEnabled",tabIndex:0,checked:l,onchange:this._toggleInputValue,bind:this}),m.legend)),this.renderCustomTextElementSection()):null,k=this._advancedOptionsVisibleForMapOnly?T("div",{"aria-labelledby":`${this.id}__advancedOptionsForMapOnly`,class:C.advancedOptionsContainer},I,L,T("div",{class:C.formSectionContainer},T("label",null,T("input",{"data-option-name":"attributionEnabled",type:"checkbox",onchange:this._toggleInputValue,tabIndex:0,checked:e,bind:this}),m.attribution)),this.renderCustomTextElementSection()):null,F=this._layoutTabSelected?T("section",{key:"esri-print__layoutContent",id:`${this.id}__layoutContent`,"aria-labelledby":`${this.id}__layoutTab`,class:C.layoutSection,role:"tabpanel","aria-selected":this._layoutTabSelected.toString()},T("div",{class:C.panelContainer},u,O,this._layoutTabSelected?g:null),T("div",{class:this.classes(C.panelContainer,C.advancedOptionsSection)},T("button",{"aria-label":m.advancedOptions,"aria-expanded":this._advancedOptionsVisibleForLayout?"true":"false",class:C.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this,type:"button"},T("div",{class:C.advancedOptionsButtonContainer},T("span",{"aria-hidden":"true",class:this.classes(C.iconRightTriangleArrow,C.advancedOptionsButtonIconClosed)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconLeftTriangleArrow,C.advancedOptionsButtonIconClosed_RTL)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconDownArrow,C.advancedOptionsButtonIconOpened)}),T("span",{class:C.advancedOptionsButtonTitle},m.advancedOptions))),S)):T("section",{key:"esri-print__mapOnlyContent",id:`${this.id}__mapOnlyContent`,"aria-selected":(!this._layoutTabSelected).toString(),"aria-labelledby":`${this.id}__mapOnlyTab`,class:C.mapOnlySection,role:"tabpanel"},T("div",{class:C.panelContainer},u,this._layoutTabSelected?null:g,T("div",{class:this.classes(C.sizeContainer,C.formSectionContainer)},T("div",{class:C.widthContainer},T("label",null,m.width,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"width",onchange:this._updateInputValue,value:`${d}`,tabIndex:0,bind:this}))),T("div",{class:C.heightContainer},T("label",null,m.height,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"height",onchange:this._updateInputValue,value:`${s}`,tabIndex:0,bind:this}))),T("button",{type:"button","aria-label":m.swap,class:this.classes(C.widgetButton,C.swapButton,C.iconSwap),onclick:this._switchInput,tabIndex:0,bind:this})),T("div",{class:this.classes(C.panelContainer,C.advancedOptionsSection)},T("button",{"aria-label":m.advancedOptions,"aria-expanded":this._advancedOptionsVisibleForMapOnly?"true":"false",type:"button",class:C.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this},T("div",{class:C.advancedOptionsButtonContainer},T("span",{"aria-hidden":"true",class:this.classes(C.iconRightTriangleArrow,C.advancedOptionsButtonIconClosed)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconLeftTriangleArrow,C.advancedOptionsButtonIconClosed_RTL)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconDownArrow,C.advancedOptionsButtonIconOpened)}),T("span",{class:C.advancedOptionsButtonTitle},m.advancedOptions))),k))),M=this.exportedLinks.toArray(),E=this._renderExportedLink(M),V={[C.buttonDisabled]:c||!o&&!n},B=null!=this.get("view")&&"2d"!==this.get("view.type"),A=T("div",{class:C.panelError},B?m.sceneViewError:m.serviceError),P=T("div",null,T("ul",{class:C.layoutTabList,role:"tablist",onclick:this._toggleLayoutPanel,onkeydown:this._handleLayoutPanelKeyDown,bind:this},T("li",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:`${this.id}__layoutTab`,"data-tab-id":x.layout,class:C.layoutTab,role:"tab",tabIndex:0,"aria-selected":`${this._layoutTabSelected}`},m.layoutTab),T("li",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:`${this.id}__mapOnlyTab`,"data-tab-id":x.mapOnly,class:C.layoutTab,role:"tab",tabIndex:0,"aria-selected":`${!this._layoutTabSelected}`},m.mapOnlyTab)),F,T("button",{"aria-label":m.exportDescription,type:"button",class:this.classes(C.printButton,C.button,V),disabled:c,tabIndex:0,onclick:this._handlePrintMap,bind:this},m.export),h&&_.defaultTemplates.length>0?this.renderTemplateSectionTrigger():null,T("div",{class:C.exportedFilesContainer,afterUpdate:this._scrollExportIntoView,bind:this},T(b,{class:C.exportedFilesTitle,level:this.headingLevel},m.exportText),M.length>0?null:T("div",null,T("div",null,m.exportHint)),E)),D=T("div",{class:C.printWidgetContainer},T("header",{class:C.headerTitle},m.export),this.error||B||!this.view?A:P),N="initializing"===this.get("viewModel.state")?this._renderLoader():D;return T("div",{afterCreate:this._handleRootAfterCreate,bind:this,class:this.classes(C.base,C.widget,C.panel)},N)}renderTemplateSectionTrigger(){const{messages:e,_templateListPopover:t}=this,i=t.open;return T("button",{afterCreate:e=>this._selectTemplateNode=e,"aria-controls":i?`${this.id}__template-selection`:"","aria-label":e.selectTemplateDescription,"aria-pressed":i.toString(),class:this.classes(C.button,C.buttonTertiary,C.templateButton),onclick:this.handleSelectTemplateClick,title:e.selectTemplateDescription},e.selectTemplate)}renderCustomTextElementSection(){const{templateOptions:{customTextElements:e}}=this;return e?T("div",{class:C.formSectionContainer,key:"custom-text-elements"},e.map((e=>{const[t,i]=Object.entries(e)[0];return"date"===t?null:T("label",{key:t},t,T("input",{bind:this,class:this.classes(C.inputText,C.input),"data-input-custom":!0,"data-input-name":t,onchange:this._updateInputValue,type:"text",value:i}))}))):null}renderTemplateList(){const{messages:e,messagesCommon:t,viewModel:i}=this,{defaultTemplates:a}=i,n=e.selectTemplateDescription,s=`${this.id}__template-selection`;return T("div",{class:this.classes(C.templateList,C.widget,C.panel),id:s},T(b,{class:C.menuHeader,level:this.headingLevel},e.selectTemplate),T("div",{class:C.templateListScroller},T("ul",{afterCreate:this.handleTemplateListCreation,"aria-activedescendant":`${this.id}__template-item--${this._focusedTemplateIndex}`,"aria-label":n,class:C.menuList,key:"templates",onblur:this.handleTemplateChildBlur,onclick:this.handleTemplateListClick,onkeydown:this.handleTemplateListKeyDown,role:"listbox",tabIndex:0,title:n},a.toArray().map(((t,i)=>{const{description:a}=t,n=i===this._focusedTemplateIndex,s=t.label;return T("li",{"aria-label":a,class:this.classes(C.menuItem,{[C.menuItemFocus]:n}),"data-template":t,id:`${this.id}__template-item--${i}`,key:s,title:a},E(s)?e.mapOnlyTab:s)})))),T("div",{class:C.templateListFooter},T("button",{type:"button",class:this.classes(C.button,C.buttonSecondary),onblur:this.handleTemplateChildBlur,onclick:this.handleCloseTemplateSelection},t.done)))}applyTemplate(e){var t;const{format:i,layout:a,layoutOptions:n}=e,{templateOptions:s}=this;this._templateListPopover.open=!1,this._toggleTab("map-only"===a?x.mapOnly:x.layout,!1),i&&(s.format=i),a&&(s.layout=a),this._focusedTemplateIndex=null,s.legendEnabled=null!=(t=null==n?void 0:n.legend)?t:s.legendEnabled,this.handleCloseTemplateSelection()}renderTitleOrFileNameSection(){const{templateOptions:e,messages:t}=this;let i,a,n,s;return this._layoutTabSelected?(i=t.title,a=t.titlePlaceHolder,n=e.title,s="title"):(i=t.fileName,a=t.fileNamePlaceHolder,n=e.fileName,s="fileName"),T("div",{class:C.formSectionContainer,key:s},T("label",null,i,T("input",{type:"text",tabIndex:0,placeholder:a,class:this.classes(C.inputText,C.input),value:n,"data-input-name":s,onchange:this._updateInputValue,bind:this})))}_handleRootAfterCreate(e){this._rootNode=e,this.own(i(e,"scroll",(()=>{this._templateListPopover.open&&this.handleCloseTemplateSelection()})))}_focusOnTabChange(e){if(!this._activeTabFocusRequested)return;const t=e.getAttribute("data-tab-id");("layoutTab"===t&&this._layoutTabSelected||"mapOnlyTab"===t&&!this._layoutTabSelected)&&(e.focus(),this._activeTabFocusRequested=!1)}_renderLoader(){const e={[C.loader]:this._awaitingServerResponse};return T("div",{class:this.classes(e),key:"loader"})}_createFileLink(e,t){const i=t||this.messages.untitled,a=e.format.toLowerCase(),n=a.indexOf("png")>-1?"png":a,s=i+n;return void 0!==this._exportedFileNameMap[s]?this._exportedFileNameMap[s]++:this._exportedFileNameMap[s]=0,new h({name:i,extension:n,count:this._exportedFileNameMap[s]})}_resetToCurrentScale(){this.templateOptions.scale=this.viewModel.view.scale}_updateCustomTextElementValue(e,t,i){e.find((e=>{const[i]=Object.entries(e)[0];return i===t}))[t]=i}_updateInputValue(e){const t=e.target,i=t.getAttribute("data-input-name"),a=!!t["data-input-custom"],{templateOptions:n}=this;if(a)return void this._updateCustomTextElementValue(n.customTextElements,i,t.value);let s;if("number"===t.type){if(!M(t.valueAsNumber)){const e=n[i];return void(t.value=`${e}`)}s=t.valueAsNumber}else s=t.value;n[i]=s}_handleDPIChange(e){this._updateInputValue(e);const t=e.currentTarget.valueAsNumber,{height:i,width:a}=F(t),{templateOptions:n}=this;n.height=i,n.width=a}_handlePrintMap(){this._pendingExportScroll=!0;const{templateOptions:e}=this,t=this.viewModel.toPrintTemplate(e),i=this._layoutTabSelected?t.layoutOptions.titleText:e.fileName,a=this._createFileLink(t,i);this.exportedLinks.add(a),this.emit("submit",{link:a}),this.viewModel.print(t).then((e=>{a.set({url:e&&e.url,state:"ready"})})).catch((e=>{a.set({error:e,state:"error"})})).then((()=>{this.emit("complete",{link:a}),this.scheduleRender()}))}_updateFromOption(e){const t=e.target,i=t.selectedOptions?t.selectedOptions.item(0).value:t.options[t.selectedIndex].value,a=t.getAttribute("data-target-property");this.templateOptions[a]=i}_switchInput(){[this.templateOptions.width,this.templateOptions.height]=[this.templateOptions.height,this.templateOptions.width]}_showAdvancedOptions(){this._layoutTabSelected?this._advancedOptionsVisibleForLayout=!this._advancedOptionsVisibleForLayout:this._advancedOptionsVisibleForMapOnly=!this._advancedOptionsVisibleForMapOnly}_scrollExportIntoView(){if(this._pendingExportScroll){this._pendingExportScroll=!1;const{_rootNode:e,_rootNode:{clientHeight:t,scrollHeight:i}}=this,a=i-t;a>0&&(e.scrollTop=a)}}_toggleInputValue(e){const t=e.target,i=t.getAttribute("data-option-name");this.templateOptions[i]=t.checked,"scaleEnabled"===i&&(this.templateOptions[i]||this._resetToCurrentScale())}_renderExportedLink(e){const t=this.messages;return e.map((e=>{const{error:i,url:a,formattedName:n,state:s}=e,r="error"===s,p="pending"===s,d="ready"===s,c={[C.anchorDisabled]:p||r};let u=a||null;u&&(u=o(u));const h=l(a,location.href),m={[C.iconSpinner]:p,[C.rotate]:p,[C.iconDownload]:h&&d,[C.iconLaunchLink]:!h&&d,[C.iconError]:r,[C.exportedFileError]:r},_={[C.exportedFileError]:r};let b;b=p?t.pending:d?t.ready:t.errorMessage;const v=r?"print-task:cim-symbol-unsupported"===i.name?t.exportWebMapCIMError:t.exportWebMapError:"";return T("div",{"aria-label":b,class:C.exportedFile,"data-item":e,key:n,onclick:this._removeLink,title:v},T("a",{"aria-label":`${n}. ${t.linkReady}`,download:n,href:u,rel:"noreferrer",tabIndex:0,target:"_blank",class:this.classes(C.exportedFileLink,c)},T("span",{class:this.classes(m)}),T("span",{class:this.classes(C.exportedFileLinkTitle,_)},n)))}))}_toggleLayoutPanel(e){const t=e.target;this._toggleTab(t.getAttribute("data-tab-id"))}_toggleTab(e,t=!0){if(this._layoutTabSelected=e===x.layout,this._layoutTabSelected){const e=this.get("viewModel.templatesInfo.layout.choiceList");this.templateOptions.layout=e&&e[0]}else this.templateOptions.layout=O;t&&(this._activeTabFocusRequested=!0)}_handleLayoutPanelKeyDown(e){const t=a(e),i=e.target.getAttribute("data-tab-id");if(y(t))return this._toggleTab(i),e.preventDefault(),void e.stopPropagation();"ArrowLeft"!==t&&"ArrowRight"!==t||(this._toggleTab(i===x.layout?x.mapOnly:x.layout),e.preventDefault(),e.stopPropagation())}};e([p("viewModel.allowedFormats")],V.prototype,"allowedFormats",void 0),e([p("viewModel.allowedLayouts")],V.prototype,"allowedLayouts",void 0),e([p("viewModel.error")],V.prototype,"error",void 0),e([d({type:w})],V.prototype,"exportedLinks",void 0),e([p("viewModel.extraParameters")],V.prototype,"extraParameters",void 0),e([d()],V.prototype,"headingLevel",void 0),e([d()],V.prototype,"iconClass",void 0),e([p("viewModel.includeDefaultTemplates")],V.prototype,"includeDefaultTemplates",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],V.prototype,"label",void 0),e([d(),f("esri/widgets/Print/t9n/Print")],V.prototype,"messages",void 0),e([d(),f("esri/t9n/common")],V.prototype,"messagesCommon",void 0),e([p("viewModel.portal")],V.prototype,"portal",void 0),e([p("viewModel.printServiceUrl")],V.prototype,"printServiceUrl",void 0),e([p("viewModel.templateCustomTextElements")],V.prototype,"templateCustomTextElements",void 0),e([d({type:_})],V.prototype,"templateOptions",void 0),e([p("viewModel.view")],V.prototype,"view",void 0),e([d({type:m})],V.prototype,"viewModel",void 0),V=e([c("esri.widgets.Print")],V);const B=V;export{B as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{on as i,eventKey as a}from"../core/events.js";import{clone as n}from"../core/lang.js";import s from"../core/Logger.js";import{addProxy as o,hasSameOrigin as l}from"../core/urlUtils.js";import{init as r}from"../core/watchUtils.js";import{aliasOf as p}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/accessorSupport/ensureType.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import u from"./Widget.js";import h from"./Print/FileLink.js";import m from"./Print/PrintViewModel.js";import _ from"./Print/TemplateOptions.js";import{Heading as b}from"./support/Heading.js";import v from"./support/Popover.js";import{isActivationKey as y,keepMenuItemWithinView as g}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import"../core/has.js";import{tsx as T}from"./support/jsxFactory.js";const w=t.ofType(h),O="MAP_ONLY";var x;!function(e){e.layout="layoutTab",e.mapOnly="mapOnlyTab"}(x||(x={}));const C={base:"esri-print",headerTitle:"esri-print__header-title",inputText:"esri-print__input-text",layoutTabList:"esri-print__layout-tab-list",layoutTab:"esri-print__layout-tab",layoutSection:"esri-print__layout-section",mapOnlySection:"esri-print__map-only-section",scaleInput:"esri-print__scale-input",templateList:"esri-print__template-list",templateListScroller:"esri-print__template-list-scroller",templateListFooter:"esri-print__template-list-footer",loader:"esri-print__loader",advancedOptionsButton:"esri-print__advanced-options-button",advancedOptionsButtonContainer:"esri-print__advanced-options-button-container",advancedOptionsButtonTitle:"esri-print__advanced-options-button-title",advancedOptionsButtonIconOpened:"esri-print__advanced-options-button-icon--opened",advancedOptionsButtonIconClosed:"esri-print__advanced-options-button-icon--closed",advancedOptionsButtonIconClosed_RTL:"esri-print__advanced-options-button-icon--closed-rtl",refreshButton:"esri-print__refresh-button",swapButton:"esri-print__swap-button",linkButton:"esri-print__link-button",printButton:"esri-print__export-button",templateButton:"esri-print__template-button",formSectionContainer:"esri-print__form-section-container",advancedOptionsSection:"esri-print__advanced-options-section",advancedOptionsContainer:"esri-print__advanced-options-container",authorInfoContainer:"esri-print__author-info-container",copyrightInfoContainer:"esri-print__copyright-info-container",exportedFilesContainer:"esri-print__export-panel-container",exportedFilesTitle:"esri-print__export-title",exportedFile:"esri-print__exported-file",exportedFileLink:"esri-widget__anchor esri-print__exported-file-link",exportedFileLinkTitle:"esri-print__exported-file-link-title",heightContainer:"esri-print__height-container",legendInfoContainer:"esri-print__legend-info-container",printWidgetContainer:"esri-print__container",panelContainer:"esri-print__panel-container",scaleInfoContainer:"esri-print__scale-info-container",scaleInputContainer:"esri-print__scale-input-container",sizeContainer:"esri-print__size-container",widthContainer:"esri-print__width-container",widget:"esri-widget",panel:"esri-widget--panel",widgetButton:"esri-widget--button",button:"esri-button",buttonSecondary:"esri-button--secondary",buttonTertiary:"esri-button--tertiary",select:"esri-select",input:"esri-input",disabled:"esri-disabled",anchorDisabled:"esri-widget__anchor--disabled",buttonDisabled:"esri-button--disabled",panelError:"esri-print__panel--error",exportedFileError:"esri-print__exported-file--error",hide:"esri-hidden",rotate:"esri-rotating",anchor:"esri-widget__anchor",menu:"esri-menu",menuList:"esri-menu__list",menuItem:"esri-menu__list-item",menuItemFocus:"esri-menu__list-item--focus",menuHeader:"esri-menu__header",iconCheckMark:"esri-icon-check-mark",iconDownload:"esri-icon-download",iconLaunchLink:"esri-icon-launch-link-external",iconError:"esri-icon-error",iconPrinter:"esri-icon-printer",iconRightTriangleArrow:"esri-icon-right-triangle-arrow",iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconDownArrow:"esri-icon-down-arrow",iconRefresh:"esri-icon-refresh",iconSpinner:"esri-icon-loading-indicator",iconSwap:"esri-icon-swap",iconLinked:"esri-icon-link-horizontal",iconUnlinked:"esri-icon-unlocked-link-horizontal",widgetIcon:"esri-icon-printer"},L="esri.widgets.Print",I=s.getLogger(L),S="User sets an invalid layout, resetting it to the default valid one...",k="User sets an invalid format, resetting it to the default valid one...";function F(e){const t=8.3333,i=11.4583;return{width:Math.round(e*t),height:Math.round(e*i)}}function M(e){return!isNaN(e)&&e>0}function E(e){return(null==e?void 0:e.toUpperCase())===O}let V=class extends u{constructor(e,t){super(e,t),this._activeTabFocusRequested=!1,this._advancedOptionsVisibleForLayout=!1,this._advancedOptionsVisibleForMapOnly=!1,this._awaitingServerResponse=!1,this._exportedFileNameMap={},this._focusedTemplateIndex=0,this._layoutTabSelected=!0,this._pendingExportScroll=!1,this._rootNode=null,this._selectTemplateNode=null,this._templateListPopover=new v({owner:this,placement:"top",offset:[0,-100],anchorElement:()=>this._selectTemplateNode,renderContentFunction:this.renderTemplateList}),this.allowedFormats=null,this.allowedLayouts=null,this.exportedLinks=new w,this.extraParameters=null,this.headingLevel=3,this.iconClass=C.widgetIcon,this.includeDefaultTemplates=null,this.label=void 0,this.portal=null,this.printServiceUrl=null,this.templateCustomTextElements=null,this.templateOptions=new _,this.view=null,this.viewModel=new m,this.handleTemplateListCreation=e=>e.focus(),this.handleTemplateChildBlur=e=>{var t;(null==(t=e.relatedTarget)?void 0:t.closest(`.${C.templateList}`))||this.handleCloseTemplateSelection()},this.handleCloseTemplateSelection=()=>{this._focusedTemplateIndex=0,this._templateListPopover.open=!1,this._selectTemplateNode.focus()},this.handleSelectTemplateClick=()=>{this._focusedTemplateIndex=0,this._templateListPopover.open=!0},this.handleTemplateListClick=e=>{const t=e.target;this.applyTemplate(t["data-template"])},this.handleTemplateListKeyDown=e=>{if(y(e.key))return this.applyTemplate(this.viewModel.defaultTemplates.getItemAt(this._focusedTemplateIndex)),void e.preventDefault();if("ArrowDown"===e.key||"ArrowUp"===e.key){const{defaultTemplates:t}=this.viewModel,i="ArrowDown"===e.key?1:-1,a=(this._focusedTemplateIndex+i)%t.length;this._focusedTemplateIndex=a<0?t.length-1:a;const n=e.currentTarget;g(n.querySelectorAll(`.${C.menuItem}`)[this._focusedTemplateIndex],n.parentElement),e.preventDefault()}"Escape"===e.key&&this.handleCloseTemplateSelection()},this._removeLink=e=>{const t=e.currentTarget["data-item"];t&&"error"===t.state&&this.exportedLinks.remove(t)},this._focusOnTabChange=this._focusOnTabChange.bind(this)}initialize(){this.own([r(this,"viewModel.templatesInfo",(e=>{const{format:t,layout:i}=this.templateOptions;if(e){const a=i===e.layout.defaultValue||E(i)||e.layout.choiceList&&e.layout.choiceList.indexOf(i)>-1,n=t===e.format.defaultValue||e.format.choiceList&&e.format.choiceList.indexOf(t)>-1;a||(i&&I.warn(S),this.templateOptions.layout=e.layout.defaultValue),n||(t&&I.warn(k),this.templateOptions.format=e.format.defaultValue),E(i)&&(this._layoutTabSelected=!1)}})),r(this,"templateOptions.format",(e=>{const{viewModel:{templatesInfo:t}}=this;if(t&&e){let i=!1;t.format.choiceList&&t.format.choiceList.forEach((t=>{t.toUpperCase()===e.toUpperCase()&&(this.templateOptions.format=t,i=!0)})),i||(this.templateOptions.format=t.format.defaultValue,I.warn(k)),this.scheduleRender()}})),r(this,"templateOptions.layout",(e=>{const{viewModel:{templatesInfo:t}}=this;if(t&&e){this._layoutTabSelected=!E(e);let i=!this._layoutTabSelected;i||t.layout.choiceList&&t.layout.choiceList.forEach((t=>{t.toUpperCase()===e.toUpperCase()&&(this.templateOptions.layout=t,i=!0)})),i||(this.templateOptions.layout=t.layout.defaultValue,I.warn(S));const a=this.viewModel.effectiveTemplateCustomTextElements[this.templateOptions.layout];this.templateOptions.customTextElements=a?n(a):null,this.scheduleRender()}})),r(this,"templateOptions.dpi",(e=>{e<=0?this.templateOptions.dpi=1:this.scheduleRender()})),r(this,"viewModel.view.scale",(e=>{const{scale:t,scaleEnabled:i}=this.templateOptions;i&&t||(this.templateOptions.scale=e)}))]);const{height:e,width:t}=this.templateOptions;this.templateOptions.width=t||800,this.templateOptions.height=e||1100;const i=setTimeout((()=>{this._awaitingServerResponse=!0,this.scheduleRender()}),500);this.viewModel.load().then((()=>clearTimeout(i)))}render(){const{attributionEnabled:e,author:t,copyright:i,dpi:a,format:n,height:s,layout:o,legendEnabled:l,scaleEnabled:r,scale:p,width:d}=this.templateOptions,c="ready"!==this.get("viewModel.state"),u=this.renderTitleOrFileNameSection(),{includeDefaultTemplates:h,messages:m,viewModel:_}=this,v=this.get("viewModel.templatesInfo.format.choiceList")||[],y=v.length>0?v.map((e=>T("option",{key:e,selected:e===n,value:e},e.toUpperCase()))):T("option",{key:"format-default-option"},m.formatDefaultOption),g=T("div",{class:C.formSectionContainer},T("label",null,m.fileFormatTitle,T("select",{class:C.select,onchange:this._updateFromOption,"data-target-property":"format",bind:this},y))),f=this.get("viewModel.templatesInfo.layout.choiceList")||[],w=f.length>0?f.map((e=>{const t=e===o,i=m[e]||e;return T("option",{key:e,selected:t,value:e},i)})):T("option",{key:"layout-default-option"},m.layoutDefaultOption),O=T("div",{class:C.formSectionContainer},T("label",null,m.layoutTitle,T("select",{class:C.select,onchange:this._updateFromOption,"data-target-property":"layout",bind:this},w))),L=T("div",{class:C.formSectionContainer},T("label",null,m.dpi,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"dpi",onchange:this._handleDPIChange,value:`${a}`,min:"1",tabIndex:0,bind:this}))),I=T("div",{class:this.classes(C.scaleInfoContainer,C.formSectionContainer)},T("label",null,T("input",{"data-option-name":"scaleEnabled",checked:r,type:"checkbox",tabIndex:0,onchange:this._toggleInputValue,bind:this}),m.scale),T("div",{class:C.scaleInputContainer},T("input",{"aria-label":m.scaleLabel,"aria-valuenow":`${p}`,role:"spinbutton",type:"number",class:this.classes(C.inputText,C.input,C.scaleInput),tabIndex:0,"data-input-name":"scale",onchange:this._updateInputValue,disabled:!r,value:`${p}`,bind:this}),T("button",{type:"button","aria-label":m.reset,class:this.classes(C.widgetButton,C.refreshButton,C.iconRefresh),tabIndex:0,onclick:this._resetToCurrentScale,bind:this}))),S=this._advancedOptionsVisibleForLayout?T("div",{"aria-labelledby":`${this.id}__advancedOptionsForLayout`,class:C.advancedOptionsContainer},I,T("div",{class:this.classes(C.authorInfoContainer,C.formSectionContainer)},T("label",null,m.author,T("input",{type:"text",value:t,class:this.classes(C.inputText,C.input),tabIndex:0,"data-input-name":"author",onchange:this._updateInputValue,bind:this}))),T("div",{class:this.classes(C.copyrightInfoContainer,C.formSectionContainer)},T("label",null,m.copyright,T("input",{type:"text",class:this.classes(C.inputText,C.input),tabIndex:0,value:i,"data-input-name":"copyright",onchange:this._updateInputValue,bind:this}))),L,T("div",{class:this.classes(C.legendInfoContainer,C.formSectionContainer)},T("label",null,T("input",{type:"checkbox","data-option-name":"legendEnabled",tabIndex:0,checked:l,onchange:this._toggleInputValue,bind:this}),m.legend)),this.renderCustomTextElementSection()):null,k=this._advancedOptionsVisibleForMapOnly?T("div",{"aria-labelledby":`${this.id}__advancedOptionsForMapOnly`,class:C.advancedOptionsContainer},I,L,T("div",{class:C.formSectionContainer},T("label",null,T("input",{"data-option-name":"attributionEnabled",type:"checkbox",onchange:this._toggleInputValue,tabIndex:0,checked:e,bind:this}),m.attribution)),this.renderCustomTextElementSection()):null,F=this._layoutTabSelected?T("section",{key:"esri-print__layoutContent",id:`${this.id}__layoutContent`,"aria-labelledby":`${this.id}__layoutTab`,class:C.layoutSection,role:"tabpanel","aria-selected":this._layoutTabSelected.toString()},T("div",{class:C.panelContainer},u,O,this._layoutTabSelected?g:null),T("div",{class:this.classes(C.panelContainer,C.advancedOptionsSection)},T("button",{"aria-label":m.advancedOptions,"aria-expanded":this._advancedOptionsVisibleForLayout?"true":"false",class:C.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this,type:"button"},T("div",{class:C.advancedOptionsButtonContainer},T("span",{"aria-hidden":"true",class:this.classes(C.iconRightTriangleArrow,C.advancedOptionsButtonIconClosed)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconLeftTriangleArrow,C.advancedOptionsButtonIconClosed_RTL)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconDownArrow,C.advancedOptionsButtonIconOpened)}),T("span",{class:C.advancedOptionsButtonTitle},m.advancedOptions))),S)):T("section",{key:"esri-print__mapOnlyContent",id:`${this.id}__mapOnlyContent`,"aria-selected":(!this._layoutTabSelected).toString(),"aria-labelledby":`${this.id}__mapOnlyTab`,class:C.mapOnlySection,role:"tabpanel"},T("div",{class:C.panelContainer},u,this._layoutTabSelected?null:g,T("div",{class:this.classes(C.sizeContainer,C.formSectionContainer)},T("div",{class:C.widthContainer},T("label",null,m.width,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"width",onchange:this._updateInputValue,value:`${d}`,tabIndex:0,bind:this}))),T("div",{class:C.heightContainer},T("label",null,m.height,T("input",{type:"number",class:this.classes(C.inputText,C.input),"data-input-name":"height",onchange:this._updateInputValue,value:`${s}`,tabIndex:0,bind:this}))),T("button",{type:"button","aria-label":m.swap,class:this.classes(C.widgetButton,C.swapButton,C.iconSwap),onclick:this._switchInput,tabIndex:0,bind:this})),T("div",{class:this.classes(C.panelContainer,C.advancedOptionsSection)},T("button",{"aria-label":m.advancedOptions,"aria-expanded":this._advancedOptionsVisibleForMapOnly?"true":"false",type:"button",class:C.advancedOptionsButton,onclick:this._showAdvancedOptions,bind:this},T("div",{class:C.advancedOptionsButtonContainer},T("span",{"aria-hidden":"true",class:this.classes(C.iconRightTriangleArrow,C.advancedOptionsButtonIconClosed)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconLeftTriangleArrow,C.advancedOptionsButtonIconClosed_RTL)}),T("span",{"aria-hidden":"true",class:this.classes(C.iconDownArrow,C.advancedOptionsButtonIconOpened)}),T("span",{class:C.advancedOptionsButtonTitle},m.advancedOptions))),k))),M=this.exportedLinks.toArray(),E=this._renderExportedLink(M),V={[C.buttonDisabled]:c||!o&&!n},B=null!=this.get("view")&&"2d"!==this.get("view.type"),A=T("div",{class:C.panelError},B?m.sceneViewError:m.serviceError),P=T("div",null,T("ul",{class:C.layoutTabList,role:"tablist",onclick:this._toggleLayoutPanel,onkeydown:this._handleLayoutPanelKeyDown,bind:this},T("li",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:`${this.id}__layoutTab`,"data-tab-id":x.layout,class:C.layoutTab,role:"tab",tabIndex:0,"aria-selected":`${this._layoutTabSelected}`},m.layoutTab),T("li",{afterCreate:this._focusOnTabChange,afterUpdate:this._focusOnTabChange,id:`${this.id}__mapOnlyTab`,"data-tab-id":x.mapOnly,class:C.layoutTab,role:"tab",tabIndex:0,"aria-selected":`${!this._layoutTabSelected}`},m.mapOnlyTab)),F,T("button",{"aria-label":m.exportDescription,type:"button",class:this.classes(C.printButton,C.button,V),disabled:c,tabIndex:0,onclick:this._handlePrintMap,bind:this},m.export),h&&_.defaultTemplates.length>0?this.renderTemplateSectionTrigger():null,T("div",{class:C.exportedFilesContainer,afterUpdate:this._scrollExportIntoView,bind:this},T(b,{class:C.exportedFilesTitle,level:this.headingLevel},m.exportText),M.length>0?null:T("div",null,T("div",null,m.exportHint)),E)),D=T("div",{class:C.printWidgetContainer},T("header",{class:C.headerTitle},m.export),this.error||B||!this.view?A:P),N="initializing"===this.get("viewModel.state")?this._renderLoader():D;return T("div",{afterCreate:this._handleRootAfterCreate,bind:this,class:this.classes(C.base,C.widget,C.panel)},N)}renderTemplateSectionTrigger(){const{messages:e,_templateListPopover:t}=this,i=t.open;return T("button",{afterCreate:e=>this._selectTemplateNode=e,"aria-controls":i?`${this.id}__template-selection`:"","aria-label":e.selectTemplateDescription,"aria-pressed":i.toString(),class:this.classes(C.button,C.buttonTertiary,C.templateButton),onclick:this.handleSelectTemplateClick,title:e.selectTemplateDescription,type:"button"},e.selectTemplate)}renderCustomTextElementSection(){const{templateOptions:{customTextElements:e}}=this;return e?T("div",{class:C.formSectionContainer,key:"custom-text-elements"},e.map((e=>{const[t,i]=Object.entries(e)[0];return"date"===t?null:T("label",{key:t},t,T("input",{bind:this,class:this.classes(C.inputText,C.input),"data-input-custom":!0,"data-input-name":t,onchange:this._updateInputValue,type:"text",value:i}))}))):null}renderTemplateList(){const{messages:e,messagesCommon:t,viewModel:i}=this,{defaultTemplates:a}=i,n=e.selectTemplateDescription,s=`${this.id}__template-selection`;return T("div",{class:this.classes(C.templateList,C.widget,C.panel),id:s},T(b,{class:C.menuHeader,level:this.headingLevel},e.selectTemplate),T("div",{class:C.templateListScroller},T("ul",{afterCreate:this.handleTemplateListCreation,"aria-activedescendant":`${this.id}__template-item--${this._focusedTemplateIndex}`,"aria-label":n,class:C.menuList,key:"templates",onblur:this.handleTemplateChildBlur,onclick:this.handleTemplateListClick,onkeydown:this.handleTemplateListKeyDown,role:"listbox",tabIndex:0,title:n},a.toArray().map(((t,i)=>{const{description:a}=t,n=i===this._focusedTemplateIndex,s=t.label;return T("li",{"aria-label":a,class:this.classes(C.menuItem,{[C.menuItemFocus]:n}),"data-template":t,id:`${this.id}__template-item--${i}`,key:s,title:a},E(s)?e.mapOnlyTab:s)})))),T("div",{class:C.templateListFooter},T("button",{type:"button",class:this.classes(C.button,C.buttonSecondary),onblur:this.handleTemplateChildBlur,onclick:this.handleCloseTemplateSelection},t.done)))}applyTemplate(e){var t;const{format:i,layout:a,layoutOptions:n}=e,{templateOptions:s}=this;this._templateListPopover.open=!1,this._toggleTab("map-only"===a?x.mapOnly:x.layout,!1),i&&(s.format=i),a&&(s.layout=a),this._focusedTemplateIndex=null,s.legendEnabled=null!=(t=null==n?void 0:n.legend)?t:s.legendEnabled,this.handleCloseTemplateSelection()}renderTitleOrFileNameSection(){const{templateOptions:e,messages:t}=this;let i,a,n,s;return this._layoutTabSelected?(i=t.title,a=t.titlePlaceHolder,n=e.title,s="title"):(i=t.fileName,a=t.fileNamePlaceHolder,n=e.fileName,s="fileName"),T("div",{class:C.formSectionContainer,key:s},T("label",null,i,T("input",{type:"text",tabIndex:0,placeholder:a,class:this.classes(C.inputText,C.input),value:n,"data-input-name":s,onchange:this._updateInputValue,bind:this})))}_handleRootAfterCreate(e){this._rootNode=e,this.own(i(e,"scroll",(()=>{this._templateListPopover.open&&this.handleCloseTemplateSelection()})))}_focusOnTabChange(e){if(!this._activeTabFocusRequested)return;const t=e.getAttribute("data-tab-id");("layoutTab"===t&&this._layoutTabSelected||"mapOnlyTab"===t&&!this._layoutTabSelected)&&(e.focus(),this._activeTabFocusRequested=!1)}_renderLoader(){const e={[C.loader]:this._awaitingServerResponse};return T("div",{class:this.classes(e),key:"loader"})}_createFileLink(e,t){const i=t||this.messages.untitled,a=e.format.toLowerCase(),n=a.indexOf("png")>-1?"png":a,s=i+n;return void 0!==this._exportedFileNameMap[s]?this._exportedFileNameMap[s]++:this._exportedFileNameMap[s]=0,new h({name:i,extension:n,count:this._exportedFileNameMap[s]})}_resetToCurrentScale(){this.templateOptions.scale=this.viewModel.view.scale}_updateCustomTextElementValue(e,t,i){e.find((e=>{const[i]=Object.entries(e)[0];return i===t}))[t]=i}_updateInputValue(e){const t=e.target,i=t.getAttribute("data-input-name"),a=!!t["data-input-custom"],{templateOptions:n}=this;if(a)return void this._updateCustomTextElementValue(n.customTextElements,i,t.value);let s;if("number"===t.type){if(!M(t.valueAsNumber)){const e=n[i];return void(t.value=`${e}`)}s=t.valueAsNumber}else s=t.value;n[i]=s}_handleDPIChange(e){this._updateInputValue(e);const t=e.currentTarget.valueAsNumber,{height:i,width:a}=F(t),{templateOptions:n}=this;n.height=i,n.width=a}_handlePrintMap(){this._pendingExportScroll=!0;const{templateOptions:e}=this,t=this.viewModel.toPrintTemplate(e),i=this._layoutTabSelected?t.layoutOptions.titleText:e.fileName,a=this._createFileLink(t,i);this.exportedLinks.add(a),this.emit("submit",{link:a}),this.viewModel.print(t).then((e=>{a.set({url:e&&e.url,state:"ready"})})).catch((e=>{a.set({error:e,state:"error"})})).then((()=>{this.emit("complete",{link:a}),this.scheduleRender()}))}_updateFromOption(e){const t=e.target,i=t.selectedOptions?t.selectedOptions.item(0).value:t.options[t.selectedIndex].value,a=t.getAttribute("data-target-property");this.templateOptions[a]=i}_switchInput(){[this.templateOptions.width,this.templateOptions.height]=[this.templateOptions.height,this.templateOptions.width]}_showAdvancedOptions(){this._layoutTabSelected?this._advancedOptionsVisibleForLayout=!this._advancedOptionsVisibleForLayout:this._advancedOptionsVisibleForMapOnly=!this._advancedOptionsVisibleForMapOnly}_scrollExportIntoView(){if(this._pendingExportScroll){this._pendingExportScroll=!1;const{_rootNode:e,_rootNode:{clientHeight:t,scrollHeight:i}}=this,a=i-t;a>0&&(e.scrollTop=a)}}_toggleInputValue(e){const t=e.target,i=t.getAttribute("data-option-name");this.templateOptions[i]=t.checked,"scaleEnabled"===i&&(this.templateOptions[i]||this._resetToCurrentScale())}_renderExportedLink(e){const t=this.messages;return e.map((e=>{const{error:i,url:a,formattedName:n,state:s}=e,r="error"===s,p="pending"===s,d="ready"===s,c={[C.anchorDisabled]:p||r};let u=a||null;u&&(u=o(u));const h=l(a,location.href),m={[C.iconSpinner]:p,[C.rotate]:p,[C.iconDownload]:h&&d,[C.iconLaunchLink]:!h&&d,[C.iconError]:r,[C.exportedFileError]:r},_={[C.exportedFileError]:r};let b;b=p?t.pending:d?t.ready:t.errorMessage;const v=r?"print-task:cim-symbol-unsupported"===i.name?t.exportWebMapCIMError:t.exportWebMapError:"";return T("div",{"aria-label":b,class:C.exportedFile,"data-item":e,key:n,onclick:this._removeLink,title:v},T("a",{"aria-label":`${n}. ${t.linkReady}`,download:n,href:u,rel:"noreferrer",tabIndex:0,target:"_blank",class:this.classes(C.exportedFileLink,c)},T("span",{class:this.classes(m)}),T("span",{class:this.classes(C.exportedFileLinkTitle,_)},n)))}))}_toggleLayoutPanel(e){const t=e.target;this._toggleTab(t.getAttribute("data-tab-id"))}_toggleTab(e,t=!0){if(this._layoutTabSelected=e===x.layout,this._layoutTabSelected){const e=this.get("viewModel.templatesInfo.layout.choiceList");this.templateOptions.layout=e&&e[0]}else this.templateOptions.layout=O;t&&(this._activeTabFocusRequested=!0)}_handleLayoutPanelKeyDown(e){const t=a(e),i=e.target.getAttribute("data-tab-id");if(y(t))return this._toggleTab(i),e.preventDefault(),void e.stopPropagation();"ArrowLeft"!==t&&"ArrowRight"!==t||(this._toggleTab(i===x.layout?x.mapOnly:x.layout),e.preventDefault(),e.stopPropagation())}};e([p("viewModel.allowedFormats")],V.prototype,"allowedFormats",void 0),e([p("viewModel.allowedLayouts")],V.prototype,"allowedLayouts",void 0),e([p("viewModel.error")],V.prototype,"error",void 0),e([d({type:w})],V.prototype,"exportedLinks",void 0),e([p("viewModel.extraParameters")],V.prototype,"extraParameters",void 0),e([d()],V.prototype,"headingLevel",void 0),e([d()],V.prototype,"iconClass",void 0),e([p("viewModel.includeDefaultTemplates")],V.prototype,"includeDefaultTemplates",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],V.prototype,"label",void 0),e([d(),f("esri/widgets/Print/t9n/Print")],V.prototype,"messages",void 0),e([d(),f("esri/t9n/common")],V.prototype,"messagesCommon",void 0),e([p("viewModel.portal")],V.prototype,"portal",void 0),e([p("viewModel.printServiceUrl")],V.prototype,"printServiceUrl",void 0),e([p("viewModel.templateCustomTextElements")],V.prototype,"templateCustomTextElements",void 0),e([d({type:_})],V.prototype,"templateOptions",void 0),e([p("viewModel.view")],V.prototype,"view",void 0),e([d({type:m})],V.prototype,"viewModel",void 0),V=e([c("esri.widgets.Print")],V);const B=V;export{B as default};
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},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"},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},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 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};