@esri/solutions-components 5.1.0-next.118 → 5.1.0-next.119

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 (287) hide show
  1. package/dist/cdn/{NGYSGBAE.js → 2GWZ7KF2.js} +1 -1
  2. package/dist/cdn/{T4SIUI23.js → 2HLZ4NVO.js} +1 -1
  3. package/dist/cdn/{4F57JHMM.js → 2I5LGZNX.js} +1 -1
  4. package/dist/cdn/{5CONX4G5.js → 2LVPFOS7.js} +1 -1
  5. package/dist/cdn/2WGSQ5ON.js +2 -0
  6. package/dist/cdn/{PERCQYO6.js → 2XMRDB3K.js} +2 -2
  7. package/dist/cdn/{4DNXJC4H.js → 3KDM4JBY.js} +1 -1
  8. package/dist/cdn/{AC4RMGO6.js → 3RUVSQ7E.js} +1 -1
  9. package/dist/cdn/{BYX4GLKL.js → 3UIIZPJJ.js} +1 -1
  10. package/dist/cdn/{QK5JWCPU.js → 3W366S6N.js} +1 -1
  11. package/dist/cdn/{QQPHJ4FW.js → 3ZYEIYTY.js} +1 -1
  12. package/dist/cdn/{HS6NJWE7.js → 4AFANEZZ.js} +1 -1
  13. package/dist/cdn/{VMSV2EDE.js → 4ASIXXDP.js} +1 -1
  14. package/dist/cdn/{QZJGSWNM.js → 4MAZNAHZ.js} +1 -1
  15. package/dist/cdn/{ZAMDHZSB.js → 4RU3GWUU.js} +1 -1
  16. package/dist/cdn/{NUVJH534.js → 6BIHAEOS.js} +1 -1
  17. package/dist/cdn/{FIDFM7GS.js → 6IBUETLU.js} +1 -1
  18. package/dist/cdn/{FBKFFWV7.js → 6R7ASJ25.js} +1 -1
  19. package/dist/cdn/{LQ2J6MVC.js → 6ZN2VAXG.js} +1 -1
  20. package/dist/cdn/{HS4FIDIG.js → 7CAFUU5D.js} +1 -1
  21. package/dist/cdn/{RVJUBYX3.js → 7FBY5S4K.js} +1 -1
  22. package/dist/cdn/7JQYBHOS.js +2 -0
  23. package/dist/cdn/{QSNXXNJX.js → 7VD3Y4IF.js} +1 -1
  24. package/dist/cdn/{PK6J4TA3.js → APL6U736.js} +1 -1
  25. package/dist/cdn/{EKVVDMWB.js → B6Y3RA4F.js} +1 -1
  26. package/dist/cdn/{JLGYUZRP.js → BBECVTV3.js} +1 -1
  27. package/dist/cdn/{MBLK4P7W.js → BRBOVJ3Q.js} +1 -1
  28. package/dist/cdn/{P6OCRGFK.js → BZLMMSFW.js} +1 -1
  29. package/dist/cdn/{3C42KF6N.js → C3V6VBNX.js} +1 -1
  30. package/dist/cdn/{Q2I3FISB.js → C7SMCM7E.js} +1 -1
  31. package/dist/cdn/{QKVV2HDV.js → CE46EH32.js} +1 -1
  32. package/dist/cdn/{24CXTF7F.js → CEYBFNTX.js} +1 -1
  33. package/dist/cdn/{WRDDXISM.js → CUOHPTI7.js} +1 -1
  34. package/dist/cdn/{HNF4PBGT.js → CVHXDPJO.js} +1 -1
  35. package/dist/cdn/{TWU3XHBQ.js → DDJSF2M3.js} +1 -1
  36. package/dist/cdn/{KID5EGV6.js → DFEMIK3V.js} +1 -1
  37. package/dist/cdn/{2JUKGS2K.js → DIMSALHW.js} +1 -1
  38. package/dist/cdn/{Y36XZKHC.js → DUXRJBCP.js} +1 -1
  39. package/dist/cdn/{XC5GR7ET.js → DVWIWECZ.js} +1 -1
  40. package/dist/cdn/{Z54LP7Q3.js → F2V6IA23.js} +1 -1
  41. package/dist/cdn/FEX2ZF5L.js +2 -0
  42. package/dist/cdn/{3ITZDI72.js → FFF5HUPM.js} +1 -1
  43. package/dist/cdn/{LS5WOH7V.js → FILMKUOU.js} +1 -1
  44. package/dist/cdn/{H5JZSXTG.js → FYGQ2JLZ.js} +1 -1
  45. package/dist/cdn/{3YKRLNDA.js → GCEPKR7I.js} +1 -1
  46. package/dist/cdn/{BL2UYK4E.js → GWHNG567.js} +1 -1
  47. package/dist/cdn/{2N63UHNB.js → HAQVQDBA.js} +1 -1
  48. package/dist/cdn/{AVRGQSFV.js → HNZAE56I.js} +1 -1
  49. package/dist/cdn/HXJUFNLV.js +2 -0
  50. package/dist/cdn/{E3C3HXK2.js → I2NTSKBD.js} +1 -1
  51. package/dist/cdn/{YOO4OQMD.js → IFONVCBL.js} +1 -1
  52. package/dist/cdn/{3JVQG3QA.js → IHKF4AMV.js} +2 -2
  53. package/dist/cdn/{37Z6XQVC.js → IKSJAHVA.js} +1 -1
  54. package/dist/cdn/{IVVJNDP6.js → IOKTYFKK.js} +1 -1
  55. package/dist/cdn/{S3TMLXGP.js → ISFTCFSJ.js} +1 -1
  56. package/dist/cdn/{JZS6OOSV.js → ISLN76YS.js} +1 -1
  57. package/dist/cdn/{A75GYZAK.js → ITSA4WXG.js} +1 -1
  58. package/dist/cdn/{LRFILHAF.js → J7GCRQD2.js} +1 -1
  59. package/dist/cdn/{TX6RNT22.js → JCQQIAIE.js} +1 -1
  60. package/dist/cdn/{DVIDBBJX.js → JEEUSHAF.js} +1 -1
  61. package/dist/cdn/{M6JBJMEG.js → JGMNZLH4.js} +1 -1
  62. package/dist/cdn/{GQSGFD3A.js → JJV3TD42.js} +1 -1
  63. package/dist/cdn/{WYWQJDHW.js → JMYENPUQ.js} +1 -1
  64. package/dist/cdn/{UV6ETUNG.js → JNE3LBQU.js} +1 -1
  65. package/dist/cdn/JPOCX7DC.js +2 -0
  66. package/dist/cdn/{BJBUCNKW.js → JXTZNXTZ.js} +1 -1
  67. package/dist/cdn/{SECIT3YS.js → JYUZPAPI.js} +1 -1
  68. package/dist/cdn/{4C5KXZHD.js → K3EL6WZC.js} +1 -1
  69. package/dist/cdn/K7QUGRWR.js +4 -0
  70. package/dist/cdn/{BXRB7X5V.js → KGECA3WE.js} +1 -1
  71. package/dist/cdn/{YERZQ5GL.js → KLCBAO3U.js} +1 -1
  72. package/dist/cdn/{RMCGK2KO.js → KYDMZX3X.js} +1 -1
  73. package/dist/cdn/{KLK6VI3Y.js → KZBWKZOC.js} +1 -1
  74. package/dist/cdn/{ZHIIV7VJ.js → KZSBETIP.js} +1 -1
  75. package/dist/cdn/{G4RZYVWS.js → L5YT5FRJ.js} +1 -1
  76. package/dist/cdn/{XHV66O3B.js → LHG6NOEP.js} +1 -1
  77. package/dist/cdn/{FV3ILJ4J.js → MGEDATQ7.js} +1 -1
  78. package/dist/cdn/{BH4SUJ45.js → NJGT7T6E.js} +1 -1
  79. package/dist/cdn/{KDBX5NZF.js → NJWBQB6A.js} +81 -81
  80. package/dist/cdn/{NYMSGGDH.js → NKX2EIDR.js} +1 -1
  81. package/dist/cdn/{YJMN3BSG.js → NM2PQIH6.js} +1 -1
  82. package/dist/cdn/{LES6DTSC.js → NV2DLQDN.js} +1 -1
  83. package/dist/cdn/{D4YPSPYU.js → NVEAYDYI.js} +1 -1
  84. package/dist/cdn/{CN6TLQGH.js → NYQQSL25.js} +1 -1
  85. package/dist/cdn/{6ZKZSCOA.js → ONARC6AZ.js} +1 -1
  86. package/dist/cdn/{LMSRZ4U3.js → P2NKBGLG.js} +1 -1
  87. package/dist/cdn/{XFIT6JYM.js → P6VUY7UX.js} +1 -1
  88. package/dist/cdn/{MGEBTXZW.js → PPRV6EZZ.js} +1 -1
  89. package/dist/cdn/{4IAHY5NB.js → PU7QTXDB.js} +1 -1
  90. package/dist/cdn/{T2CAAOQC.js → QEPO225M.js} +1 -1
  91. package/dist/cdn/QTV6GN3W.js +2 -0
  92. package/dist/cdn/{ZGAP3FGE.js → QVJAIVT4.js} +1 -1
  93. package/dist/cdn/{7K2BSAIP.js → RB3YU5TX.js} +1 -1
  94. package/dist/cdn/{EGN65GV4.js → RHQFKYRH.js} +1 -1
  95. package/dist/cdn/{ANJGKFNJ.js → RMEDO4JC.js} +1 -1
  96. package/dist/cdn/{KRK3HJKJ.js → SBLN3F4Y.js} +1 -1
  97. package/dist/cdn/{4UCUVIVI.js → SFC4HPJH.js} +1 -1
  98. package/dist/cdn/{CYOAGVBU.js → SGJY2CP3.js} +1 -1
  99. package/dist/cdn/{HPJODZ44.js → SHEPQVUX.js} +1 -1
  100. package/dist/cdn/{MJTM44UR.js → SHGAD5MK.js} +1 -1
  101. package/dist/cdn/{VYAJBOTD.js → SO27FVOH.js} +1 -1
  102. package/dist/cdn/{A72KNPDC.js → SQ3AHKIW.js} +1 -1
  103. package/dist/cdn/{QGAFD25H.js → SSF6ST7U.js} +1 -1
  104. package/dist/cdn/{CL2YRX2S.js → SWM5KEF6.js} +1 -1
  105. package/dist/cdn/{LESMGBXJ.js → SZRVESYE.js} +1 -1
  106. package/dist/cdn/{TAPHNTZE.js → T465JI3J.js} +1 -1
  107. package/dist/cdn/{ISCTUP5U.js → TDH6R4JP.js} +1 -1
  108. package/dist/cdn/{5HJ2DKU4.js → TDLYNR4Q.js} +1 -1
  109. package/dist/cdn/{6XHQDX4R.js → TWJSFINX.js} +1 -1
  110. package/dist/cdn/{CPV3ZZNT.js → U6JZYJ4D.js} +1 -1
  111. package/dist/cdn/{VUOLILJK.js → UNBTFJYB.js} +1 -1
  112. package/dist/cdn/{GQLCVOIO.js → UNKHKP5I.js} +1 -1
  113. package/dist/cdn/{WEITLOQD.js → UQDRAXO2.js} +1 -1
  114. package/dist/cdn/{ZWZJZRZF.js → UQN2JCKP.js} +1 -1
  115. package/dist/cdn/{42SCVEP5.js → UYOTCDME.js} +1 -1
  116. package/dist/cdn/{I675FXR7.js → V7QZ2IHQ.js} +1 -1
  117. package/dist/cdn/{7X32DUXU.js → VFH27Y7F.js} +1 -1
  118. package/dist/cdn/{27TCOC33.js → VQQKJMPO.js} +1 -1
  119. package/dist/cdn/{3LZB7EPC.js → W3KIHLG5.js} +1 -1
  120. package/dist/cdn/{NBDCI2QG.js → W4ZBHZNM.js} +1 -1
  121. package/dist/cdn/{EOVYCA4H.js → WDRZR4N3.js} +1 -1
  122. package/dist/cdn/{VLTIETO7.js → WGEHABGS.js} +1 -1
  123. package/dist/cdn/{NJAG5LJD.js → WI67R264.js} +1 -1
  124. package/dist/cdn/{VPE3OYTO.js → WW6SEFWM.js} +1 -1
  125. package/dist/cdn/WWG2AM2T.js +2 -0
  126. package/dist/cdn/{H2I34QW7.js → WZCJ2VDD.js} +1 -1
  127. package/dist/cdn/{UPH3IBFJ.js → X2MFJAI2.js} +1 -1
  128. package/dist/cdn/{JLDT4MDK.js → X6JL6SAH.js} +1 -1
  129. package/dist/cdn/{B7WKBO7P.js → XDF5MAGN.js} +1 -1
  130. package/dist/cdn/{Z7UB6Y73.js → XEF5G3BC.js} +1 -1
  131. package/dist/cdn/{FTOA3QJU.js → XM3SRZWV.js} +1 -1
  132. package/dist/cdn/{BJR4LFTB.js → XRMZECS5.js} +1 -1
  133. package/dist/cdn/{BJDRTFKQ.js → XVMCFCUH.js} +1 -1
  134. package/dist/cdn/{I26G2BTP.js → Y4K66QPV.js} +1 -1
  135. package/dist/cdn/{CCSQ3OEW.js → Y7F2QFO6.js} +1 -1
  136. package/dist/cdn/{DI2EBGJ3.js → YCJJWOTP.js} +1 -1
  137. package/dist/cdn/{WCS5ISFW.js → YJBXJNUR.js} +1 -1
  138. package/dist/cdn/{IVXHTNAZ.js → YM2IDMZO.js} +1 -1
  139. package/dist/cdn/YQWQG523.js +2 -0
  140. package/dist/cdn/{SJ2P5I4G.js → YXHO47AZ.js} +1 -1
  141. package/dist/cdn/Z23BVIGQ.js +2 -0
  142. package/dist/cdn/{2DE4VFXQ.js → ZTRQVOAR.js} +1 -1
  143. package/dist/cdn/{7SDU3PS7.js → ZWKTEPK3.js} +1 -1
  144. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -1
  145. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -1
  146. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -1
  147. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -1
  148. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -1
  149. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -1
  150. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -1
  151. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -1
  152. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -1
  153. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -1
  154. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -1
  155. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -1
  156. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -1
  157. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -1
  158. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -1
  159. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -1
  160. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -1
  161. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -1
  162. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -1
  163. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -1
  164. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -1
  165. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -1
  166. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -1
  167. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -1
  168. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -1
  169. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -1
  170. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -1
  171. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -1
  172. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -1
  173. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -1
  174. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -1
  175. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -1
  176. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -1
  177. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -1
  178. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -1
  179. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -1
  180. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -1
  181. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -1
  182. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -1
  183. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ar.json +1 -1
  184. package/dist/cdn/assets/solutions-all-shell/t9n/messages.bg.json +1 -1
  185. package/dist/cdn/assets/solutions-all-shell/t9n/messages.bs.json +1 -1
  186. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ca.json +1 -1
  187. package/dist/cdn/assets/solutions-all-shell/t9n/messages.cs.json +1 -1
  188. package/dist/cdn/assets/solutions-all-shell/t9n/messages.da.json +1 -1
  189. package/dist/cdn/assets/solutions-all-shell/t9n/messages.de.json +1 -1
  190. package/dist/cdn/assets/solutions-all-shell/t9n/messages.el.json +1 -1
  191. package/dist/cdn/assets/solutions-all-shell/t9n/messages.es.json +1 -1
  192. package/dist/cdn/assets/solutions-all-shell/t9n/messages.et.json +1 -1
  193. package/dist/cdn/assets/solutions-all-shell/t9n/messages.fi.json +1 -1
  194. package/dist/cdn/assets/solutions-all-shell/t9n/messages.fr.json +1 -1
  195. package/dist/cdn/assets/solutions-all-shell/t9n/messages.he.json +1 -1
  196. package/dist/cdn/assets/solutions-all-shell/t9n/messages.hr.json +1 -1
  197. package/dist/cdn/assets/solutions-all-shell/t9n/messages.hu.json +1 -1
  198. package/dist/cdn/assets/solutions-all-shell/t9n/messages.id.json +1 -1
  199. package/dist/cdn/assets/solutions-all-shell/t9n/messages.it.json +1 -1
  200. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ja.json +1 -1
  201. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ko.json +1 -1
  202. package/dist/cdn/assets/solutions-all-shell/t9n/messages.lt.json +1 -1
  203. package/dist/cdn/assets/solutions-all-shell/t9n/messages.lv.json +1 -1
  204. package/dist/cdn/assets/solutions-all-shell/t9n/messages.nl.json +1 -1
  205. package/dist/cdn/assets/solutions-all-shell/t9n/messages.no.json +1 -1
  206. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pl.json +1 -1
  207. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-BR.json +1 -1
  208. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-PT.json +1 -1
  209. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ro.json +1 -1
  210. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ru.json +1 -1
  211. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sk.json +1 -1
  212. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sl.json +1 -1
  213. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sr.json +1 -1
  214. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sv.json +1 -1
  215. package/dist/cdn/assets/solutions-all-shell/t9n/messages.th.json +1 -1
  216. package/dist/cdn/assets/solutions-all-shell/t9n/messages.tr.json +1 -1
  217. package/dist/cdn/assets/solutions-all-shell/t9n/messages.uk.json +1 -1
  218. package/dist/cdn/assets/solutions-all-shell/t9n/messages.vi.json +1 -1
  219. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-CN.json +1 -1
  220. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-HK.json +1 -1
  221. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-TW.json +1 -1
  222. package/dist/cdn/index.js +1 -1
  223. package/dist/chunks/Auth.js +1 -1
  224. package/dist/chunks/CardsFetcher.js +2 -2
  225. package/dist/chunks/cardsHelpers.js +7 -7
  226. package/dist/chunks/common.js +2 -2
  227. package/dist/chunks/downloadUtils.js +5 -5
  228. package/dist/chunks/get.js +6 -6
  229. package/dist/chunks/getRelatedInfos.js +1 -1
  230. package/dist/chunks/helpers.js +16 -16
  231. package/dist/chunks/interfaces.js +5 -5
  232. package/dist/chunks/mapViewUtils.js +9 -9
  233. package/dist/chunks/popupUtils.js +1 -1
  234. package/dist/chunks/queryUtils.js +3 -3
  235. package/dist/chunks/solution-deploy-dialog.js +4 -4
  236. package/dist/chunks/solutions-deploy-app-nav.js +1 -1
  237. package/dist/chunks/templates.js +6 -6
  238. package/dist/chunks/validators.js +6 -6
  239. package/dist/components/arcgis-solutions-assistant/customElement.js +1089 -1085
  240. package/dist/components/card-manager/customElement.js +2 -2
  241. package/dist/components/consent-manager/customElement.js +1 -1
  242. package/dist/components/create-feature/customElement.js +1 -1
  243. package/dist/components/crowdsource-manager/customElement.js +1 -1
  244. package/dist/components/crowdsource-reporter/customElement.js +2 -2
  245. package/dist/components/edit-card/customElement.js +1 -1
  246. package/dist/components/feature-details/customElement.js +1 -1
  247. package/dist/components/feature-list/customElement.js +1 -1
  248. package/dist/components/layer-list/customElement.js +1 -1
  249. package/dist/components/layer-table/customElement.js +2 -2
  250. package/dist/components/map-card/customElement.js +2 -2
  251. package/dist/components/map-layer-picker/customElement.js +1 -1
  252. package/dist/components/map-select-tools/customElement.js +2 -2
  253. package/dist/components/pdf-download/customElement.js +1 -1
  254. package/dist/components/public-notification/customElement.js +2 -2
  255. package/dist/components/refine-selection/customElement.js +2 -2
  256. package/dist/components/selection-tool/customElement.js +1 -1
  257. package/dist/components/solution-builder-assistant/customElement.js +27 -16
  258. package/dist/components/solution-configure-titles/customElement.js +6 -6
  259. package/dist/components/solution-delete-dialog/customElement.js +3 -3
  260. package/dist/components/solution-deploy-dialog/index.js +1 -1
  261. package/dist/components/solution-deployed-card/customElement.js +1 -1
  262. package/dist/components/solution-deployed-card-panel/customElement.js +3 -3
  263. package/dist/components/solution-details-card/customElement.js +2 -2
  264. package/dist/components/solution-details-panel/customElement.js +6 -6
  265. package/dist/components/solution-resource-card/customElement.js +1 -1
  266. package/dist/components/solution-snapshot-gallery/customElement.js +2 -2
  267. package/dist/components/solutions-all-panel/customElement.js +1 -1
  268. package/dist/components/solutions-deploy-app/customElement.js +2 -2
  269. package/dist/components/solutions-deployed-panel/customElement.js +7 -7
  270. package/dist/components/solutions-deployed-shell/customElement.js +1 -1
  271. package/dist/components/solutions-filter-panel/customElement.js +1 -1
  272. package/dist/components/solutions-searchsort-toolbar/customElement.js +1 -1
  273. package/dist/docs/api.json +1 -1
  274. package/dist/docs/docs.json +1 -1
  275. package/dist/docs/web-types.json +1 -1
  276. package/dist/solutions-components_commit.txt +8 -5
  277. package/package.json +1 -1
  278. package/dist/cdn/5X73H45I.js +0 -2
  279. package/dist/cdn/BMF7MU4P.js +0 -2
  280. package/dist/cdn/CSXO2SCD.js +0 -2
  281. package/dist/cdn/FKA4WB46.js +0 -2
  282. package/dist/cdn/GX4UL6SH.js +0 -2
  283. package/dist/cdn/LEKPF4W5.js +0 -2
  284. package/dist/cdn/NNGGHOOR.js +0 -2
  285. package/dist/cdn/P45BDH5J.js +0 -2
  286. package/dist/cdn/TWEF6HTS.js +0 -2
  287. package/dist/cdn/Y2ROEEOX.js +0 -3
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as x}from"./6ZKZSCOA.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./XHV66O3B.js";import{b as I}from"./HNF4PBGT.js";import"./ANJGKFNJ.js";import"./S3TMLXGP.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./3ITZDI72.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
2
+ import{a as x}from"./ONARC6AZ.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./LHG6NOEP.js";import{b as I}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as w}from"./6ZKZSCOA.js";import{a as M}from"./PYBOC3DB.js";import{a as C}from"./XHV66O3B.js";import{b as S}from"./HNF4PBGT.js";import"./ANJGKFNJ.js";import"./S3TMLXGP.js";import{G as D,I as y,h as E,i as p,l as x,q as k}from"./3ITZDI72.js";import"./QPIMTXPL.js";export default $arcgis.t(([m,P,$,B])=>{var o={Loading:"loading",Disabled:"disabled",Complete:"complete",Calculating:"calculating",Bottom:"bottom",Left:"left",Floating:"floating"},g={Up:"chevron-up",Down:"chevron-down",Left:"chevron-left",Right:"chevron-right",Blank:"blank"},U={Small:"s",Large:"l"},A={Transparent:"transparent"},F={Start:"start",Center:"center"},N=E`:host{display:block;--instant-apps-scoreboard-background-color: var(--calcite-color-foreground-1);--instant-apps-scoreboard-text-color: var(--calcite-color-text-1);--instant-apps-scoreboard-mobile-position-bottom: 0;background-color:var(--instant-apps-scoreboard-background-color);color:var(--instant-apps-scoreboard-text-color)}:host .instant-apps-scoreboard{box-sizing:border-box;border:1px solid var(--calcite-color-border-1);box-shadow:0 3px 15px #0003;border-radius:3px}:host .instant-apps-scoreboard calcite-loader{--calcite-loader-padding: 1rem}:host .instant-apps-scoreboard__items-container{display:flex}:host .instant-apps-scoreboard__items-container calcite-action{height:100%}:host .instant-apps-scoreboard__items,:host .instant-apps-scoreboard__item{box-sizing:border-box;display:flex}:host .instant-apps-scoreboard__items{list-style-type:none;padding-left:0;margin:0;padding-top:1.75%;padding-bottom:1.75%;width:100%}:host .instant-apps-scoreboard__item{flex-direction:column;justify-content:flex-end;align-items:center;padding:1%}:host .instant-apps-scoreboard__item-label{box-sizing:border-box;line-height:24px;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}:host .instant-apps-scoreboard__item-label{font-size:1rem;font-weight:400;text-align:center}:host .instant-apps-scoreboard__item-value{display:flex;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-top:5px;font-size:1.5rem;font-weight:900}:host .instant-apps-scoreboard__item-value-placeholder{display:inline-block;width:32px;height:32px;background-color:var(--calcite-color-foreground-3);border-radius:4px}:host(.instant-apps-scoreboard__position--bottom){bottom:0}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__items{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__item{min-width:10vw;vertical-align:top}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating){left:50%;max-width:calc(100% - 30px);transform:translate(-50%,-15px)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:25vw}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){left:unset;bottom:0;transform:unset;width:100%}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{min-width:unset}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{width:100%;justify-content:space-between}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard{display:flex;justify-content:center;align-items:center;width:10vw;overflow-y:auto}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container{flex-direction:column;height:100%;box-sizing:border-box}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container calcite-action{height:unset;width:100%}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items{flex-direction:column;padding:10px}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__item{padding-top:.5vh;padding-bottom:.5vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating){top:15px;left:15px;max-height:calc(100% - 30px)}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:10vw;min-height:35vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned){top:unset;left:unset;transform:unset;height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{justify-content:space-between}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--floating){left:15px}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--floating){left:unset;right:15px}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--pinned){left:0}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--pinned){left:unset;right:0}@media only screen and (min-width:992px){:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){bottom:var(--instant-apps-scoreboard-mobile-position-bottom)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__item{justify-content:center;min-width:unset;flex-grow:1}}`,v="instant-apps-scoreboard",O=6,T=`${v}--`,h=`${v}__`,j=M.medium[1],n={itemsContainer:`${h}items-container`,items:`${h}items`,item:`${h}item`,label:`${h}item-label`,value:`${h}item-value`,valuePlaceholder:`${h}item-value-placeholder`,position:{bottom:`${h}position--bottom`,side:`${h}position--side`,left:`${h}position--left`,right:`${h}position--right`},mode:{floating:`${h}mode--floating`,pinned:`${h}mode--pinned`}},I=class extends D{constructor(){super(...arguments),this._messages=C({name:"instant-apps-scoreboard"}),this.state=o.Loading,this.itemIndex=0,this.isMobile=!1,this.position=o.Bottom,this.mode=o.Floating,this.itemLimit=6,this.autoDockEnabled=!0,this.geometry=null,this.queryType="layerView",this.scoreboardItemsUpdated=k()}static{this.properties={state:16,itemIndex:16,layers:16,layerViews:16,isMobile:16,view:0,items:0,position:1,mode:1,itemLimit:9,autoDockEnabled:5,geometry:0,queryType:1}}static{this.styles=N}get checkMobile(){let t=this.el?.parentElement?.offsetWidth;return t&&!Number.isNaN(t)&&t>0?t<j:!1}get getItemsToDisplay(){let t=this.getItemLimit();return this.items.filter(e=>e.visible).slice(this.itemIndex,t+this.itemIndex)}get isEnd(){let t=this.getItemLimit(),e=this.items.slice(this.items.length-t).map(s=>s.uid),a=this.items.slice(this.itemIndex,this.itemIndex+t).map(s=>s.uid);return e.every((s,l)=>s===a[l])}async load(){let t=new ResizeObserver(()=>{this.itemIndex=0,this.autoDockEnabled&&(this.isMobile=!!this.checkMobile)});if(this.el?.parentElement&&t.observe(this.el.parentElement),!this.view||!this.items)this.state=o.Disabled;else try{await this.initModules()}catch{this.state=o.Disabled}}willUpdate(t){t.has("items")&&this.generateUIDs(),t.has("items")&&this.storeLayers(),t.has("layers")&&this.storeLayerViews(),t.has("geometry")&&(this.hasUpdated||this.geometry!==null)&&this.calculateScoreboardItemValuesFromGeometry(),t.has("layerViews")&&this.calculateScoreboardItemValues()}async loaded(){if(this.state!==o.Disabled)try{await m?.whenOnce(()=>this.view?.ready),this.generateUIDs(),await this.loadMapResources(),this.storeLayers(),this.initViewUpdateWatcher()}catch{this.state=o.Disabled,console.error(`${v}: FAILED TO LOAD MAP RESOURCES`)}}disconnectedCallback(){super.disconnectedCallback(),this.state=o.Disabled,this.itemIndex=0,this.layers?.removeAll(),this.layers?.destroy(),this.layers=null,this.layerViews?.removeAll(),this.layerViews?.destroy(),this.layerViews=null,this.handles?.removeAll(),this.handles?.destroy(),this.handles=null}scoreboardItemsUpdatedHandler(){this.scoreboardItemsUpdated.emit(this.items)}generateUIDs(){this.itemIndex=0,this.items.forEach(this.generateUID())}async storeLayers(){this.state=o.Calculating,await(this.view?.map).loadAll();let t=this.items.map(i=>i?.layer?.id),e=i=>i.type!=="feature"||!i.isTable,a=i=>i.type==="feature"||i.type==="scene",s=i=>t.includes(i.id),l=i=>e(i)&&a(i)&&s(i);this.layers=this.view?.map?.allLayers?.filter(i=>l(i)),this.watchLayerVisibility()}async storeLayerViews(){if(this.layers&&this.layers.length>0){this.layers.forEach(s=>s.outFields=["*"]);let t=[];this.layers.forEach(s=>{let l=s,i=this.view?.whenLayerView(l);t.push(i)});let e=(await Promise.allSettled(t)).filter(s=>s.status==="fulfilled"&&s.value).map(s=>s.value),a=[];e.forEach(s=>a.push(m.whenOnce(()=>!s.updating))),await Promise.all(a),this.layerViews=new $([...e])}}calculateScoreboardItemValuesFromGeometry(){this.calculateScoreboardItemValues()}async calculateScoreboardItemValues(){if(this.layers&&this.layers.length===0||this.layerViews&&this.layerViews.length===0)return;this.state=o.Calculating;let t=[...this.items],e=[];this.queryStatDefinitions(t,e);let a=await Promise.all(e);this.handleQueryFeaturesResponses(a,t),this.items.length=0,t.forEach(s=>this.items.push(s)),this.state=o.Complete,this.scoreboardItemsUpdatedHandler(),this.initStationaryWatcher()}async initModules(){try{this.handles=new B,this.layers=new $([]),this.layerViews=new $([])}catch(t){throw console.error(t),this.state=o.Disabled,new Error("Failed to initialize modules")}}async loadMapResources(){if(this.view){let{map:t}=this.view,e=t;try{await e.loadAll()}catch(a){throw console.error(a),this.state=o.Disabled,new Error("Failed to load map resources")}}}generateUID(){return t=>{let e=Math.random(),a=Math.floor(Math.random()*10)+11,s=e.toString(a).replace("0.","");t.uid=s}}previousItem(){this.itemIndex=this.itemIndex-1}nextItem(){this.itemIndex=this.itemIndex+1}queryStatDefinitions(t,e){let a=i=>{let{field:r,operation:d}=i,c=r,b=`${r}_${d}`;return{onStatisticField:c,outStatisticFieldName:b,statisticType:d}},s=(i,r)=>{let d=this.queryType==="layer"?i.layer.createQuery():i.createQuery(),c=[r],b=this.geometry??this.view?.extent;d.outStatistics=c,d.geometry=b;let u=i?.filter?.timeExtent??i?.featureEffect?.filter?.timeExtent??null;return u&&(d.timeExtent=u),d},l=()=>async i=>{let r=this.layerViews?.find(u=>u.layer.id===i?.layer?.id);if(!r)return;let d=a(i),c=s(r,d),b=this.queryType==="layer"?r.layer.queryFeatures(c):r.queryFeatures(c);e.push(b)};t.forEach(l())}handleQueryFeaturesResponses(t,e){let a=i=>{let r=i.features[0],{attributes:d}=r;return Object.values(d)[0]},s=()=>({notation:"compact",compactDisplay:"short"}),l=()=>(i,r)=>{let d=a(i),c=s(),b=d!==null,u=b?P.formatNumber(d,c):null,_=b?`${u}`:"";e[r].displayValue=_,e[r].value=d};t.forEach(l())}initStationaryWatcher(){let t={once:!0,initial:!0},e=()=>m.when(()=>!this.view?.interacting,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},t),a=()=>m.when(()=>this.view?.stationary,()=>e()),s="stationary-watcher-key";this.handles?.has(s)&&this.handles.remove(s),this.handles?.add(a(),s)}initViewUpdateWatcher(){return m.watch(()=>this.view?.updating,()=>{m.when(()=>!this.view?.updating,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},{once:!0,initial:!0})},{initial:!0})}watchLayerVisibility(){if(!this.layers)return;let t="visbilityWatcherKey";this.handles?.remove(t);let e=[],a=s=>{let l=async()=>{let r=await this.view?.whenLayerView(s);await m.whenOnce(()=>!r?.updating),this.calculateScoreboardItemValues()},i=m.watch(()=>s?.visible,async()=>await l());e.push(i)};this.layers.forEach(a),this.handles?.add([...e],t)}getItemLimit(){return this.itemLimit<2||this.itemLimit>6?O:this.itemLimit}setHostClassNames(){this.isMobile||this.position===o.Bottom?(this.el.classList.remove(n.position.side,n.position.left,n.position.right),this.el.classList.add(n.position.bottom)):(this.el.classList.remove(n.position.bottom),this.el.classList.add(n.position.side),this.position===o.Left?(this.el.classList.remove(n.position.right),this.el.classList.add(n.position.left)):(this.el.classList.remove(n.position.left),this.el.classList.add(n.position.right))),this.isMobile?(this.el.classList.remove(n.mode.floating),this.el.classList.add(n.mode.pinned)):this.mode===o.Floating?(this.el.classList.remove(n.mode.pinned),this.el.classList.add(n.mode.floating)):this.el.classList.add(n.mode.pinned)}render(){let{state:t}=this,e=t===o.Loading,a=t===o.Calculating,s=t===o.Disabled,l=e||a||this.queryType==="layerView"&&this.view?.updating?this.renderProgress():null;return this.setHostClassNames(),s?null:[l,this.items?.length>0?this.renderBase():null]}renderBase(){return w("instant-apps-scoreboard-base",p`<div class=${y(v)}>${this.renderContent()}</div>`)}renderContent(){let{state:t}=this;return t===o.Loading?this.renderLoader():t===o.Calculating||t===o.Complete?this.renderItemsContainer():null}renderItemsContainer(){let[t,e]=this.renderPreviousNextButtons();return p`<div class=${y(n.itemsContainer)}>${t}${this.renderItems()}${e}</div>`}renderPreviousNextButtons(){let t=this.getItemLimit(),e=this.items.filter(q=>q.visible)?.length<=t,a=this.itemIndex===0,s=this.isEnd,l=this.isMobile?!0:this.position===o.Bottom,i=l?F.Start:F.Center,r=l?g.Left:g.Up,d=l?g.Right:g.Down,c={previous:r,next:d},b=a||e?g.Blank:c.previous,u=s||e?g.Blank:c.next,_={previous:a||e,next:s||e},L=A.Transparent,V=this.isMobile?U.Small:U.Large,f={previous:this._messages.previous,next:this._messages.next};return[p`<calcite-action @click=${this.previousItem} .icon=${b} .disabled=${_.previous} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.previous??""} .label=${f.previous}></calcite-action>`,p`<calcite-action @click=${this.nextItem} .icon=${u} .disabled=${_.next} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.next??""} .label=${f.next}></calcite-action>`]}renderItems(){let{items:t}=n,e=this.getItemsToDisplay.map(a=>this.renderItem(a));return p`<ul class=${y(t)}>${e}</ul>`}renderItem(t){let{label:e}=t;return p`<li class=${y(n.item)}><span class=${y(n.label)} title=${e??x}>${e}</span>${this.renderValue(t)}</li>`}renderValue(t){let{displayValue:e}=t,a=this.state===o.Calculating,s=this.state===o.Disabled,l=e===void 0&&a,i=e||this._messages.NA,r=!this.layers?.find(c=>t?.layer?.id===c.id)?.visible,d=l?this.renderValuePlaceholder():s?"":r?p`<calcite-icon icon=view-hide scale=l title=${this._messages.layerVisibilityOff??x}></calcite-icon>`:i;return p`<span class=${y(n.value)}>${d}</span>`}renderValuePlaceholder(){return p`<span class=${y(n.valuePlaceholder)}></span>`}renderProgress(){let t=`${T}calcite-`;return w(`${t}progress`,p`<calcite-progress type=indeterminate></calcite-progress>`)}renderLoader(){let t=`${T}calcite-`,e=this._messages.loading;return w(`${t}loader`,p`<calcite-loader .label=${e??""} .text=${e} scale=m></calcite-loader>`)}};S("instant-apps-scoreboard",I);return I},"core/reactiveUtils","intl","core/Collection","core/Handles")
2
+ import{a as w}from"./ONARC6AZ.js";import{a as M}from"./PYBOC3DB.js";import{a as C}from"./LHG6NOEP.js";import{b as S}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{G as D,I as y,h as E,i as p,l as x,q as k}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([m,P,$,B])=>{var o={Loading:"loading",Disabled:"disabled",Complete:"complete",Calculating:"calculating",Bottom:"bottom",Left:"left",Floating:"floating"},g={Up:"chevron-up",Down:"chevron-down",Left:"chevron-left",Right:"chevron-right",Blank:"blank"},U={Small:"s",Large:"l"},A={Transparent:"transparent"},F={Start:"start",Center:"center"},N=E`:host{display:block;--instant-apps-scoreboard-background-color: var(--calcite-color-foreground-1);--instant-apps-scoreboard-text-color: var(--calcite-color-text-1);--instant-apps-scoreboard-mobile-position-bottom: 0;background-color:var(--instant-apps-scoreboard-background-color);color:var(--instant-apps-scoreboard-text-color)}:host .instant-apps-scoreboard{box-sizing:border-box;border:1px solid var(--calcite-color-border-1);box-shadow:0 3px 15px #0003;border-radius:3px}:host .instant-apps-scoreboard calcite-loader{--calcite-loader-padding: 1rem}:host .instant-apps-scoreboard__items-container{display:flex}:host .instant-apps-scoreboard__items-container calcite-action{height:100%}:host .instant-apps-scoreboard__items,:host .instant-apps-scoreboard__item{box-sizing:border-box;display:flex}:host .instant-apps-scoreboard__items{list-style-type:none;padding-left:0;margin:0;padding-top:1.75%;padding-bottom:1.75%;width:100%}:host .instant-apps-scoreboard__item{flex-direction:column;justify-content:flex-end;align-items:center;padding:1%}:host .instant-apps-scoreboard__item-label{box-sizing:border-box;line-height:24px;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}:host .instant-apps-scoreboard__item-label{font-size:1rem;font-weight:400;text-align:center}:host .instant-apps-scoreboard__item-value{display:flex;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-top:5px;font-size:1.5rem;font-weight:900}:host .instant-apps-scoreboard__item-value-placeholder{display:inline-block;width:32px;height:32px;background-color:var(--calcite-color-foreground-3);border-radius:4px}:host(.instant-apps-scoreboard__position--bottom){bottom:0}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__items{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__item{min-width:10vw;vertical-align:top}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating){left:50%;max-width:calc(100% - 30px);transform:translate(-50%,-15px)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:25vw}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){left:unset;bottom:0;transform:unset;width:100%}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{min-width:unset}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{width:100%;justify-content:space-between}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard{display:flex;justify-content:center;align-items:center;width:10vw;overflow-y:auto}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container{flex-direction:column;height:100%;box-sizing:border-box}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container calcite-action{height:unset;width:100%}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items{flex-direction:column;padding:10px}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__item{padding-top:.5vh;padding-bottom:.5vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating){top:15px;left:15px;max-height:calc(100% - 30px)}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:10vw;min-height:35vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned){top:unset;left:unset;transform:unset;height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{justify-content:space-between}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--floating){left:15px}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--floating){left:unset;right:15px}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--pinned){left:0}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--pinned){left:unset;right:0}@media only screen and (min-width:992px){:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){bottom:var(--instant-apps-scoreboard-mobile-position-bottom)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__item{justify-content:center;min-width:unset;flex-grow:1}}`,v="instant-apps-scoreboard",O=6,T=`${v}--`,h=`${v}__`,j=M.medium[1],n={itemsContainer:`${h}items-container`,items:`${h}items`,item:`${h}item`,label:`${h}item-label`,value:`${h}item-value`,valuePlaceholder:`${h}item-value-placeholder`,position:{bottom:`${h}position--bottom`,side:`${h}position--side`,left:`${h}position--left`,right:`${h}position--right`},mode:{floating:`${h}mode--floating`,pinned:`${h}mode--pinned`}},I=class extends D{constructor(){super(...arguments),this._messages=C({name:"instant-apps-scoreboard"}),this.state=o.Loading,this.itemIndex=0,this.isMobile=!1,this.position=o.Bottom,this.mode=o.Floating,this.itemLimit=6,this.autoDockEnabled=!0,this.geometry=null,this.queryType="layerView",this.scoreboardItemsUpdated=k()}static{this.properties={state:16,itemIndex:16,layers:16,layerViews:16,isMobile:16,view:0,items:0,position:1,mode:1,itemLimit:9,autoDockEnabled:5,geometry:0,queryType:1}}static{this.styles=N}get checkMobile(){let t=this.el?.parentElement?.offsetWidth;return t&&!Number.isNaN(t)&&t>0?t<j:!1}get getItemsToDisplay(){let t=this.getItemLimit();return this.items.filter(e=>e.visible).slice(this.itemIndex,t+this.itemIndex)}get isEnd(){let t=this.getItemLimit(),e=this.items.slice(this.items.length-t).map(s=>s.uid),a=this.items.slice(this.itemIndex,this.itemIndex+t).map(s=>s.uid);return e.every((s,l)=>s===a[l])}async load(){let t=new ResizeObserver(()=>{this.itemIndex=0,this.autoDockEnabled&&(this.isMobile=!!this.checkMobile)});if(this.el?.parentElement&&t.observe(this.el.parentElement),!this.view||!this.items)this.state=o.Disabled;else try{await this.initModules()}catch{this.state=o.Disabled}}willUpdate(t){t.has("items")&&this.generateUIDs(),t.has("items")&&this.storeLayers(),t.has("layers")&&this.storeLayerViews(),t.has("geometry")&&(this.hasUpdated||this.geometry!==null)&&this.calculateScoreboardItemValuesFromGeometry(),t.has("layerViews")&&this.calculateScoreboardItemValues()}async loaded(){if(this.state!==o.Disabled)try{await m?.whenOnce(()=>this.view?.ready),this.generateUIDs(),await this.loadMapResources(),this.storeLayers(),this.initViewUpdateWatcher()}catch{this.state=o.Disabled,console.error(`${v}: FAILED TO LOAD MAP RESOURCES`)}}disconnectedCallback(){super.disconnectedCallback(),this.state=o.Disabled,this.itemIndex=0,this.layers?.removeAll(),this.layers?.destroy(),this.layers=null,this.layerViews?.removeAll(),this.layerViews?.destroy(),this.layerViews=null,this.handles?.removeAll(),this.handles?.destroy(),this.handles=null}scoreboardItemsUpdatedHandler(){this.scoreboardItemsUpdated.emit(this.items)}generateUIDs(){this.itemIndex=0,this.items.forEach(this.generateUID())}async storeLayers(){this.state=o.Calculating,await(this.view?.map).loadAll();let t=this.items.map(i=>i?.layer?.id),e=i=>i.type!=="feature"||!i.isTable,a=i=>i.type==="feature"||i.type==="scene",s=i=>t.includes(i.id),l=i=>e(i)&&a(i)&&s(i);this.layers=this.view?.map?.allLayers?.filter(i=>l(i)),this.watchLayerVisibility()}async storeLayerViews(){if(this.layers&&this.layers.length>0){this.layers.forEach(s=>s.outFields=["*"]);let t=[];this.layers.forEach(s=>{let l=s,i=this.view?.whenLayerView(l);t.push(i)});let e=(await Promise.allSettled(t)).filter(s=>s.status==="fulfilled"&&s.value).map(s=>s.value),a=[];e.forEach(s=>a.push(m.whenOnce(()=>!s.updating))),await Promise.all(a),this.layerViews=new $([...e])}}calculateScoreboardItemValuesFromGeometry(){this.calculateScoreboardItemValues()}async calculateScoreboardItemValues(){if(this.layers&&this.layers.length===0||this.layerViews&&this.layerViews.length===0)return;this.state=o.Calculating;let t=[...this.items],e=[];this.queryStatDefinitions(t,e);let a=await Promise.all(e);this.handleQueryFeaturesResponses(a,t),this.items.length=0,t.forEach(s=>this.items.push(s)),this.state=o.Complete,this.scoreboardItemsUpdatedHandler(),this.initStationaryWatcher()}async initModules(){try{this.handles=new B,this.layers=new $([]),this.layerViews=new $([])}catch(t){throw console.error(t),this.state=o.Disabled,new Error("Failed to initialize modules")}}async loadMapResources(){if(this.view){let{map:t}=this.view,e=t;try{await e.loadAll()}catch(a){throw console.error(a),this.state=o.Disabled,new Error("Failed to load map resources")}}}generateUID(){return t=>{let e=Math.random(),a=Math.floor(Math.random()*10)+11,s=e.toString(a).replace("0.","");t.uid=s}}previousItem(){this.itemIndex=this.itemIndex-1}nextItem(){this.itemIndex=this.itemIndex+1}queryStatDefinitions(t,e){let a=i=>{let{field:r,operation:d}=i,c=r,b=`${r}_${d}`;return{onStatisticField:c,outStatisticFieldName:b,statisticType:d}},s=(i,r)=>{let d=this.queryType==="layer"?i.layer.createQuery():i.createQuery(),c=[r],b=this.geometry??this.view?.extent;d.outStatistics=c,d.geometry=b;let u=i?.filter?.timeExtent??i?.featureEffect?.filter?.timeExtent??null;return u&&(d.timeExtent=u),d},l=()=>async i=>{let r=this.layerViews?.find(u=>u.layer.id===i?.layer?.id);if(!r)return;let d=a(i),c=s(r,d),b=this.queryType==="layer"?r.layer.queryFeatures(c):r.queryFeatures(c);e.push(b)};t.forEach(l())}handleQueryFeaturesResponses(t,e){let a=i=>{let r=i.features[0],{attributes:d}=r;return Object.values(d)[0]},s=()=>({notation:"compact",compactDisplay:"short"}),l=()=>(i,r)=>{let d=a(i),c=s(),b=d!==null,u=b?P.formatNumber(d,c):null,_=b?`${u}`:"";e[r].displayValue=_,e[r].value=d};t.forEach(l())}initStationaryWatcher(){let t={once:!0,initial:!0},e=()=>m.when(()=>!this.view?.interacting,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},t),a=()=>m.when(()=>this.view?.stationary,()=>e()),s="stationary-watcher-key";this.handles?.has(s)&&this.handles.remove(s),this.handles?.add(a(),s)}initViewUpdateWatcher(){return m.watch(()=>this.view?.updating,()=>{m.when(()=>!this.view?.updating,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},{once:!0,initial:!0})},{initial:!0})}watchLayerVisibility(){if(!this.layers)return;let t="visbilityWatcherKey";this.handles?.remove(t);let e=[],a=s=>{let l=async()=>{let r=await this.view?.whenLayerView(s);await m.whenOnce(()=>!r?.updating),this.calculateScoreboardItemValues()},i=m.watch(()=>s?.visible,async()=>await l());e.push(i)};this.layers.forEach(a),this.handles?.add([...e],t)}getItemLimit(){return this.itemLimit<2||this.itemLimit>6?O:this.itemLimit}setHostClassNames(){this.isMobile||this.position===o.Bottom?(this.el.classList.remove(n.position.side,n.position.left,n.position.right),this.el.classList.add(n.position.bottom)):(this.el.classList.remove(n.position.bottom),this.el.classList.add(n.position.side),this.position===o.Left?(this.el.classList.remove(n.position.right),this.el.classList.add(n.position.left)):(this.el.classList.remove(n.position.left),this.el.classList.add(n.position.right))),this.isMobile?(this.el.classList.remove(n.mode.floating),this.el.classList.add(n.mode.pinned)):this.mode===o.Floating?(this.el.classList.remove(n.mode.pinned),this.el.classList.add(n.mode.floating)):this.el.classList.add(n.mode.pinned)}render(){let{state:t}=this,e=t===o.Loading,a=t===o.Calculating,s=t===o.Disabled,l=e||a||this.queryType==="layerView"&&this.view?.updating?this.renderProgress():null;return this.setHostClassNames(),s?null:[l,this.items?.length>0?this.renderBase():null]}renderBase(){return w("instant-apps-scoreboard-base",p`<div class=${y(v)}>${this.renderContent()}</div>`)}renderContent(){let{state:t}=this;return t===o.Loading?this.renderLoader():t===o.Calculating||t===o.Complete?this.renderItemsContainer():null}renderItemsContainer(){let[t,e]=this.renderPreviousNextButtons();return p`<div class=${y(n.itemsContainer)}>${t}${this.renderItems()}${e}</div>`}renderPreviousNextButtons(){let t=this.getItemLimit(),e=this.items.filter(q=>q.visible)?.length<=t,a=this.itemIndex===0,s=this.isEnd,l=this.isMobile?!0:this.position===o.Bottom,i=l?F.Start:F.Center,r=l?g.Left:g.Up,d=l?g.Right:g.Down,c={previous:r,next:d},b=a||e?g.Blank:c.previous,u=s||e?g.Blank:c.next,_={previous:a||e,next:s||e},L=A.Transparent,V=this.isMobile?U.Small:U.Large,f={previous:this._messages.previous,next:this._messages.next};return[p`<calcite-action @click=${this.previousItem} .icon=${b} .disabled=${_.previous} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.previous??""} .label=${f.previous}></calcite-action>`,p`<calcite-action @click=${this.nextItem} .icon=${u} .disabled=${_.next} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.next??""} .label=${f.next}></calcite-action>`]}renderItems(){let{items:t}=n,e=this.getItemsToDisplay.map(a=>this.renderItem(a));return p`<ul class=${y(t)}>${e}</ul>`}renderItem(t){let{label:e}=t;return p`<li class=${y(n.item)}><span class=${y(n.label)} title=${e??x}>${e}</span>${this.renderValue(t)}</li>`}renderValue(t){let{displayValue:e}=t,a=this.state===o.Calculating,s=this.state===o.Disabled,l=e===void 0&&a,i=e||this._messages.NA,r=!this.layers?.find(c=>t?.layer?.id===c.id)?.visible,d=l?this.renderValuePlaceholder():s?"":r?p`<calcite-icon icon=view-hide scale=l title=${this._messages.layerVisibilityOff??x}></calcite-icon>`:i;return p`<span class=${y(n.value)}>${d}</span>`}renderValuePlaceholder(){return p`<span class=${y(n.valuePlaceholder)}></span>`}renderProgress(){let t=`${T}calcite-`;return w(`${t}progress`,p`<calcite-progress type=indeterminate></calcite-progress>`)}renderLoader(){let t=`${T}calcite-`,e=this._messages.loading;return w(`${t}loader`,p`<calcite-loader .label=${e??""} .text=${e} scale=m></calcite-loader>`)}};S("instant-apps-scoreboard",I);return I},"core/reactiveUtils","intl","core/Collection","core/Handles")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as y}from"./BM666UZR.js";import{b as _}from"./E3C3HXK2.js";import{a as m}from"./FV3ILJ4J.js";import"./ANJGKFNJ.js";import"./S3TMLXGP.js";import{b as g}from"./4F57JHMM.js";import{E as l,F as p,G as d,I as o,h as r,i as c,q as s,t as n}from"./3ITZDI72.js";import"./QPIMTXPL.js";export default $arcgis.t(([u])=>{var k=r`@layer{:host{display:block}.border{outline:1px solid var(--calcite-color-border-input)}.border-left{border-left:1px solid rgba(110,110,110,.3)}.border-left[dir=rtl]{border-right:1px solid rgba(110,110,110,.3)}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff;--esri-widget-padding-v: 12px;--esri-widget-padding-h: 15px;--esri-widget-padding: var(--esri-widget-padding-v) var(--esri-widget-padding-h)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row wrap;padding:0;justify-content:flex-start!important}.esri-sketch__section{align-items:center;display:flex;flex-flow:row wrap;padding:0 7px;margin:6px 0}.esri-responsive-toolbar__bar--horizontal{--calcite-action-group-border-color: var(--calcite-color-border-3) !important}}`,h=class extends d{constructor(){super(...arguments),this.active=!1,this.drawMode="SKETCH",this.editGraphicsEnabled=!0,this.graphics=[],this.redoEnabled=!1,this.undoEnabled=!1,this._translations=m({name:"map-draw-tools",blocking:!0}),this._pnContextConsumer=_({context:y,subscribe:!0}),this._sketchComponent=l(),this._forceCreate=!1,this.selectionLoadingChange=s(),this.sketchGraphicsChange=s(),this.drawUndo=s(),this.drawRedo=s(),this._onSketchReady=async()=>{await new Promise(e=>setTimeout(e,50)),this._sketchComponent.value?.getElementsByTagName("calcite-popover")[0]?.setAttribute("placement","auto")},this._onSketchCreate=e=>{let t=e.detail;t.state==="complete"&&(this.graphics=t.graphic?[t.graphic]:[],this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1}),this.drawMode==="REFINE"&&(this._forceCreate=!0,this._sketchComponent.value?.create(t.tool))),t.state==="cancel"&&this.drawMode==="REFINE"&&this._forceCreate&&(this._forceCreate=!this._forceCreate,this._sketchComponent.value?.create(t.tool))},this._onSketchUpdate=e=>{if(!this.editGraphicsEnabled){this._sketchComponent.value?.cancel();return}let t=e.detail,i=t.toolEventInfo?.type;(t.state==="active"&&i==="update"||i==="move"||i==="reshape-stop"||i==="move-stop")&&(clearTimeout(this._debounceTimer),this._debounceTimer=window.setTimeout(()=>{this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},1e3))},this._onSketchDelete=()=>{this.graphics=[],this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},this._onSketchUndo=e=>{if(this._sketchComponent.value?.state==="active")return;let t=e.detail;this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},this._onSketchRedo=e=>{if(this._sketchComponent.value?.state==="active")return;let t=e.detail;t.graphics[0].geometry&&(this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1}))}}static{this.properties={active:5,drawMode:1,editGraphicsEnabled:5,graphics:0,mapView:0,pointSymbol:0,polylineSymbol:0,polygonSymbol:0,redoEnabled:5,undoEnabled:5,_translations:16,_selectionMode:16}}static{this.styles=k}static{this.shadowRootOptions=n}willUpdate(e){e.has("graphics")&&this.graphicsWatchHandler(this.graphics,e.get("graphics")),e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView,e.get("mapView"))}graphicsWatchHandler(e,t){e&&e.length>0&&JSON.stringify(e)!==JSON.stringify(t)&&this._sketchGraphicsLayer&&(this._updateGraphicsSymbols(e),this._sketchGraphicsLayer.removeAll(),this._sketchGraphicsLayer.addMany(e))}mapViewWatchHandler(e,t){e&&e!==t&&this._init()}async clear(){this._clearSketch()}async updateGraphics(){this._updateGraphics()}loaded(){this._init()}disconnectedCallback(){super.disconnectedCallback(),this._sketchComponent.value?.cancel(),this._clearSketch()}render(){let e=this.drawMode==="SKETCH"?"border":"border esri-widget esri-sketch__panel",t=this.drawMode==="SKETCH"?"display-none":"esri-widget esri-sketch__panel border-left esri-sketch__section";return c`<div class=${o(e)}><arcgis-sketch @arcgisReady=${this._onSketchReady} @arcgisCreate=${this._onSketchCreate} @arcgisUpdate=${this._onSketchUpdate} @arcgisDelete=${this._onSketchDelete} @arcgisUndo=${this._onSketchUndo} @arcgisRedo=${this._onSketchRedo} use-legacy-create-tools ${p(this._sketchComponent)}></arcgis-sketch><div class=${o(t)}><calcite-action .disabled=${!this.undoEnabled} icon=undo @click=${()=>this._undo()} scale=s .text=${this._translations.undo}></calcite-action><calcite-action .disabled=${!this.redoEnabled} icon=redo @click=${()=>this._redo()} scale=s .text=${this._translations.redo}></calcite-action></div></div>`}_init(){this.mapView&&(this._initGraphicsLayer(),this._initSketch())}_initGraphicsLayer(){let e=this._pnContextConsumer.value,t=this._translations.sketchLayer;if(this.mapView){let i=this.mapView.map.layers.findIndex(a=>a.title===t);i>-1?this._sketchGraphicsLayer=this.mapView.map.layers.getItemAt(i):(this._sketchGraphicsLayer=new u({title:t,listMode:"hide"}),this._sketchGraphicsLayer&&(e.managedLayers[t]="sketch",this.mapView.map.layers.add(this._sketchGraphicsLayer))),this.graphics&&this.graphics.length>0&&this._sketchGraphicsLayer&&this._sketchGraphicsLayer.addMany(this.graphics)}}_initSketch(){let e=this._sketchComponent.value;e&&(e.view=this.mapView,e.layer=this._sketchGraphicsLayer,e.creationMode="single",e.toolbarKind="docked",e.defaultCreateOptions={mode:"hybrid"},e.defaultUpdateOptions={preserveAspectRatio:!1,enableScaling:!1,enableRotation:!1,tool:"reshape",toggleToolOnClick:!1},e.hideDuplicateButton=!0,e.hideSelectionToolsLassoSelection=!0,e.hideSelectionToolsRectangleSelection=!0,e.hideCreateToolsCircle=!0,e.hideUndoRedoMenu=!0,e.hideSettingsMenu=this.drawMode!=="SKETCH",this.pointSymbol?e.pointSymbol=this.pointSymbol:this.polylineSymbol?e.polylineSymbol=this.polylineSymbol:this.polygonSymbol&&(e.polygonSymbol=this.polygonSymbol))}_clearSketch(){this._sketchComponent.value?.cancel(),this.graphics=[],this._sketchGraphicsLayer?.removeAll()}_undo(){this.drawUndo.emit()}_redo(){this.drawRedo.emit()}_updateGraphics(){setTimeout(()=>{this.graphics.length===1&&this.graphics[0].geometry&&this._sketchComponent.value&&this._sketchComponent.value.triggerUpdate(this.graphics)},100)}_updateGraphicsSymbols(e){let t=e[0]?.geometry?.type,i=t==="point"?this.pointSymbol:t==="polyline"?this.polylineSymbol:t==="polygon"?this.polygonSymbol:void 0;i&&e.forEach(a=>a.symbol=i)}};g("map-draw-tools",h);return h},"layers/GraphicsLayer")
2
+ import{a as y}from"./BM666UZR.js";import{b as _}from"./I2NTSKBD.js";import{a as m}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{b as g}from"./2I5LGZNX.js";import{E as l,F as p,G as d,I as o,h as r,i as c,q as s,t as n}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([u])=>{var k=r`@layer{:host{display:block}.border{outline:1px solid var(--calcite-color-border-input)}.border-left{border-left:1px solid rgba(110,110,110,.3)}.border-left[dir=rtl]{border-right:1px solid rgba(110,110,110,.3)}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff;--esri-widget-padding-v: 12px;--esri-widget-padding-h: 15px;--esri-widget-padding: var(--esri-widget-padding-v) var(--esri-widget-padding-h)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row wrap;padding:0;justify-content:flex-start!important}.esri-sketch__section{align-items:center;display:flex;flex-flow:row wrap;padding:0 7px;margin:6px 0}.esri-responsive-toolbar__bar--horizontal{--calcite-action-group-border-color: var(--calcite-color-border-3) !important}}`,h=class extends d{constructor(){super(...arguments),this.active=!1,this.drawMode="SKETCH",this.editGraphicsEnabled=!0,this.graphics=[],this.redoEnabled=!1,this.undoEnabled=!1,this._translations=m({name:"map-draw-tools",blocking:!0}),this._pnContextConsumer=_({context:y,subscribe:!0}),this._sketchComponent=l(),this._forceCreate=!1,this.selectionLoadingChange=s(),this.sketchGraphicsChange=s(),this.drawUndo=s(),this.drawRedo=s(),this._onSketchReady=async()=>{await new Promise(e=>setTimeout(e,50)),this._sketchComponent.value?.getElementsByTagName("calcite-popover")[0]?.setAttribute("placement","auto")},this._onSketchCreate=e=>{let t=e.detail;t.state==="complete"&&(this.graphics=t.graphic?[t.graphic]:[],this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1}),this.drawMode==="REFINE"&&(this._forceCreate=!0,this._sketchComponent.value?.create(t.tool))),t.state==="cancel"&&this.drawMode==="REFINE"&&this._forceCreate&&(this._forceCreate=!this._forceCreate,this._sketchComponent.value?.create(t.tool))},this._onSketchUpdate=e=>{if(!this.editGraphicsEnabled){this._sketchComponent.value?.cancel();return}let t=e.detail,i=t.toolEventInfo?.type;(t.state==="active"&&i==="update"||i==="move"||i==="reshape-stop"||i==="move-stop")&&(clearTimeout(this._debounceTimer),this._debounceTimer=window.setTimeout(()=>{this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},1e3))},this._onSketchDelete=()=>{this.graphics=[],this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},this._onSketchUndo=e=>{if(this._sketchComponent.value?.state==="active")return;let t=e.detail;this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1})},this._onSketchRedo=e=>{if(this._sketchComponent.value?.state==="active")return;let t=e.detail;t.graphics[0].geometry&&(this.graphics=t.graphics,this.sketchGraphicsChange.emit({graphics:this.graphics,useOIDs:!1}))}}static{this.properties={active:5,drawMode:1,editGraphicsEnabled:5,graphics:0,mapView:0,pointSymbol:0,polylineSymbol:0,polygonSymbol:0,redoEnabled:5,undoEnabled:5,_translations:16,_selectionMode:16}}static{this.styles=k}static{this.shadowRootOptions=n}willUpdate(e){e.has("graphics")&&this.graphicsWatchHandler(this.graphics,e.get("graphics")),e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView,e.get("mapView"))}graphicsWatchHandler(e,t){e&&e.length>0&&JSON.stringify(e)!==JSON.stringify(t)&&this._sketchGraphicsLayer&&(this._updateGraphicsSymbols(e),this._sketchGraphicsLayer.removeAll(),this._sketchGraphicsLayer.addMany(e))}mapViewWatchHandler(e,t){e&&e!==t&&this._init()}async clear(){this._clearSketch()}async updateGraphics(){this._updateGraphics()}loaded(){this._init()}disconnectedCallback(){super.disconnectedCallback(),this._sketchComponent.value?.cancel(),this._clearSketch()}render(){let e=this.drawMode==="SKETCH"?"border":"border esri-widget esri-sketch__panel",t=this.drawMode==="SKETCH"?"display-none":"esri-widget esri-sketch__panel border-left esri-sketch__section";return c`<div class=${o(e)}><arcgis-sketch @arcgisReady=${this._onSketchReady} @arcgisCreate=${this._onSketchCreate} @arcgisUpdate=${this._onSketchUpdate} @arcgisDelete=${this._onSketchDelete} @arcgisUndo=${this._onSketchUndo} @arcgisRedo=${this._onSketchRedo} use-legacy-create-tools ${p(this._sketchComponent)}></arcgis-sketch><div class=${o(t)}><calcite-action .disabled=${!this.undoEnabled} icon=undo @click=${()=>this._undo()} scale=s .text=${this._translations.undo}></calcite-action><calcite-action .disabled=${!this.redoEnabled} icon=redo @click=${()=>this._redo()} scale=s .text=${this._translations.redo}></calcite-action></div></div>`}_init(){this.mapView&&(this._initGraphicsLayer(),this._initSketch())}_initGraphicsLayer(){let e=this._pnContextConsumer.value,t=this._translations.sketchLayer;if(this.mapView){let i=this.mapView.map.layers.findIndex(a=>a.title===t);i>-1?this._sketchGraphicsLayer=this.mapView.map.layers.getItemAt(i):(this._sketchGraphicsLayer=new u({title:t,listMode:"hide"}),this._sketchGraphicsLayer&&(e.managedLayers[t]="sketch",this.mapView.map.layers.add(this._sketchGraphicsLayer))),this.graphics&&this.graphics.length>0&&this._sketchGraphicsLayer&&this._sketchGraphicsLayer.addMany(this.graphics)}}_initSketch(){let e=this._sketchComponent.value;e&&(e.view=this.mapView,e.layer=this._sketchGraphicsLayer,e.creationMode="single",e.toolbarKind="docked",e.defaultCreateOptions={mode:"hybrid"},e.defaultUpdateOptions={preserveAspectRatio:!1,enableScaling:!1,enableRotation:!1,tool:"reshape",toggleToolOnClick:!1},e.hideDuplicateButton=!0,e.hideSelectionToolsLassoSelection=!0,e.hideSelectionToolsRectangleSelection=!0,e.hideCreateToolsCircle=!0,e.hideUndoRedoMenu=!0,e.hideSettingsMenu=this.drawMode!=="SKETCH",this.pointSymbol?e.pointSymbol=this.pointSymbol:this.polylineSymbol?e.polylineSymbol=this.polylineSymbol:this.polygonSymbol&&(e.polygonSymbol=this.polygonSymbol))}_clearSketch(){this._sketchComponent.value?.cancel(),this.graphics=[],this._sketchGraphicsLayer?.removeAll()}_undo(){this.drawUndo.emit()}_redo(){this.drawRedo.emit()}_updateGraphics(){setTimeout(()=>{this.graphics.length===1&&this.graphics[0].geometry&&this._sketchComponent.value&&this._sketchComponent.value.triggerUpdate(this.graphics)},100)}_updateGraphicsSymbols(e){let t=e[0]?.geometry?.type,i=t==="point"?this.pointSymbol:t==="polyline"?this.polylineSymbol:t==="polygon"?this.polygonSymbol:void 0;i&&e.forEach(a=>a.symbol=i)}};g("map-draw-tools",h);return h},"layers/GraphicsLayer")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import d from"./YOO4OQMD.js";import{a as ee}from"./BM666UZR.js";import c from"./3JVQG3QA.js";import"./US5FON7D.js";import"./VVZAS55G.js";import{a as W}from"./E3C3HXK2.js";import"./A4RZESK7.js";import b from"./2C4DK6YC.js";import a from"./WV7QX3ED.js";import{a as z}from"./FV3ILJ4J.js";import"./ANJGKFNJ.js";import"./S3TMLXGP.js";import"./TEHBW75B.js";import"./YFXSWGXE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./JBNWEBAG.js";import"./5HZMUGQD.js";import"./5VDDAINK.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./N2KSPEVT.js";import"./GF4QELNV.js";import"./XQQ52NKX.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as B,c as J}from"./4F57JHMM.js";import{E as f,F as u,G as j,I as x,J as H,h as M,i as l,l as T,q as A,r as G,t as U}from"./3ITZDI72.js";import"./QPIMTXPL.js";export default $arcgis.t(([le,ne,re,te,L,O,,{g:q,j:X},{a:Y,d:Q,e:K,f:Z}])=>{var ce=M`@layer{:host{display:block;--calcite-input-message-spacing-value: 0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-2{width:50%}.w-1-3{width:33.33%}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-bottom-0{padding-bottom:0!important}.padding-inline-start-0{padding-inline-start:0!important}.padding-top-sides-1{padding-block-start:1rem;padding-inline-start:1rem;padding-inline-end:1rem}.padding-block-start-1{padding-block-start:1rem}.padding-sides-1{padding-inline-start:1rem;padding-inline-end:1rem}.padding-top-1-2{padding-block-start:.5rem!important}.padding-top-1{padding-top:1rem}.indent-group{border-inline-start:1px solid var(--calcite-color-border-2);margin-bottom:.5rem;padding-inline-start:1rem;margin-inline-start:.5rem}.margin-bottom-0-5{margin-bottom:.5rem}.margin-top-0-5{margin-top:.5rem!important}.instructional-text{line-height:1;padding:0!important;margin:0;color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--2)}.info-blue{color:var(--calcite-color-status-info)}.info-message{justify-content:center;display:grid}.font-bold{font-weight:700}.header-label{font-weight:700;font-size:var(--calcite-font-size-0)}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-start-1-2{padding-inline-start:.5rem}.list-border{border:1px solid var(--calcite-color-border-2)}.margin-sides-1{margin-inline-start:1rem;margin-inline-end:1rem}.margin-start-1-2{margin-inline-start:.5rem}.margin-top-0{margin-block-start:0!important}.margin-top-1{margin-top:1rem!important}.label-margin-0{--calcite-label-margin-bottom: 0}.list-label{color:var(--calcite-color-text-1);font-weight:var(--calcite-font-weight-bold)!important}.list-label,.list-description{font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.list-description{margin-block-start:.125rem;color:var(--calcite-color-text-3)}.img-container{width:100%;height:100%}.font-weight-500{font-weight:500}.background-override{height:100%;width:100%;--calcite-color-surface-4: var(--calcite-color-brand);--calcite-color-surface-3: var(--calcite-color-brand-hover);--calcite-color-text-1: var(--calcite-color-text-inverse);--calcite-action-background-color-hover: var(--calcite-color-brand-hover)}.padding-bottom-1{padding-bottom:1rem}.word-wrap-anywhere{word-wrap:anywhere}.list-container{padding:0 1rem 1rem}.list-items{align-items:center;background-color:#fff;box-shadow:0 1px 3px #0000001a;font-family:sans-serif;padding:12px 16px}.list-item{display:flex;align-items:center;justify-content:space-between}.item-label{color:#4a4a4a;font-size:16px}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}calcite-segmented-control{--calcite-segmented-control-border-color: var(--calcite-color-border-2)}calcite-segmented-control-item{--calcite-segmented-control-color: var(--calcite-color-text-3)}calcite-segmented-control-item[checked]{--calcite-segmented-control-border-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-background-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-color: var(--calcite-color-text-highlight)}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,R=class extends G{constructor(){super(),this.managedLayers={},this.managedTables=[],this.highlightHandles=[]}removeHandles(){this.highlightHandles.forEach(e=>{e?.remove()}),this.highlightHandles=[]}},D=class extends j{constructor(){super(),this.addresseeLayerIds=[],this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.customExport=!1,this.customExportURL="",this.defaultBufferDistance=0,this.defaultBufferUnit="feet",this.defaultExportTitle="",this.defaultNumLabelsPerPage=6,this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.featureHighlightEnabled=!1,this.noResultText="",this.initialNotice="",this.selectionLayerIds=[],this.showRefineSelection=!1,this.showSearchSettings=!0,this._exportGraphics=!1,this._addMap=!1,this._addResults=!0,this._addTitle=!1,this._downloadActive=!0,this._exportType="PDF",this._fetchingData=!1,this._isMobile=!1,this._numDuplicates=0,this._pageType="LIST",this._saveEnabled=!1,this._selectionSets=[],this._segmentType="STANDARD",this._selectedReportingLayerId="",this._isInitialLoading=!0,this._layoutTemplates=[],this._translations=z({name:"public-notification",blocking:!0}),this._downloadTools=f(),this.layoutTemplateSelectRef=f(),this.reportTemplateSelectRef=f(),this._onboardingImageUrl="",this._popupsEnabled=!1,this._removeDuplicates=f(),this._selectTools=f(),this._refineSelection=f(),this._titleElement=f(),this._titleValue=void 0,this._numSelected=0,this._pnStateContextProvider=W({context:ee}),this._refineGraphics=[],this._reportTemplates=[],this._reportTemplatesInfo=[],this.searchConfigurationChange=A(),this.listenOn(window,"selectionSetsChanged",this.selectionSetsChanged),this._pnState=new R,this._pnStateContextProvider.setValue(this._pnState)}static{this.properties={addresseeLayerIds:0,bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,customExport:5,customExportURL:1,defaultBufferDistance:9,defaultBufferUnit:1,defaultExportTitle:1,defaultNumLabelsPerPage:9,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,featureEffect:0,featureHighlightEnabled:5,mapView:0,noResultText:1,initialNotice:1,searchConfiguration:0,selectionLayerIds:0,showRefineSelection:5,showSearchSettings:5,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,_exportGraphics:16,_addMap:16,_addResults:16,_addTitle:16,_downloadActive:16,_exportType:16,_fetchingData:16,_isMobile:16,_numDuplicates:16,_pageType:16,_saveEnabled:16,_selectionSets:16,_segmentType:16,_selectedReportingLayerId:16,_isInitialLoading:16,_layoutTemplates:16,_translations:16}}static{this.styles=ce}static{this.shadowRootOptions=U}willUpdate(e){e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("sketchLineSymbol")&&this.sketchLineSymbolWatchHandler(this.sketchLineSymbol,e.get("sketchLineSymbol")),e.has("sketchPointSymbol")&&this.sketchPointSymbolWatchHandler(this.sketchPointSymbol,e.get("sketchPointSymbol")),e.has("sketchPolygonSymbol")&&this.sketchPolygonSymbolWatchHandler(this.sketchPolygonSymbol,e.get("sketchPolygonSymbol")),e.has("_pageType")&&(this.hasUpdated||this._pageType!=="LIST")&&this.pageTypeWatchHandler(this._pageType,e.get("_pageType")),(e.has("customExport")||e.has("customExportURL"))&&this.hasUpdated&&this._setTemplates()}async mapViewWatchHandler(e){e?.popup&&(this._popupsEnabled=e?.popupEnabled),this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration)}async watchSearchConfigurationHandler(e,t){let i=JSON.stringify(e);this.mapView&&(i!==JSON.stringify(t)||i&&!this._searchConfiguration)&&(this._searchConfiguration=JSON.parse(i),this._searchConfiguration&&this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}async sketchLineSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setLineSymbol(e)}async sketchPointSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPointSymbol(e)}async sketchPolygonSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPolygonSymbol(e)}async pageTypeWatchHandler(e,t){if(this._checkPopups(),this.mapView?.popup&&(this.mapView.popupEnabled=e!=="LIST"?!1:this._popupsEnabled),e==="EXPORT"&&(this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._updateExportGraphics(),this._fetchingData=!1),this._clearHighlight(),(t==="SELECT"||t==="REFINE")&&await this._clearSelection(),t==="EXPORT"&&this._removeExportGraphics(),e!=="SELECT")return this._highlightFeatures()}selectionSetsChanged(e){this._selectionSets=[...e.detail]}connectedCallback(){super.connectedCallback(),this._mediaQuery=window.matchMedia("(max-width: 600px)"),this.listenOn(this._mediaQuery,"change",e=>this._setIsMobile(e))}async load(){this._initSymbols(),this._onboardingImageUrl=J("assets/public-notification/images/onboarding.png")}render(){let e=this._isMobile?"footer":"header";return l`<calcite-shell>${this._isInitialLoading?l`<calcite-loader label></calcite-loader>`:l`<calcite-action-bar class="border-bottom-1 action-bar-size" expand-disabled layout=horizontal slot=${e??T}>${this._getActionGroup("list-check","LIST",this._translations.myLists)}${this.showRefineSelection?this._getActionGroup("test-data","REFINE",this._translations.refineSelection):null}${this._getActionGroup("export","EXPORT",this._translations.export)}</calcite-action-bar>${this._getPage(this._pageType)}`}</calcite-shell>`}async loaded(){this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration),this.customExport&&this.customExportURL&&await this._setTemplates(),this._isInitialLoading=!1}_initSearchConfiguration(e){this.searchConfiguration&&!this._searchConfiguration&&this.mapView&&(this._searchConfiguration=e,this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}_initSymbols(){this._setLineSymbol(this.sketchLineSymbol),this._setPointSymbol(this.sketchPointSymbol),this._setPolygonSymbol(this.sketchPolygonSymbol)}_setLineSymbol(e){let t=e?.type==="simple-line";this.sketchLineSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSLS",color:[130,130,130,255],width:2,style:"esriSLSSolid"})}_setPointSymbol(e){let t=e?.type==="simple-marker";this.sketchPointSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSMS",color:[255,255,255,255],angle:0,xoffset:0,yoffset:0,size:6,style:"esriSMSCircle",outline:{type:"esriSLS",color:[50,50,50,255],width:1,style:"esriSLSSolid"}})}_setPolygonSymbol(e){let t=e?.type==="simple-fill";this.sketchPolygonSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSFS",color:[150,150,150,51],outline:{type:"esriSLS",color:[50,50,50,255],width:2,style:"esriSLSSolid"},style:"esriSFSSolid"})}_setIsMobile(e){this._isMobile=e.matches}_getActionGroup(e,t,i){let s=this.showRefineSelection?"w-1-3":"w-1-2";return l`<calcite-action-group class=${x(s)} layout=horizontal><div class="background-override"><calcite-action .active=${this._pageType===t} alignment=center class="width-full height-full" .icon=${e} id=${e??T} @click=${()=>{this._setPageType(t)}} style=${H(this._pageType===t?"background-color: var(--calcite-color-brand)":"")} .text=${i}></calcite-action></div><calcite-tooltip placement=bottom .referenceElement=${e}><span>${i}</span></calcite-tooltip></calcite-action-group>`}_setPageType(e){this._pageType=e}_getPage(e){let t;switch(e){case"LIST":t=this._getListPage();break;case"SELECT":t=this._getSelectPage();break;case"EXPORT":t=this._getExportPage();break;case"REFINE":t=this._getRefinePage();break}return t}_getListPage(){let e=this._hasSelections(),t=e?this._translations.listHasSetsTip:this.initialNotice!==""?this.initialNotice:this._translations.selectLayerAndAdd;return l`<calcite-panel>${this._getLabel(this._translations.myLists,!1,"header-label")}${this._getNotice(t||"","padding-sides-1 padding-bottom-1","word-wrap-anywhere")}${e?this._getSelectionSetList():this._getOnboardingImage()}<div class="display-flex padding-1"><calcite-button @click=${()=>{this._setPageType("SELECT")}} width=full><span class="font-weight-500">${this._translations.add}</span></calcite-button></div></calcite-panel>`}_getOnboardingImage(){return l`<div class="display-flex padding-sides-1"><img alt aria-hidden=true class="img-container" src=${this._onboardingImageUrl??T}></div>`}_getSelectionSetList(){return l`<div class="padding-bottom-1-2"><calcite-list class="list-border margin-sides-1" label>${this._selectionSets.reduce((e,t,i)=>{let s=this._getSelectionSetIds(t),a=!0;return t.workflowType==="REFINE"&&(a=Object.keys(t.refineInfos).reduce((o,h)=>{let c=t.refineInfos[h];return o+=c.addIds.length+c.removeIds.length,o},0)>0),a&&e.push(l`<calcite-list-item .label=${t.label} @click=${()=>this.mapView&&this._gotoSelection(t,this.mapView)}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t?.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",s.length.toString())}</div></div>${this._getAction(!0,"pencil","",o=>this._openSelection(t,o),!1,"actions-end")}${this._getAction(!0,"x","",o=>this._deleteSelection(i,o),!1,"actions-end")}</calcite-list-item>`),e},[])}</calcite-list></div>`}_getSelectionSetIds(e){return e.workflowType!=="REFINE"?e.selectedIds:Object.keys(e.refineInfos).reduce((t,i)=>[...t,...e.refineInfos[i].addIds],[])}_hasSelections(e=!1){let t=[],i=this._selectionSets.some(s=>s.workflowType==="REFINE"?(t=this._getSelectionSetIds(s),!0):!1);return e&&i?t.length>0||this._selectionSets.length>1:this._selectionSets.length>0}async _getNumDuplicates(){let e=this._getExportInfos(),t=this.mapView?.map&&await Y(this.mapView.map,e),i=t&&Q(t);return t&&i?t.length-i.length:0}_getExportInfos(){return this._selectionSets.reduce((e,t)=>{if(t.download)if(t.workflowType!=="REFINE"&&t?.layerView){let i=t.layerView.layer.id;i!==void 0&&this._updateIds(i,t.layerView,t.selectedIds,e)}else Object.keys(t.refineInfos).forEach(i=>{let s=t.refineInfos[i];s.addIds.length>0&&this._updateIds(i,s.layerView,s.addIds,e)});return e},{})}_updateIds(e,t,i,s){return s[e]?s[e].ids=s[e].ids.concat(i):s[e]={layerView:t,ids:i},s}_getSelectPage(){let e=this._translations.selectSearchTip;return l`<calcite-panel>${this._getLabel(this._translations?.stepTwoFull,!0,"header-label")}${this._getNotice(e,"padding-1","word-wrap-anywhere")}<div><map-select-tools .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} class="" .customLabelEnabled=${this.customLabelEnabled} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableLayerFeatures=${this.enableLayerFeatures} .enableLayerFeaturesOnLoad=${this.enableLayerFeaturesOnLoad} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .enableSketchTools=${this.enableSketchTools} .enabledLayerIds=${this.addresseeLayerIds} header-label-class .isUpdate=${!!this._activeSelection} .mapView=${this.mapView} .noResultText=${this.noResultText} @selectionSetChange=${this._updateForSelection} .searchConfiguration=${this._searchConfiguration} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} .selectionLayerIds=${this.selectionLayerIds} .selectionSet=${this._activeSelection} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .useLayerFeaturesEnabled=${this.enableLayerFeaturesOnLoad} ${u(this._selectTools)}></map-select-tools></div>${this._getPageNavButtons(this._translations.done,this._numSelected===0,()=>{this._saveSelection()},this._translations.cancel,!1,()=>{this._home()})}</calcite-panel>`}_getExportPage(){let e=this._hasSelections(this.showRefineSelection),t=this._numDuplicates>0?"display-block":"display-none",i=this.customExport&&this.customExportURL&&this._layoutTemplates.length;return l`<calcite-panel><div>${this._getLabel(this._translations.export,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.exportTip,"padding-sides-1")}${this._getLabel(this._translations.exportListsLabel,!1,"")}${this._getExportSelectionLists()}<div class=${`padding-sides-1 ${t}`}><div class="display-flex"><calcite-label layout=inline><calcite-checkbox ${u(this._removeDuplicates)}></calcite-checkbox><div class="display-flex">${this._translations.removeDuplicate}<div class="info-message padding-start-1-2"><calcite-input-message class="info-blue margin-top-0" scale=m>${` ${this._translations.numDuplicates.replace("{{n}}",this._numDuplicates.toString())}`}</calcite-input-message></div></div></calcite-label><calcite-icon aria-hidden=true class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=remove-duplicates-icon scale=s></calcite-icon></div><calcite-popover closable label overlay-positioning=fixed reference-element=remove-duplicates-icon><span class="tooltip-message">${this._translations.duplicatesTip}</span></calcite-popover></div><div class="border-bottom"></div><div class="segmented-controls padding-top-sides-1">${this._getLabel(this._translations.exportOptions,!0,"","margin-bottom-0-5")}${this._getSegmentedControls()}</div>${i?this._getCustomPrintOptions():l`<div class="padding-1 padding-bottom-0">${this._getExportOptions()}</div>`}<div class="padding-1 display-flex"><calcite-button .disabled=${!this._downloadActive||this._fetchingData||!this._addMap&&!this._addResults} .loading=${this._fetchingData} @click=${()=>this._segmentType==="CUSTOM"?this._customExport():void this._standardExport()} width=full><span class="font-weight-500">${this._translations.export}</span></calcite-button></div></div>`:this._getNotice(this._translations.downloadNoLists,"padding-sides-1 padding-bottom-1")}</div></calcite-panel>`}_customExport(){if(!this.mapView)return;let e=this.layoutTemplateSelectRef.value?this.layoutTemplateSelectRef.value.selectedOption.value:"",t=this.reportTemplateSelectRef.value?this.reportTemplateSelectRef.value.selectedOption.value:"";this._fetchingData=!0;let i=this._reportTemplatesInfo.find(c=>c.reportTemplate===t),s=i?{...i.reportOptions}:{},a=this._selectedReportingLayerId;s?.reportSectionOverrides&&Object.keys(s.reportSectionOverrides).forEach(c=>{s.reportSectionOverrides[c].sourceId=a});let o=new ne({layout:e,report:t,format:"pdf",layoutOptions:{titleText:this._titleElement.value?.value},reportOptions:s}),h=new re({view:this.mapView,template:o});te.execute(this.customExportURL,h).then(c=>{let g=this._titleValue;if(!g){let d=this._getSelectionIdsAndViews(this._selectionSets,!0),m=Z(d);g=K(m)}c.url&&g&&this._downloadCustomPDF(c.url,g),this._fetchingData=!1}).catch(c=>{this._fetchingData=!1,console.error(c)})}async _downloadCustomPDF(e,t){try{let i=await fetch(e);if(!i.ok)throw new Error(`Failed to fetch PDF: ${i.statusText}`);let s=await i.blob(),a=window.URL.createObjectURL(s),o=document.createElement("a");o.href=a,o.download=t||"download.pdf";let h=document.getElementById("custom-export-div");h&&(h.appendChild(o),o.click(),window.URL.revokeObjectURL(a),h.removeChild(o))}catch(i){console.error("Download failed:",i)}}_exportTypeChange(e){this._exportType=e.target.value}_segmentTypeChange(e){this._titleValue="",this._segmentType=e.target.value}_getSegmentedControls(){return this.customExport&&this.customExportURL&&this._layoutTemplates.length?this._getStandardAndCustomSegmentedControl():this._getPDFAndCSVSementedControl()}_getPDFAndCSVSementedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._exportTypeChange} width=full><calcite-segmented-control-item .checked=${this._exportType==="PDF"} class="w-50 end-border" .iconStart=${this._exportType==="PDF"?"check":void 0} value=PDF><span class="font-weight-500">${this._translations.pdf}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._exportType==="CSV"} class="w-50" .iconStart=${this._exportType==="CSV"?"check":void 0} value=CSV><span class="font-weight-500">${this._translations.csv}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getStandardAndCustomSegmentedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._segmentTypeChange} width=full><calcite-segmented-control-item .checked=${this._segmentType==="STANDARD"} class="w-50 end-border" .iconStart=${this._segmentType==="STANDARD"?"check":void 0} value=STANDARD><span class="font-weight-500">${this._translations.standard}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._segmentType==="CUSTOM"} class="w-50" .iconStart=${this._segmentType==="CUSTOM"?"check":void 0} value=CUSTOM><span class="font-weight-500">${this._translations.custom}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getCustomPrintOptions(){return this._segmentType==="STANDARD"?this._getStandardExportOptions():this._getCustomExportOptions()}_getStandardExportOptions(){return l`<div class="padding-1 padding-bottom-0"><calcite-label layout=inline alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="PDF"} scale=m value=PDF @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.pdf}</calcite-label><div class=indent-group>${this._getExportOptions()}</div><calcite-label layout=inline class="margin-top-1" alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="CSV"} scale=m value=CSV @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.csv}</calcite-label></div>`}_getCustomExportOptions(){let e=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",t=[],i=this._getSelectionIdsAndViews(this._selectionSets,!0);return Object.keys(i).forEach(s=>{i[s].ids.length&&t.push(s)}),l`<div id=custom-export-div class="padding-top-sides-1"><p class="instructional-text">${this._translations.formattingTip}</p>${t.length>1&&l`<p class="instructional-text margin-top-0-5">${this._translations.selectMatchingInputLayersLabel}</p>`||""}<div class=${"margin-top-1"}>${this._getLabel(this._translations.title,!0,"","none")}<calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${e} ${u(this._titleElement)}></calcite-input-text></div><div class=${"margin-top-1"}>${this._getLabel(this._translations.layoutTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${u(this.layoutTemplateSelectRef)}>${this._layoutTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select>${this._reportTemplates?.length&&l`<div class=${"margin-top-1"}>${this._getLabel(this._translations.reportTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${u(this.reportTemplateSelectRef)}>${this._reportTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select><div class=${"padding-top-sides-1 padding-inline-start-0 display-flex margin-bottom-0-5"}><calcite-label class="label-margin-0" layout=inline>${this._translations.reportLayer}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=information id=filter-message-info scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=filter-message-info><span class="tooltip-message">${this._translations.sourceLayerWarning}</span></calcite-popover></div><map-layer-picker .disabled=${t.length<=1} .enabledLayerIds=${t} .mapView=${this.mapView} @layerSelectionChange=${s=>{this._selectedReportingLayerId=s.detail[0]}} .selectedIds=${[this._selectedReportingLayerId]}></map-layer-picker>`||""}</div>`}async _setTemplates(){if(!this.customExportURL||!this.customExport){this.resetCustomExport();return}let e=this.customExportURL,t=`${e.split("/GPServer")?.[0]}/GPServer`;try{let i=await this.getTasksInfo(t),s="",a=i.tasks?.map(async d=>{await this.getTaskType(d,t)==="GetReportTemplatesInfo"&&(s=`${t}/${d}`)});a&&await Promise.all(a),s&&i.executionType&&await this._fetchReportTemplates(s,i.executionType);let o=(await O(e,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data,h=o.parameters.find(d=>d.name==="Layout_Template"&&Array.isArray(d.choiceList)),c=o.parameters.find(d=>d.name==="Report_Template"&&Array.isArray(d.choiceList));this._layoutTemplates=h?h.choiceList:[];let g=c?c.choiceList:[];this._reportTemplates=this._reportTemplatesInfo.length?g.filter(d=>this._reportTemplatesInfo.some(m=>m.reportTemplate===d)):[]}catch(i){this.resetCustomExport(),console.error(i)}}resetCustomExport(){this._layoutTemplates=[],this._reportTemplates=[],this._segmentType="STANDARD"}async getTaskType(e,t){if(!e||!t)return Promise.resolve("");let i=`${t}/${e}`;try{let s=(await O(i,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data?.name||"";return Promise.resolve(s)}catch(s){return console.error(s),Promise.resolve("")}}async getTasksInfo(e){if(!e)return Promise.resolve({});let t=`${e}?f=json`,i={authMode:"auto",responseType:"json",query:{f:"json"}};try{let s=(await O(t,i))?.data,a=s?.tasks,o=s?.executionType==="esriExecutionTypeSynchronous"?"execute":"submitJob";return{tasks:a,supportedOperations:o,executionType:s?.executionType}}catch(s){return this.resetCustomExport(),console.error(s),{}}}async _fetchReportTemplates(e,t){if(e)try{if(t==="esriExecutionTypeSynchronous"){let i=(await L.execute(e,{}))?.results?.find(s=>s.paramName==="Output_JSON");this._reportTemplatesInfo=i?.value??[]}else{let i=await L.submitJob(e,{});await i.waitForJobCompletion();let s=await i.fetchResultData("Output_JSON");this._reportTemplatesInfo=s?.value??[]}this._reportTemplatesInfo=this._reportTemplatesInfo.filter(i=>{let s=i.reportOptions;if(s?.reportSectionOverrides){let a=0;return Object.keys(s.reportSectionOverrides).forEach(o=>{s.reportSectionOverrides[o].hasOwnProperty("sourceId")&&a++}),a<=1}else return!0})}catch(i){console.error("Failed to fetch report templates:",i)}}_getExportOptions(){let e=this._exportType==="PDF"?"display-block":"display-none",t=this._addTitle?"display-block":"display-none",i=this._addMap?"display-flex":"display-none",s=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",a=this._addResults?"":"display-none";return l`<div class=${x(e)}><p class="instructional-text">${this._translations.selectContentTip}</p><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addResults} @calciteCheckboxChange=${()=>this._addResults=!this._addResults}></calcite-checkbox>${this._translations.addResults}</calcite-label></div><div class=${`indent-group margin-top-1 ${a}`}><div class="margin-bottom-0-5"><calcite-label class="label-margin-0">${this._translations.selectPDFLabelOption}</calcite-label></div><div><pdf-download .defaultNumLabelsPerPage=${Number.parseInt(this.defaultNumLabelsPerPage.toString(),10)} .disabled=${!this._downloadActive} ${u(this._downloadTools)}></pdf-download></div></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addTitle} @calciteCheckboxChange=${()=>this._addTitle=!this._addTitle}></calcite-checkbox>${this._translations.title}</calcite-label></div><div class=${`${t} indent-group margin-top-0-5`}><calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${s} ${u(this._titleElement)}></calcite-input-text></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addMap} @calciteCheckboxChange=${()=>this._handleAddMapChange()}></calcite-checkbox>${this._translations.includeMap}</calcite-label></div><div class=${`padding-top-sides-1 padding-inline-start-0 ${i}`}><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._exportGraphics} @calciteCheckboxChange=${()=>this._handleExportGraphicsChange()}></calcite-checkbox>${this._translations.listGraphics}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=list-graphics-icon scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=list-graphics-icon><span class="tooltip-message">${this._translations.listGraphicsTip}</span></calcite-popover></div></div>`}_handleAddMapChange(){this._addMap=!this._addMap,this._updateExportGraphics()}_handleExportGraphicsChange(){this._exportGraphics=!this._exportGraphics,this._updateExportGraphics()}_getManagedLayer(e){let t,i=this._pnStateContextProvider.value;return Object.keys(i.managedLayers).some(s=>{let a=this.mapView?.map.layers.findIndex(o=>o.title===s);return i.managedLayers[s]===e&&a!==void 0?(t=this.mapView?.map.layers.getItemAt(a),!0):!1}),t}_updateExportGraphics(e=!1){(e||!this._exportGraphics||!this._addMap)&&this._removeExportGraphics(),this._exportGraphics&&this._addMap&&this._addExportGraphics()}_removeExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");e&&e.graphics.removeAll(),t&&t.graphics.removeAll()}_addExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");this._refineGraphics.forEach(i=>{e?.add(i.drawnGraphic),t?.add(i.bufferGraphic)}),this._selectionSets.forEach(i=>{if(i.download&&(e&&i.sketchGraphic&&e.graphics.add(i.sketchGraphic),t)){let s={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new le({geometry:i.buffer,symbol:s});a&&t.graphics.add(a)}})}async _getExportCropArea(){if(!this.mapView)return;let[e,t]=this.mapView.size||[0,0];if(e<=0||t<=0)return;let i=[],s=n=>{n&&isFinite(n.xmin)&&isFinite(n.ymin)&&isFinite(n.xmax)&&isFinite(n.ymax)&&i.push({xmin:n.xmin,ymin:n.ymin,xmax:n.xmax,ymax:n.ymax,sr:n.spatialReference})},a=n=>{n?.graphics.forEach(r=>{let p=r?.geometry;p&&(p.extent?s(p.extent):typeof p.x=="number"&&typeof p.y=="number"&&i.push({xmin:p.x,ymin:p.y,xmax:p.x,ymax:p.y,sr:p.spatialReference}))})};a(this._getManagedLayer("buffer")),a(this._getManagedLayer("sketch"));let o=[];if(this._selectionSets.forEach(n=>{let r=(p,$)=>{p&&$?.length&&o.push(p.queryExtent({objectIds:$}).then(oe=>oe?.extent??null).catch(()=>null))};n.workflowType==="REFINE"&&n.refineInfos?Object.keys(n.refineInfos).forEach(p=>{let $=n.refineInfos[p];r($?.layerView,$?.addIds||[])}):r(n.layerView,n.selectedIds||[])}),o.length>0&&(await Promise.all(o)).forEach(n=>s(n)),i.length===0)return;let h=i[0].sr,c=i[0].xmin,g=i[0].ymin,d=i[0].xmax,m=i[0].ymax;for(let n=1;n<i.length;++n){let r=i[n];r.xmin<c&&(c=r.xmin),r.ymin<g&&(g=r.ymin),r.xmax>d&&(d=r.xmax),r.ymax>m&&(m=r.ymax)}let E=[{x:c,y:g,spatialReference:h},{x:c,y:m,spatialReference:h},{x:d,y:g,spatialReference:h},{x:d,y:m,spatialReference:h}],y=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY,w=Number.NEGATIVE_INFINITY;for(let n of E){let r=this.mapView.toScreen(n);!r||!isFinite(r.x)||!isFinite(r.y)||(r.x<y&&(y=r.x),r.y<b&&(b=r.y),r.x>S&&(S=r.x),r.y>w&&(w=r.y))}if(!isFinite(y)||!isFinite(b)||!isFinite(S)||!isFinite(w))return;let k=24;y=Math.max(0,Math.floor(y-k)),b=Math.max(0,Math.floor(b-k)),S=Math.min(e,Math.ceil(S+k)),w=Math.min(t,Math.ceil(w+k));let V=S-y,N=w-b;if(V<=0||N<=0)return;let F=8/10.5,se=(y+S)/2,ae=(b+w)/2,_=Math.max(V,N*F),v=_/F,I=Math.min(e/_,t/v);I>1&&(_*=I,v*=I),_>e&&(_=e),v>t&&(v=t);let C=se-_/2,P=ae-v/2;return C=Math.max(0,Math.min(C,e-_)),P=Math.max(0,Math.min(P,t-v)),{x:Math.floor(C),y:Math.floor(P),width:Math.floor(_),height:Math.floor(v)}}_getRefinePage(){let e=this._hasSelections();return l`<calcite-panel>${this._getLabel(this._translations.refineSelection,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.refineTip,"padding-sides-1")}<refine-selection .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} .drawnGraphicsArr=${this._refineGraphics} .selectionSets=${this._selectionSets} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} ${u(this._refineSelection)}></refine-selection></div>`:this._getNotice(this._translations.refineTipNoSelections,"padding-sides-1")}</calcite-panel>`}_getPageNavButtons(e,t,i,s,a,o){return l`<div class="padding-bottom-1"><div class="display-flex padding-top-sides-1"><calcite-button .disabled=${t} @click=${i} width=full><span class="font-weight-500">${e}</span></calcite-button></div><div class="display-flex padding-top-1-2 padding-sides-1"><calcite-button appearance=outline .disabled=${a} @click=${o} width=full><span class="font-weight-500">${s}</span></calcite-button></div></div>`}_changeTitle(){this._titleElement.value?.value&&(this._titleValue=this._titleElement.value.value||"")}_getNotice(e,t="padding-1",i=""){return l`<calcite-notice class=${x(t)} icon=lightbulb kind=success open><div class=${x(i)} slot=message>${e}</div></calcite-notice>`}_getLabel(e,t=!1,i="font-bold",s="padding-top-sides-1"){return i+=t?" label-margin-0":"",l`<div class=${x(s)}><calcite-label class=${x(i)}>${e}</calcite-label></div>`}_getExportSelectionLists(){return this._selectionSets.reduce((e,t)=>{let i=this._getSelectionSetIds(t),s=t.workflowType!=="REFINE"||i.length>0;return!this._downloadActive&&t.download&&s&&(this._downloadActive=!0),s&&e.push(l`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-checkbox .checked=${t.download} class="align-center" @calciteCheckboxChange=${()=>{this._toggleDownload(t.id)}}></calcite-checkbox><calcite-list class="list-border margin-start-1-2 width-full" id=download-list label><calcite-list-item .disabled=${!t.download} .label=${t.label} @click=${()=>{this._toggleDownload(t.id)}}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",i.length.toString())}</div></div></calcite-list-item></calcite-list></div>`),e},[])||l`<div></div>`}async _toggleDownload(e){let t=!1;this._selectionSets=this._selectionSets.map(i=>{let s=!1;return i.refineInfos&&Object.keys(i.refineInfos).forEach(a=>{i.refineInfos[a].addIds.length&&(s=!0)}),(i.workflowType!=="REFINE"||s)&&(i.download=i.id===e?!i.download:i.download,t=i.download?!0:t),i}),this._updateExportGraphics(!0),this._downloadActive=t,this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._fetchingData=!1,await this._highlightFeatures()}async _standardExport(){let e=this._addResults?this._getSelectionIdsAndViews(this._selectionSets,!0):{};if(this._exportType==="PDF"){let t="";if(this._addMap&&this.mapView){let i=await this._getExportCropArea(),[s,a]=this.mapView.size||[0,0],o=2e3,h=i?.width??s,c=i?.height??a,g=1500,d=2e3;if(h>0&&c>0){let E=o/Math.max(h,c);g=Math.max(1,Math.round(h*E)),d=Math.max(1,Math.round(c*E))}let m={width:g,height:d};i&&(m.area=i),t=(await this.mapView.takeScreenshot(m))?.dataUrl}this._fetchingData=!0,this._downloadTools.value&&this._removeDuplicates.value&&this.mapView?.map&&await this._downloadTools.value.downloadPDF(this.mapView.map,e,this._removeDuplicates.value.checked,this._addTitle&&this._titleElement.value?this._titleElement.value.value:"",t),this._fetchingData=!1}this._exportType==="CSV"&&(this._fetchingData=!0,this._downloadTools.value&&this.mapView?.map&&await this._downloadTools.value.downloadCSV(this.mapView.map,e,this._removeDuplicates.value?.checked||!1),this._fetchingData=!1)}_getSelectionIdsAndViews(e,t=!1){return(t?e.filter(i=>i.download):e).reduce((i,s)=>{if(s.workflowType==="REFINE")Object.keys(s.refineInfos).forEach(a=>{let o=s.refineInfos[a];if(o.addIds){let h=o.layerView.layer.id;i=this._updateExportInfos(i,h,s.label,o.addIds,o.layerView)}});else{let a=s?.layerView?.layer.id;a!==void 0&&s.layerView&&(i=this._updateExportInfos(i,a,s.label,s.selectedIds,s.layerView))}return i},{})}_updateExportInfos(e,t,i,s,a){return t&&Object.keys(e).indexOf(t)>-1?(e[t].ids=[...new Set([...e[t].ids,...s])],e[t].selectionSetNames.push(i)):t&&(e[t]={ids:s,layerView:a,selectionSetNames:[i]}),e}_getAction(e,t,i,s,a=!1,o=""){return l`<calcite-action .disabled=${!e} .icon=${t} icon-flip-rtl .indicator=${a} @click=${s} slot=${o??T} .text=${i}></calcite-action>`}_updateForSelection(e){this._numSelected=e.detail,this._saveEnabled=this._numSelected>0}async _home(){await this._clearSelection(),this._setPageType("LIST")}async _saveSelection(){let e=await this._selectTools.value?.getSelection();if(e){let t=this._selectTools.value?.isUpdate;this._selectionSets=t?this._selectionSets.map(i=>i.id===e.id?e:i):[...this._selectionSets,e]}return this._home()}async _clearSelection(){await this._selectTools.value?.clearSelection(),this._numSelected=0,this._activeSelection=void 0}async _deleteSelection(e,t){return t.stopPropagation(),this._selectionSets=this._selectionSets.filter((i,s)=>(i.workflowType==="REFINE"&&(this._refineGraphics=[]),s!==e?i:!1)),this._highlightFeatures()}_gotoSelection(e,t){e.selectedIds&&e.layerView&&X(e.selectedIds,e.layerView,t,this.featureHighlightEnabled,this.featureEffect)}_openSelection(e,t){t.stopPropagation(),this._activeSelection=e,this._pageType=e.workflowType==="REFINE"?"REFINE":"SELECT"}async _highlightFeatures(){let e=this._pnStateContextProvider.value;this._clearHighlight();let t=this._getSelectionIdsAndViews(this._selectionSets,this._pageType==="EXPORT"),i=Object.keys(t);if(i.length>0)for(let s=0;s<i.length;s++){let a=t[i[s]];if(a.layerView&&this.mapView){let o=await q(a.ids,a.layerView,this.mapView);e.highlightHandles.push(o)}}}_checkPopups(){typeof this._popupsEnabled!="boolean"&&(this._popupsEnabled=!!this.mapView?.popupEnabled)}_clearHighlight(){let e=this._pnStateContextProvider.value;e&&e.highlightHandles&&e.removeHandles()}};B("public-notification",D);return D},"Graphic","rest/support/PrintTemplate","rest/support/PrintParameters","rest/print","rest/geoprocessor","request",a,b,c,d)
2
+ import d from"./IFONVCBL.js";import{a as ee}from"./BM666UZR.js";import c from"./IHKF4AMV.js";import"./US5FON7D.js";import"./VVZAS55G.js";import{a as W}from"./I2NTSKBD.js";import"./A4RZESK7.js";import b from"./2C4DK6YC.js";import a from"./WV7QX3ED.js";import{a as z}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./YFXSWGXE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./JBNWEBAG.js";import"./5HZMUGQD.js";import"./5VDDAINK.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./N2KSPEVT.js";import"./GF4QELNV.js";import"./XQQ52NKX.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as B,c as J}from"./2I5LGZNX.js";import{E as f,F as u,G as j,I as x,J as H,h as M,i as l,l as T,q as A,r as G,t as U}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([le,ne,re,te,L,O,,{g:q,j:X},{a:Y,d:Q,e:K,f:Z}])=>{var ce=M`@layer{:host{display:block;--calcite-input-message-spacing-value: 0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-2{width:50%}.w-1-3{width:33.33%}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-bottom-0{padding-bottom:0!important}.padding-inline-start-0{padding-inline-start:0!important}.padding-top-sides-1{padding-block-start:1rem;padding-inline-start:1rem;padding-inline-end:1rem}.padding-block-start-1{padding-block-start:1rem}.padding-sides-1{padding-inline-start:1rem;padding-inline-end:1rem}.padding-top-1-2{padding-block-start:.5rem!important}.padding-top-1{padding-top:1rem}.indent-group{border-inline-start:1px solid var(--calcite-color-border-2);margin-bottom:.5rem;padding-inline-start:1rem;margin-inline-start:.5rem}.margin-bottom-0-5{margin-bottom:.5rem}.margin-top-0-5{margin-top:.5rem!important}.instructional-text{line-height:1;padding:0!important;margin:0;color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--2)}.info-blue{color:var(--calcite-color-status-info)}.info-message{justify-content:center;display:grid}.font-bold{font-weight:700}.header-label{font-weight:700;font-size:var(--calcite-font-size-0)}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-start-1-2{padding-inline-start:.5rem}.list-border{border:1px solid var(--calcite-color-border-2)}.margin-sides-1{margin-inline-start:1rem;margin-inline-end:1rem}.margin-start-1-2{margin-inline-start:.5rem}.margin-top-0{margin-block-start:0!important}.margin-top-1{margin-top:1rem!important}.label-margin-0{--calcite-label-margin-bottom: 0}.list-label{color:var(--calcite-color-text-1);font-weight:var(--calcite-font-weight-bold)!important}.list-label,.list-description{font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.list-description{margin-block-start:.125rem;color:var(--calcite-color-text-3)}.img-container{width:100%;height:100%}.font-weight-500{font-weight:500}.background-override{height:100%;width:100%;--calcite-color-surface-4: var(--calcite-color-brand);--calcite-color-surface-3: var(--calcite-color-brand-hover);--calcite-color-text-1: var(--calcite-color-text-inverse);--calcite-action-background-color-hover: var(--calcite-color-brand-hover)}.padding-bottom-1{padding-bottom:1rem}.word-wrap-anywhere{word-wrap:anywhere}.list-container{padding:0 1rem 1rem}.list-items{align-items:center;background-color:#fff;box-shadow:0 1px 3px #0000001a;font-family:sans-serif;padding:12px 16px}.list-item{display:flex;align-items:center;justify-content:space-between}.item-label{color:#4a4a4a;font-size:16px}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}calcite-segmented-control{--calcite-segmented-control-border-color: var(--calcite-color-border-2)}calcite-segmented-control-item{--calcite-segmented-control-color: var(--calcite-color-text-3)}calcite-segmented-control-item[checked]{--calcite-segmented-control-border-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-background-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-color: var(--calcite-color-text-highlight)}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,R=class extends G{constructor(){super(),this.managedLayers={},this.managedTables=[],this.highlightHandles=[]}removeHandles(){this.highlightHandles.forEach(e=>{e?.remove()}),this.highlightHandles=[]}},D=class extends j{constructor(){super(),this.addresseeLayerIds=[],this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.customExport=!1,this.customExportURL="",this.defaultBufferDistance=0,this.defaultBufferUnit="feet",this.defaultExportTitle="",this.defaultNumLabelsPerPage=6,this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.featureHighlightEnabled=!1,this.noResultText="",this.initialNotice="",this.selectionLayerIds=[],this.showRefineSelection=!1,this.showSearchSettings=!0,this._exportGraphics=!1,this._addMap=!1,this._addResults=!0,this._addTitle=!1,this._downloadActive=!0,this._exportType="PDF",this._fetchingData=!1,this._isMobile=!1,this._numDuplicates=0,this._pageType="LIST",this._saveEnabled=!1,this._selectionSets=[],this._segmentType="STANDARD",this._selectedReportingLayerId="",this._isInitialLoading=!0,this._layoutTemplates=[],this._translations=z({name:"public-notification",blocking:!0}),this._downloadTools=f(),this.layoutTemplateSelectRef=f(),this.reportTemplateSelectRef=f(),this._onboardingImageUrl="",this._popupsEnabled=!1,this._removeDuplicates=f(),this._selectTools=f(),this._refineSelection=f(),this._titleElement=f(),this._titleValue=void 0,this._numSelected=0,this._pnStateContextProvider=W({context:ee}),this._refineGraphics=[],this._reportTemplates=[],this._reportTemplatesInfo=[],this.searchConfigurationChange=A(),this.listenOn(window,"selectionSetsChanged",this.selectionSetsChanged),this._pnState=new R,this._pnStateContextProvider.setValue(this._pnState)}static{this.properties={addresseeLayerIds:0,bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,customExport:5,customExportURL:1,defaultBufferDistance:9,defaultBufferUnit:1,defaultExportTitle:1,defaultNumLabelsPerPage:9,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,featureEffect:0,featureHighlightEnabled:5,mapView:0,noResultText:1,initialNotice:1,searchConfiguration:0,selectionLayerIds:0,showRefineSelection:5,showSearchSettings:5,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,_exportGraphics:16,_addMap:16,_addResults:16,_addTitle:16,_downloadActive:16,_exportType:16,_fetchingData:16,_isMobile:16,_numDuplicates:16,_pageType:16,_saveEnabled:16,_selectionSets:16,_segmentType:16,_selectedReportingLayerId:16,_isInitialLoading:16,_layoutTemplates:16,_translations:16}}static{this.styles=ce}static{this.shadowRootOptions=U}willUpdate(e){e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("sketchLineSymbol")&&this.sketchLineSymbolWatchHandler(this.sketchLineSymbol,e.get("sketchLineSymbol")),e.has("sketchPointSymbol")&&this.sketchPointSymbolWatchHandler(this.sketchPointSymbol,e.get("sketchPointSymbol")),e.has("sketchPolygonSymbol")&&this.sketchPolygonSymbolWatchHandler(this.sketchPolygonSymbol,e.get("sketchPolygonSymbol")),e.has("_pageType")&&(this.hasUpdated||this._pageType!=="LIST")&&this.pageTypeWatchHandler(this._pageType,e.get("_pageType")),(e.has("customExport")||e.has("customExportURL"))&&this.hasUpdated&&this._setTemplates()}async mapViewWatchHandler(e){e?.popup&&(this._popupsEnabled=e?.popupEnabled),this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration)}async watchSearchConfigurationHandler(e,t){let i=JSON.stringify(e);this.mapView&&(i!==JSON.stringify(t)||i&&!this._searchConfiguration)&&(this._searchConfiguration=JSON.parse(i),this._searchConfiguration&&this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}async sketchLineSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setLineSymbol(e)}async sketchPointSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPointSymbol(e)}async sketchPolygonSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPolygonSymbol(e)}async pageTypeWatchHandler(e,t){if(this._checkPopups(),this.mapView?.popup&&(this.mapView.popupEnabled=e!=="LIST"?!1:this._popupsEnabled),e==="EXPORT"&&(this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._updateExportGraphics(),this._fetchingData=!1),this._clearHighlight(),(t==="SELECT"||t==="REFINE")&&await this._clearSelection(),t==="EXPORT"&&this._removeExportGraphics(),e!=="SELECT")return this._highlightFeatures()}selectionSetsChanged(e){this._selectionSets=[...e.detail]}connectedCallback(){super.connectedCallback(),this._mediaQuery=window.matchMedia("(max-width: 600px)"),this.listenOn(this._mediaQuery,"change",e=>this._setIsMobile(e))}async load(){this._initSymbols(),this._onboardingImageUrl=J("assets/public-notification/images/onboarding.png")}render(){let e=this._isMobile?"footer":"header";return l`<calcite-shell>${this._isInitialLoading?l`<calcite-loader label></calcite-loader>`:l`<calcite-action-bar class="border-bottom-1 action-bar-size" expand-disabled layout=horizontal slot=${e??T}>${this._getActionGroup("list-check","LIST",this._translations.myLists)}${this.showRefineSelection?this._getActionGroup("test-data","REFINE",this._translations.refineSelection):null}${this._getActionGroup("export","EXPORT",this._translations.export)}</calcite-action-bar>${this._getPage(this._pageType)}`}</calcite-shell>`}async loaded(){this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration),this.customExport&&this.customExportURL&&await this._setTemplates(),this._isInitialLoading=!1}_initSearchConfiguration(e){this.searchConfiguration&&!this._searchConfiguration&&this.mapView&&(this._searchConfiguration=e,this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}_initSymbols(){this._setLineSymbol(this.sketchLineSymbol),this._setPointSymbol(this.sketchPointSymbol),this._setPolygonSymbol(this.sketchPolygonSymbol)}_setLineSymbol(e){let t=e?.type==="simple-line";this.sketchLineSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSLS",color:[130,130,130,255],width:2,style:"esriSLSSolid"})}_setPointSymbol(e){let t=e?.type==="simple-marker";this.sketchPointSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSMS",color:[255,255,255,255],angle:0,xoffset:0,yoffset:0,size:6,style:"esriSMSCircle",outline:{type:"esriSLS",color:[50,50,50,255],width:1,style:"esriSLSSolid"}})}_setPolygonSymbol(e){let t=e?.type==="simple-fill";this.sketchPolygonSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSFS",color:[150,150,150,51],outline:{type:"esriSLS",color:[50,50,50,255],width:2,style:"esriSLSSolid"},style:"esriSFSSolid"})}_setIsMobile(e){this._isMobile=e.matches}_getActionGroup(e,t,i){let s=this.showRefineSelection?"w-1-3":"w-1-2";return l`<calcite-action-group class=${x(s)} layout=horizontal><div class="background-override"><calcite-action .active=${this._pageType===t} alignment=center class="width-full height-full" .icon=${e} id=${e??T} @click=${()=>{this._setPageType(t)}} style=${H(this._pageType===t?"background-color: var(--calcite-color-brand)":"")} .text=${i}></calcite-action></div><calcite-tooltip placement=bottom .referenceElement=${e}><span>${i}</span></calcite-tooltip></calcite-action-group>`}_setPageType(e){this._pageType=e}_getPage(e){let t;switch(e){case"LIST":t=this._getListPage();break;case"SELECT":t=this._getSelectPage();break;case"EXPORT":t=this._getExportPage();break;case"REFINE":t=this._getRefinePage();break}return t}_getListPage(){let e=this._hasSelections(),t=e?this._translations.listHasSetsTip:this.initialNotice!==""?this.initialNotice:this._translations.selectLayerAndAdd;return l`<calcite-panel>${this._getLabel(this._translations.myLists,!1,"header-label")}${this._getNotice(t||"","padding-sides-1 padding-bottom-1","word-wrap-anywhere")}${e?this._getSelectionSetList():this._getOnboardingImage()}<div class="display-flex padding-1"><calcite-button @click=${()=>{this._setPageType("SELECT")}} width=full><span class="font-weight-500">${this._translations.add}</span></calcite-button></div></calcite-panel>`}_getOnboardingImage(){return l`<div class="display-flex padding-sides-1"><img alt aria-hidden=true class="img-container" src=${this._onboardingImageUrl??T}></div>`}_getSelectionSetList(){return l`<div class="padding-bottom-1-2"><calcite-list class="list-border margin-sides-1" label>${this._selectionSets.reduce((e,t,i)=>{let s=this._getSelectionSetIds(t),a=!0;return t.workflowType==="REFINE"&&(a=Object.keys(t.refineInfos).reduce((o,h)=>{let c=t.refineInfos[h];return o+=c.addIds.length+c.removeIds.length,o},0)>0),a&&e.push(l`<calcite-list-item .label=${t.label} @click=${()=>this.mapView&&this._gotoSelection(t,this.mapView)}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t?.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",s.length.toString())}</div></div>${this._getAction(!0,"pencil","",o=>this._openSelection(t,o),!1,"actions-end")}${this._getAction(!0,"x","",o=>this._deleteSelection(i,o),!1,"actions-end")}</calcite-list-item>`),e},[])}</calcite-list></div>`}_getSelectionSetIds(e){return e.workflowType!=="REFINE"?e.selectedIds:Object.keys(e.refineInfos).reduce((t,i)=>[...t,...e.refineInfos[i].addIds],[])}_hasSelections(e=!1){let t=[],i=this._selectionSets.some(s=>s.workflowType==="REFINE"?(t=this._getSelectionSetIds(s),!0):!1);return e&&i?t.length>0||this._selectionSets.length>1:this._selectionSets.length>0}async _getNumDuplicates(){let e=this._getExportInfos(),t=this.mapView?.map&&await Y(this.mapView.map,e),i=t&&Q(t);return t&&i?t.length-i.length:0}_getExportInfos(){return this._selectionSets.reduce((e,t)=>{if(t.download)if(t.workflowType!=="REFINE"&&t?.layerView){let i=t.layerView.layer.id;i!==void 0&&this._updateIds(i,t.layerView,t.selectedIds,e)}else Object.keys(t.refineInfos).forEach(i=>{let s=t.refineInfos[i];s.addIds.length>0&&this._updateIds(i,s.layerView,s.addIds,e)});return e},{})}_updateIds(e,t,i,s){return s[e]?s[e].ids=s[e].ids.concat(i):s[e]={layerView:t,ids:i},s}_getSelectPage(){let e=this._translations.selectSearchTip;return l`<calcite-panel>${this._getLabel(this._translations?.stepTwoFull,!0,"header-label")}${this._getNotice(e,"padding-1","word-wrap-anywhere")}<div><map-select-tools .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} class="" .customLabelEnabled=${this.customLabelEnabled} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableLayerFeatures=${this.enableLayerFeatures} .enableLayerFeaturesOnLoad=${this.enableLayerFeaturesOnLoad} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .enableSketchTools=${this.enableSketchTools} .enabledLayerIds=${this.addresseeLayerIds} header-label-class .isUpdate=${!!this._activeSelection} .mapView=${this.mapView} .noResultText=${this.noResultText} @selectionSetChange=${this._updateForSelection} .searchConfiguration=${this._searchConfiguration} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} .selectionLayerIds=${this.selectionLayerIds} .selectionSet=${this._activeSelection} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .useLayerFeaturesEnabled=${this.enableLayerFeaturesOnLoad} ${u(this._selectTools)}></map-select-tools></div>${this._getPageNavButtons(this._translations.done,this._numSelected===0,()=>{this._saveSelection()},this._translations.cancel,!1,()=>{this._home()})}</calcite-panel>`}_getExportPage(){let e=this._hasSelections(this.showRefineSelection),t=this._numDuplicates>0?"display-block":"display-none",i=this.customExport&&this.customExportURL&&this._layoutTemplates.length;return l`<calcite-panel><div>${this._getLabel(this._translations.export,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.exportTip,"padding-sides-1")}${this._getLabel(this._translations.exportListsLabel,!1,"")}${this._getExportSelectionLists()}<div class=${`padding-sides-1 ${t}`}><div class="display-flex"><calcite-label layout=inline><calcite-checkbox ${u(this._removeDuplicates)}></calcite-checkbox><div class="display-flex">${this._translations.removeDuplicate}<div class="info-message padding-start-1-2"><calcite-input-message class="info-blue margin-top-0" scale=m>${` ${this._translations.numDuplicates.replace("{{n}}",this._numDuplicates.toString())}`}</calcite-input-message></div></div></calcite-label><calcite-icon aria-hidden=true class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=remove-duplicates-icon scale=s></calcite-icon></div><calcite-popover closable label overlay-positioning=fixed reference-element=remove-duplicates-icon><span class="tooltip-message">${this._translations.duplicatesTip}</span></calcite-popover></div><div class="border-bottom"></div><div class="segmented-controls padding-top-sides-1">${this._getLabel(this._translations.exportOptions,!0,"","margin-bottom-0-5")}${this._getSegmentedControls()}</div>${i?this._getCustomPrintOptions():l`<div class="padding-1 padding-bottom-0">${this._getExportOptions()}</div>`}<div class="padding-1 display-flex"><calcite-button .disabled=${!this._downloadActive||this._fetchingData||!this._addMap&&!this._addResults} .loading=${this._fetchingData} @click=${()=>this._segmentType==="CUSTOM"?this._customExport():void this._standardExport()} width=full><span class="font-weight-500">${this._translations.export}</span></calcite-button></div></div>`:this._getNotice(this._translations.downloadNoLists,"padding-sides-1 padding-bottom-1")}</div></calcite-panel>`}_customExport(){if(!this.mapView)return;let e=this.layoutTemplateSelectRef.value?this.layoutTemplateSelectRef.value.selectedOption.value:"",t=this.reportTemplateSelectRef.value?this.reportTemplateSelectRef.value.selectedOption.value:"";this._fetchingData=!0;let i=this._reportTemplatesInfo.find(c=>c.reportTemplate===t),s=i?{...i.reportOptions}:{},a=this._selectedReportingLayerId;s?.reportSectionOverrides&&Object.keys(s.reportSectionOverrides).forEach(c=>{s.reportSectionOverrides[c].sourceId=a});let o=new ne({layout:e,report:t,format:"pdf",layoutOptions:{titleText:this._titleElement.value?.value},reportOptions:s}),h=new re({view:this.mapView,template:o});te.execute(this.customExportURL,h).then(c=>{let g=this._titleValue;if(!g){let d=this._getSelectionIdsAndViews(this._selectionSets,!0),m=Z(d);g=K(m)}c.url&&g&&this._downloadCustomPDF(c.url,g),this._fetchingData=!1}).catch(c=>{this._fetchingData=!1,console.error(c)})}async _downloadCustomPDF(e,t){try{let i=await fetch(e);if(!i.ok)throw new Error(`Failed to fetch PDF: ${i.statusText}`);let s=await i.blob(),a=window.URL.createObjectURL(s),o=document.createElement("a");o.href=a,o.download=t||"download.pdf";let h=document.getElementById("custom-export-div");h&&(h.appendChild(o),o.click(),window.URL.revokeObjectURL(a),h.removeChild(o))}catch(i){console.error("Download failed:",i)}}_exportTypeChange(e){this._exportType=e.target.value}_segmentTypeChange(e){this._titleValue="",this._segmentType=e.target.value}_getSegmentedControls(){return this.customExport&&this.customExportURL&&this._layoutTemplates.length?this._getStandardAndCustomSegmentedControl():this._getPDFAndCSVSementedControl()}_getPDFAndCSVSementedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._exportTypeChange} width=full><calcite-segmented-control-item .checked=${this._exportType==="PDF"} class="w-50 end-border" .iconStart=${this._exportType==="PDF"?"check":void 0} value=PDF><span class="font-weight-500">${this._translations.pdf}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._exportType==="CSV"} class="w-50" .iconStart=${this._exportType==="CSV"?"check":void 0} value=CSV><span class="font-weight-500">${this._translations.csv}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getStandardAndCustomSegmentedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._segmentTypeChange} width=full><calcite-segmented-control-item .checked=${this._segmentType==="STANDARD"} class="w-50 end-border" .iconStart=${this._segmentType==="STANDARD"?"check":void 0} value=STANDARD><span class="font-weight-500">${this._translations.standard}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._segmentType==="CUSTOM"} class="w-50" .iconStart=${this._segmentType==="CUSTOM"?"check":void 0} value=CUSTOM><span class="font-weight-500">${this._translations.custom}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getCustomPrintOptions(){return this._segmentType==="STANDARD"?this._getStandardExportOptions():this._getCustomExportOptions()}_getStandardExportOptions(){return l`<div class="padding-1 padding-bottom-0"><calcite-label layout=inline alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="PDF"} scale=m value=PDF @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.pdf}</calcite-label><div class=indent-group>${this._getExportOptions()}</div><calcite-label layout=inline class="margin-top-1" alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="CSV"} scale=m value=CSV @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.csv}</calcite-label></div>`}_getCustomExportOptions(){let e=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",t=[],i=this._getSelectionIdsAndViews(this._selectionSets,!0);return Object.keys(i).forEach(s=>{i[s].ids.length&&t.push(s)}),l`<div id=custom-export-div class="padding-top-sides-1"><p class="instructional-text">${this._translations.formattingTip}</p>${t.length>1&&l`<p class="instructional-text margin-top-0-5">${this._translations.selectMatchingInputLayersLabel}</p>`||""}<div class=${"margin-top-1"}>${this._getLabel(this._translations.title,!0,"","none")}<calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${e} ${u(this._titleElement)}></calcite-input-text></div><div class=${"margin-top-1"}>${this._getLabel(this._translations.layoutTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${u(this.layoutTemplateSelectRef)}>${this._layoutTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select>${this._reportTemplates?.length&&l`<div class=${"margin-top-1"}>${this._getLabel(this._translations.reportTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${u(this.reportTemplateSelectRef)}>${this._reportTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select><div class=${"padding-top-sides-1 padding-inline-start-0 display-flex margin-bottom-0-5"}><calcite-label class="label-margin-0" layout=inline>${this._translations.reportLayer}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=information id=filter-message-info scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=filter-message-info><span class="tooltip-message">${this._translations.sourceLayerWarning}</span></calcite-popover></div><map-layer-picker .disabled=${t.length<=1} .enabledLayerIds=${t} .mapView=${this.mapView} @layerSelectionChange=${s=>{this._selectedReportingLayerId=s.detail[0]}} .selectedIds=${[this._selectedReportingLayerId]}></map-layer-picker>`||""}</div>`}async _setTemplates(){if(!this.customExportURL||!this.customExport){this.resetCustomExport();return}let e=this.customExportURL,t=`${e.split("/GPServer")?.[0]}/GPServer`;try{let i=await this.getTasksInfo(t),s="",a=i.tasks?.map(async d=>{await this.getTaskType(d,t)==="GetReportTemplatesInfo"&&(s=`${t}/${d}`)});a&&await Promise.all(a),s&&i.executionType&&await this._fetchReportTemplates(s,i.executionType);let o=(await O(e,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data,h=o.parameters.find(d=>d.name==="Layout_Template"&&Array.isArray(d.choiceList)),c=o.parameters.find(d=>d.name==="Report_Template"&&Array.isArray(d.choiceList));this._layoutTemplates=h?h.choiceList:[];let g=c?c.choiceList:[];this._reportTemplates=this._reportTemplatesInfo.length?g.filter(d=>this._reportTemplatesInfo.some(m=>m.reportTemplate===d)):[]}catch(i){this.resetCustomExport(),console.error(i)}}resetCustomExport(){this._layoutTemplates=[],this._reportTemplates=[],this._segmentType="STANDARD"}async getTaskType(e,t){if(!e||!t)return Promise.resolve("");let i=`${t}/${e}`;try{let s=(await O(i,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data?.name||"";return Promise.resolve(s)}catch(s){return console.error(s),Promise.resolve("")}}async getTasksInfo(e){if(!e)return Promise.resolve({});let t=`${e}?f=json`,i={authMode:"auto",responseType:"json",query:{f:"json"}};try{let s=(await O(t,i))?.data,a=s?.tasks,o=s?.executionType==="esriExecutionTypeSynchronous"?"execute":"submitJob";return{tasks:a,supportedOperations:o,executionType:s?.executionType}}catch(s){return this.resetCustomExport(),console.error(s),{}}}async _fetchReportTemplates(e,t){if(e)try{if(t==="esriExecutionTypeSynchronous"){let i=(await L.execute(e,{}))?.results?.find(s=>s.paramName==="Output_JSON");this._reportTemplatesInfo=i?.value??[]}else{let i=await L.submitJob(e,{});await i.waitForJobCompletion();let s=await i.fetchResultData("Output_JSON");this._reportTemplatesInfo=s?.value??[]}this._reportTemplatesInfo=this._reportTemplatesInfo.filter(i=>{let s=i.reportOptions;if(s?.reportSectionOverrides){let a=0;return Object.keys(s.reportSectionOverrides).forEach(o=>{s.reportSectionOverrides[o].hasOwnProperty("sourceId")&&a++}),a<=1}else return!0})}catch(i){console.error("Failed to fetch report templates:",i)}}_getExportOptions(){let e=this._exportType==="PDF"?"display-block":"display-none",t=this._addTitle?"display-block":"display-none",i=this._addMap?"display-flex":"display-none",s=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",a=this._addResults?"":"display-none";return l`<div class=${x(e)}><p class="instructional-text">${this._translations.selectContentTip}</p><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addResults} @calciteCheckboxChange=${()=>this._addResults=!this._addResults}></calcite-checkbox>${this._translations.addResults}</calcite-label></div><div class=${`indent-group margin-top-1 ${a}`}><div class="margin-bottom-0-5"><calcite-label class="label-margin-0">${this._translations.selectPDFLabelOption}</calcite-label></div><div><pdf-download .defaultNumLabelsPerPage=${Number.parseInt(this.defaultNumLabelsPerPage.toString(),10)} .disabled=${!this._downloadActive} ${u(this._downloadTools)}></pdf-download></div></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addTitle} @calciteCheckboxChange=${()=>this._addTitle=!this._addTitle}></calcite-checkbox>${this._translations.title}</calcite-label></div><div class=${`${t} indent-group margin-top-0-5`}><calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${s} ${u(this._titleElement)}></calcite-input-text></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addMap} @calciteCheckboxChange=${()=>this._handleAddMapChange()}></calcite-checkbox>${this._translations.includeMap}</calcite-label></div><div class=${`padding-top-sides-1 padding-inline-start-0 ${i}`}><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._exportGraphics} @calciteCheckboxChange=${()=>this._handleExportGraphicsChange()}></calcite-checkbox>${this._translations.listGraphics}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=list-graphics-icon scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=list-graphics-icon><span class="tooltip-message">${this._translations.listGraphicsTip}</span></calcite-popover></div></div>`}_handleAddMapChange(){this._addMap=!this._addMap,this._updateExportGraphics()}_handleExportGraphicsChange(){this._exportGraphics=!this._exportGraphics,this._updateExportGraphics()}_getManagedLayer(e){let t,i=this._pnStateContextProvider.value;return Object.keys(i.managedLayers).some(s=>{let a=this.mapView?.map.layers.findIndex(o=>o.title===s);return i.managedLayers[s]===e&&a!==void 0?(t=this.mapView?.map.layers.getItemAt(a),!0):!1}),t}_updateExportGraphics(e=!1){(e||!this._exportGraphics||!this._addMap)&&this._removeExportGraphics(),this._exportGraphics&&this._addMap&&this._addExportGraphics()}_removeExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");e&&e.graphics.removeAll(),t&&t.graphics.removeAll()}_addExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");this._refineGraphics.forEach(i=>{e?.add(i.drawnGraphic),t?.add(i.bufferGraphic)}),this._selectionSets.forEach(i=>{if(i.download&&(e&&i.sketchGraphic&&e.graphics.add(i.sketchGraphic),t)){let s={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new le({geometry:i.buffer,symbol:s});a&&t.graphics.add(a)}})}async _getExportCropArea(){if(!this.mapView)return;let[e,t]=this.mapView.size||[0,0];if(e<=0||t<=0)return;let i=[],s=n=>{n&&isFinite(n.xmin)&&isFinite(n.ymin)&&isFinite(n.xmax)&&isFinite(n.ymax)&&i.push({xmin:n.xmin,ymin:n.ymin,xmax:n.xmax,ymax:n.ymax,sr:n.spatialReference})},a=n=>{n?.graphics.forEach(r=>{let p=r?.geometry;p&&(p.extent?s(p.extent):typeof p.x=="number"&&typeof p.y=="number"&&i.push({xmin:p.x,ymin:p.y,xmax:p.x,ymax:p.y,sr:p.spatialReference}))})};a(this._getManagedLayer("buffer")),a(this._getManagedLayer("sketch"));let o=[];if(this._selectionSets.forEach(n=>{let r=(p,$)=>{p&&$?.length&&o.push(p.queryExtent({objectIds:$}).then(oe=>oe?.extent??null).catch(()=>null))};n.workflowType==="REFINE"&&n.refineInfos?Object.keys(n.refineInfos).forEach(p=>{let $=n.refineInfos[p];r($?.layerView,$?.addIds||[])}):r(n.layerView,n.selectedIds||[])}),o.length>0&&(await Promise.all(o)).forEach(n=>s(n)),i.length===0)return;let h=i[0].sr,c=i[0].xmin,g=i[0].ymin,d=i[0].xmax,m=i[0].ymax;for(let n=1;n<i.length;++n){let r=i[n];r.xmin<c&&(c=r.xmin),r.ymin<g&&(g=r.ymin),r.xmax>d&&(d=r.xmax),r.ymax>m&&(m=r.ymax)}let E=[{x:c,y:g,spatialReference:h},{x:c,y:m,spatialReference:h},{x:d,y:g,spatialReference:h},{x:d,y:m,spatialReference:h}],y=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY,w=Number.NEGATIVE_INFINITY;for(let n of E){let r=this.mapView.toScreen(n);!r||!isFinite(r.x)||!isFinite(r.y)||(r.x<y&&(y=r.x),r.y<b&&(b=r.y),r.x>S&&(S=r.x),r.y>w&&(w=r.y))}if(!isFinite(y)||!isFinite(b)||!isFinite(S)||!isFinite(w))return;let k=24;y=Math.max(0,Math.floor(y-k)),b=Math.max(0,Math.floor(b-k)),S=Math.min(e,Math.ceil(S+k)),w=Math.min(t,Math.ceil(w+k));let V=S-y,N=w-b;if(V<=0||N<=0)return;let F=8/10.5,se=(y+S)/2,ae=(b+w)/2,_=Math.max(V,N*F),v=_/F,I=Math.min(e/_,t/v);I>1&&(_*=I,v*=I),_>e&&(_=e),v>t&&(v=t);let C=se-_/2,P=ae-v/2;return C=Math.max(0,Math.min(C,e-_)),P=Math.max(0,Math.min(P,t-v)),{x:Math.floor(C),y:Math.floor(P),width:Math.floor(_),height:Math.floor(v)}}_getRefinePage(){let e=this._hasSelections();return l`<calcite-panel>${this._getLabel(this._translations.refineSelection,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.refineTip,"padding-sides-1")}<refine-selection .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} .drawnGraphicsArr=${this._refineGraphics} .selectionSets=${this._selectionSets} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} ${u(this._refineSelection)}></refine-selection></div>`:this._getNotice(this._translations.refineTipNoSelections,"padding-sides-1")}</calcite-panel>`}_getPageNavButtons(e,t,i,s,a,o){return l`<div class="padding-bottom-1"><div class="display-flex padding-top-sides-1"><calcite-button .disabled=${t} @click=${i} width=full><span class="font-weight-500">${e}</span></calcite-button></div><div class="display-flex padding-top-1-2 padding-sides-1"><calcite-button appearance=outline .disabled=${a} @click=${o} width=full><span class="font-weight-500">${s}</span></calcite-button></div></div>`}_changeTitle(){this._titleElement.value?.value&&(this._titleValue=this._titleElement.value.value||"")}_getNotice(e,t="padding-1",i=""){return l`<calcite-notice class=${x(t)} icon=lightbulb kind=success open><div class=${x(i)} slot=message>${e}</div></calcite-notice>`}_getLabel(e,t=!1,i="font-bold",s="padding-top-sides-1"){return i+=t?" label-margin-0":"",l`<div class=${x(s)}><calcite-label class=${x(i)}>${e}</calcite-label></div>`}_getExportSelectionLists(){return this._selectionSets.reduce((e,t)=>{let i=this._getSelectionSetIds(t),s=t.workflowType!=="REFINE"||i.length>0;return!this._downloadActive&&t.download&&s&&(this._downloadActive=!0),s&&e.push(l`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-checkbox .checked=${t.download} class="align-center" @calciteCheckboxChange=${()=>{this._toggleDownload(t.id)}}></calcite-checkbox><calcite-list class="list-border margin-start-1-2 width-full" id=download-list label><calcite-list-item .disabled=${!t.download} .label=${t.label} @click=${()=>{this._toggleDownload(t.id)}}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",i.length.toString())}</div></div></calcite-list-item></calcite-list></div>`),e},[])||l`<div></div>`}async _toggleDownload(e){let t=!1;this._selectionSets=this._selectionSets.map(i=>{let s=!1;return i.refineInfos&&Object.keys(i.refineInfos).forEach(a=>{i.refineInfos[a].addIds.length&&(s=!0)}),(i.workflowType!=="REFINE"||s)&&(i.download=i.id===e?!i.download:i.download,t=i.download?!0:t),i}),this._updateExportGraphics(!0),this._downloadActive=t,this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._fetchingData=!1,await this._highlightFeatures()}async _standardExport(){let e=this._addResults?this._getSelectionIdsAndViews(this._selectionSets,!0):{};if(this._exportType==="PDF"){let t="";if(this._addMap&&this.mapView){let i=await this._getExportCropArea(),[s,a]=this.mapView.size||[0,0],o=2e3,h=i?.width??s,c=i?.height??a,g=1500,d=2e3;if(h>0&&c>0){let E=o/Math.max(h,c);g=Math.max(1,Math.round(h*E)),d=Math.max(1,Math.round(c*E))}let m={width:g,height:d};i&&(m.area=i),t=(await this.mapView.takeScreenshot(m))?.dataUrl}this._fetchingData=!0,this._downloadTools.value&&this._removeDuplicates.value&&this.mapView?.map&&await this._downloadTools.value.downloadPDF(this.mapView.map,e,this._removeDuplicates.value.checked,this._addTitle&&this._titleElement.value?this._titleElement.value.value:"",t),this._fetchingData=!1}this._exportType==="CSV"&&(this._fetchingData=!0,this._downloadTools.value&&this.mapView?.map&&await this._downloadTools.value.downloadCSV(this.mapView.map,e,this._removeDuplicates.value?.checked||!1),this._fetchingData=!1)}_getSelectionIdsAndViews(e,t=!1){return(t?e.filter(i=>i.download):e).reduce((i,s)=>{if(s.workflowType==="REFINE")Object.keys(s.refineInfos).forEach(a=>{let o=s.refineInfos[a];if(o.addIds){let h=o.layerView.layer.id;i=this._updateExportInfos(i,h,s.label,o.addIds,o.layerView)}});else{let a=s?.layerView?.layer.id;a!==void 0&&s.layerView&&(i=this._updateExportInfos(i,a,s.label,s.selectedIds,s.layerView))}return i},{})}_updateExportInfos(e,t,i,s,a){return t&&Object.keys(e).indexOf(t)>-1?(e[t].ids=[...new Set([...e[t].ids,...s])],e[t].selectionSetNames.push(i)):t&&(e[t]={ids:s,layerView:a,selectionSetNames:[i]}),e}_getAction(e,t,i,s,a=!1,o=""){return l`<calcite-action .disabled=${!e} .icon=${t} icon-flip-rtl .indicator=${a} @click=${s} slot=${o??T} .text=${i}></calcite-action>`}_updateForSelection(e){this._numSelected=e.detail,this._saveEnabled=this._numSelected>0}async _home(){await this._clearSelection(),this._setPageType("LIST")}async _saveSelection(){let e=await this._selectTools.value?.getSelection();if(e){let t=this._selectTools.value?.isUpdate;this._selectionSets=t?this._selectionSets.map(i=>i.id===e.id?e:i):[...this._selectionSets,e]}return this._home()}async _clearSelection(){await this._selectTools.value?.clearSelection(),this._numSelected=0,this._activeSelection=void 0}async _deleteSelection(e,t){return t.stopPropagation(),this._selectionSets=this._selectionSets.filter((i,s)=>(i.workflowType==="REFINE"&&(this._refineGraphics=[]),s!==e?i:!1)),this._highlightFeatures()}_gotoSelection(e,t){e.selectedIds&&e.layerView&&X(e.selectedIds,e.layerView,t,this.featureHighlightEnabled,this.featureEffect)}_openSelection(e,t){t.stopPropagation(),this._activeSelection=e,this._pageType=e.workflowType==="REFINE"?"REFINE":"SELECT"}async _highlightFeatures(){let e=this._pnStateContextProvider.value;this._clearHighlight();let t=this._getSelectionIdsAndViews(this._selectionSets,this._pageType==="EXPORT"),i=Object.keys(t);if(i.length>0)for(let s=0;s<i.length;s++){let a=t[i[s]];if(a.layerView&&this.mapView){let o=await q(a.ids,a.layerView,this.mapView);e.highlightHandles.push(o)}}}_checkPopups(){typeof this._popupsEnabled!="boolean"&&(this._popupsEnabled=!!this.mapView?.popupEnabled)}_clearHighlight(){let e=this._pnStateContextProvider.value;e&&e.highlightHandles&&e.removeHandles()}};B("public-notification",D);return D},"Graphic","rest/support/PrintTemplate","rest/support/PrintParameters","rest/print","rest/geoprocessor","request",a,b,c,d)