@esri/solutions-components 0.7.28 → 0.7.30

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 (443) hide show
  1. package/dist/assets/t9n/card-manager/resources.json +1 -4
  2. package/dist/assets/t9n/card-manager/resources_ar.json +1 -4
  3. package/dist/assets/t9n/card-manager/resources_bg.json +1 -4
  4. package/dist/assets/t9n/card-manager/resources_bs.json +1 -4
  5. package/dist/assets/t9n/card-manager/resources_ca.json +1 -4
  6. package/dist/assets/t9n/card-manager/resources_cs.json +1 -4
  7. package/dist/assets/t9n/card-manager/resources_da.json +1 -4
  8. package/dist/assets/t9n/card-manager/resources_de.json +1 -4
  9. package/dist/assets/t9n/card-manager/resources_el.json +1 -4
  10. package/dist/assets/t9n/card-manager/resources_en.json +1 -4
  11. package/dist/assets/t9n/card-manager/resources_es.json +1 -4
  12. package/dist/assets/t9n/card-manager/resources_et.json +1 -4
  13. package/dist/assets/t9n/card-manager/resources_fi.json +1 -4
  14. package/dist/assets/t9n/card-manager/resources_fr.json +1 -4
  15. package/dist/assets/t9n/card-manager/resources_he.json +1 -4
  16. package/dist/assets/t9n/card-manager/resources_hr.json +1 -4
  17. package/dist/assets/t9n/card-manager/resources_hu.json +1 -4
  18. package/dist/assets/t9n/card-manager/resources_id.json +1 -4
  19. package/dist/assets/t9n/card-manager/resources_it.json +1 -4
  20. package/dist/assets/t9n/card-manager/resources_ja.json +1 -4
  21. package/dist/assets/t9n/card-manager/resources_ko.json +1 -4
  22. package/dist/assets/t9n/card-manager/resources_lt.json +1 -4
  23. package/dist/assets/t9n/card-manager/resources_lv.json +1 -4
  24. package/dist/assets/t9n/card-manager/resources_nb.json +1 -4
  25. package/dist/assets/t9n/card-manager/resources_nl.json +1 -4
  26. package/dist/assets/t9n/card-manager/resources_pl.json +1 -4
  27. package/dist/assets/t9n/card-manager/resources_pt-BR.json +1 -4
  28. package/dist/assets/t9n/card-manager/resources_pt-PT.json +1 -4
  29. package/dist/assets/t9n/card-manager/resources_ro.json +1 -4
  30. package/dist/assets/t9n/card-manager/resources_ru.json +1 -4
  31. package/dist/assets/t9n/card-manager/resources_sk.json +1 -4
  32. package/dist/assets/t9n/card-manager/resources_sl.json +1 -4
  33. package/dist/assets/t9n/card-manager/resources_sr.json +1 -4
  34. package/dist/assets/t9n/card-manager/resources_sv.json +1 -4
  35. package/dist/assets/t9n/card-manager/resources_th.json +1 -4
  36. package/dist/assets/t9n/card-manager/resources_tr.json +1 -4
  37. package/dist/assets/t9n/card-manager/resources_uk.json +1 -4
  38. package/dist/assets/t9n/card-manager/resources_vi.json +1 -4
  39. package/dist/assets/t9n/card-manager/resources_zh-CN.json +1 -4
  40. package/dist/assets/t9n/card-manager/resources_zh-HK.json +1 -4
  41. package/dist/assets/t9n/card-manager/resources_zh-TW.json +1 -4
  42. package/dist/assets/t9n/crowdsource-manager/resources_ar.json +2 -2
  43. package/dist/assets/t9n/crowdsource-manager/resources_bg.json +2 -2
  44. package/dist/assets/t9n/crowdsource-manager/resources_bs.json +2 -2
  45. package/dist/assets/t9n/crowdsource-manager/resources_ca.json +2 -2
  46. package/dist/assets/t9n/crowdsource-manager/resources_cs.json +2 -2
  47. package/dist/assets/t9n/crowdsource-manager/resources_da.json +2 -2
  48. package/dist/assets/t9n/crowdsource-manager/resources_de.json +2 -2
  49. package/dist/assets/t9n/crowdsource-manager/resources_el.json +2 -2
  50. package/dist/assets/t9n/crowdsource-manager/resources_es.json +2 -2
  51. package/dist/assets/t9n/crowdsource-manager/resources_et.json +2 -2
  52. package/dist/assets/t9n/crowdsource-manager/resources_fi.json +2 -2
  53. package/dist/assets/t9n/crowdsource-manager/resources_fr.json +2 -2
  54. package/dist/assets/t9n/crowdsource-manager/resources_he.json +2 -2
  55. package/dist/assets/t9n/crowdsource-manager/resources_hr.json +2 -2
  56. package/dist/assets/t9n/crowdsource-manager/resources_hu.json +2 -2
  57. package/dist/assets/t9n/crowdsource-manager/resources_id.json +2 -2
  58. package/dist/assets/t9n/crowdsource-manager/resources_it.json +2 -2
  59. package/dist/assets/t9n/crowdsource-manager/resources_ja.json +2 -2
  60. package/dist/assets/t9n/crowdsource-manager/resources_ko.json +2 -2
  61. package/dist/assets/t9n/crowdsource-manager/resources_lt.json +2 -2
  62. package/dist/assets/t9n/crowdsource-manager/resources_lv.json +2 -2
  63. package/dist/assets/t9n/crowdsource-manager/resources_nb.json +2 -2
  64. package/dist/assets/t9n/crowdsource-manager/resources_nl.json +2 -2
  65. package/dist/assets/t9n/crowdsource-manager/resources_pl.json +2 -2
  66. package/dist/assets/t9n/crowdsource-manager/resources_pt-BR.json +2 -2
  67. package/dist/assets/t9n/crowdsource-manager/resources_pt-PT.json +2 -2
  68. package/dist/assets/t9n/crowdsource-manager/resources_ro.json +2 -2
  69. package/dist/assets/t9n/crowdsource-manager/resources_ru.json +2 -2
  70. package/dist/assets/t9n/crowdsource-manager/resources_sk.json +2 -2
  71. package/dist/assets/t9n/crowdsource-manager/resources_sl.json +2 -2
  72. package/dist/assets/t9n/crowdsource-manager/resources_sr.json +2 -2
  73. package/dist/assets/t9n/crowdsource-manager/resources_sv.json +2 -2
  74. package/dist/assets/t9n/crowdsource-manager/resources_th.json +2 -2
  75. package/dist/assets/t9n/crowdsource-manager/resources_tr.json +2 -2
  76. package/dist/assets/t9n/crowdsource-manager/resources_uk.json +2 -2
  77. package/dist/assets/t9n/crowdsource-manager/resources_vi.json +2 -2
  78. package/dist/assets/t9n/crowdsource-manager/resources_zh-CN.json +2 -2
  79. package/dist/assets/t9n/crowdsource-manager/resources_zh-HK.json +2 -2
  80. package/dist/assets/t9n/crowdsource-manager/resources_zh-TW.json +2 -2
  81. package/dist/assets/t9n/crowdsource-reporter/resources_ar.json +20 -0
  82. package/dist/assets/t9n/crowdsource-reporter/resources_bg.json +20 -0
  83. package/dist/assets/t9n/crowdsource-reporter/resources_bs.json +20 -0
  84. package/dist/assets/t9n/crowdsource-reporter/resources_ca.json +20 -0
  85. package/dist/assets/t9n/crowdsource-reporter/resources_cs.json +20 -0
  86. package/dist/assets/t9n/crowdsource-reporter/resources_da.json +20 -0
  87. package/dist/assets/t9n/crowdsource-reporter/resources_de.json +20 -0
  88. package/dist/assets/t9n/crowdsource-reporter/resources_el.json +20 -0
  89. package/dist/assets/t9n/crowdsource-reporter/resources_es.json +20 -0
  90. package/dist/assets/t9n/crowdsource-reporter/resources_et.json +20 -0
  91. package/dist/assets/t9n/crowdsource-reporter/resources_fi.json +20 -0
  92. package/dist/assets/t9n/crowdsource-reporter/resources_fr.json +20 -0
  93. package/dist/assets/t9n/crowdsource-reporter/resources_he.json +20 -0
  94. package/dist/assets/t9n/crowdsource-reporter/resources_hr.json +20 -0
  95. package/dist/assets/t9n/crowdsource-reporter/resources_hu.json +20 -0
  96. package/dist/assets/t9n/crowdsource-reporter/resources_id.json +20 -0
  97. package/dist/assets/t9n/crowdsource-reporter/resources_it.json +20 -0
  98. package/dist/assets/t9n/crowdsource-reporter/resources_ja.json +20 -0
  99. package/dist/assets/t9n/crowdsource-reporter/resources_ko.json +20 -0
  100. package/dist/assets/t9n/crowdsource-reporter/resources_lt.json +20 -0
  101. package/dist/assets/t9n/crowdsource-reporter/resources_lv.json +20 -0
  102. package/dist/assets/t9n/crowdsource-reporter/resources_nb.json +20 -0
  103. package/dist/assets/t9n/crowdsource-reporter/resources_nl.json +20 -0
  104. package/dist/assets/t9n/crowdsource-reporter/resources_pl.json +20 -0
  105. package/dist/assets/t9n/crowdsource-reporter/resources_pt-BR.json +20 -0
  106. package/dist/assets/t9n/crowdsource-reporter/resources_pt-PT.json +20 -0
  107. package/dist/assets/t9n/crowdsource-reporter/resources_ro.json +20 -0
  108. package/dist/assets/t9n/crowdsource-reporter/resources_ru.json +20 -0
  109. package/dist/assets/t9n/crowdsource-reporter/resources_sk.json +20 -0
  110. package/dist/assets/t9n/crowdsource-reporter/resources_sl.json +20 -0
  111. package/dist/assets/t9n/crowdsource-reporter/resources_sr.json +20 -0
  112. package/dist/assets/t9n/crowdsource-reporter/resources_sv.json +20 -0
  113. package/dist/assets/t9n/crowdsource-reporter/resources_th.json +20 -0
  114. package/dist/assets/t9n/crowdsource-reporter/resources_tr.json +20 -0
  115. package/dist/assets/t9n/crowdsource-reporter/resources_uk.json +20 -0
  116. package/dist/assets/t9n/crowdsource-reporter/resources_vi.json +20 -0
  117. package/dist/assets/t9n/crowdsource-reporter/resources_zh-CN.json +20 -0
  118. package/dist/assets/t9n/crowdsource-reporter/resources_zh-HK.json +20 -0
  119. package/dist/assets/t9n/crowdsource-reporter/resources_zh-TW.json +20 -0
  120. package/dist/assets/t9n/delete-button/resources_ar.json +8 -0
  121. package/dist/assets/t9n/delete-button/resources_bg.json +8 -0
  122. package/dist/assets/t9n/delete-button/resources_bs.json +8 -0
  123. package/dist/assets/t9n/delete-button/resources_ca.json +8 -0
  124. package/dist/assets/t9n/delete-button/resources_cs.json +8 -0
  125. package/dist/assets/t9n/delete-button/resources_da.json +8 -0
  126. package/dist/assets/t9n/delete-button/resources_de.json +8 -0
  127. package/dist/assets/t9n/delete-button/resources_el.json +8 -0
  128. package/dist/assets/t9n/delete-button/resources_es.json +8 -0
  129. package/dist/assets/t9n/delete-button/resources_et.json +8 -0
  130. package/dist/assets/t9n/delete-button/resources_fi.json +8 -0
  131. package/dist/assets/t9n/delete-button/resources_fr.json +8 -0
  132. package/dist/assets/t9n/delete-button/resources_he.json +8 -0
  133. package/dist/assets/t9n/delete-button/resources_hr.json +8 -0
  134. package/dist/assets/t9n/delete-button/resources_hu.json +8 -0
  135. package/dist/assets/t9n/delete-button/resources_id.json +8 -0
  136. package/dist/assets/t9n/delete-button/resources_it.json +8 -0
  137. package/dist/assets/t9n/delete-button/resources_ja.json +8 -0
  138. package/dist/assets/t9n/delete-button/resources_ko.json +8 -0
  139. package/dist/assets/t9n/delete-button/resources_lt.json +8 -0
  140. package/dist/assets/t9n/delete-button/resources_lv.json +8 -0
  141. package/dist/assets/t9n/delete-button/resources_nb.json +8 -0
  142. package/dist/assets/t9n/delete-button/resources_nl.json +8 -0
  143. package/dist/assets/t9n/delete-button/resources_pl.json +8 -0
  144. package/dist/assets/t9n/delete-button/resources_pt-BR.json +8 -0
  145. package/dist/assets/t9n/delete-button/resources_pt-PT.json +8 -0
  146. package/dist/assets/t9n/delete-button/resources_ro.json +8 -0
  147. package/dist/assets/t9n/delete-button/resources_ru.json +8 -0
  148. package/dist/assets/t9n/delete-button/resources_sk.json +8 -0
  149. package/dist/assets/t9n/delete-button/resources_sl.json +8 -0
  150. package/dist/assets/t9n/delete-button/resources_sr.json +8 -0
  151. package/dist/assets/t9n/delete-button/resources_sv.json +8 -0
  152. package/dist/assets/t9n/delete-button/resources_th.json +8 -0
  153. package/dist/assets/t9n/delete-button/resources_tr.json +8 -0
  154. package/dist/assets/t9n/delete-button/resources_uk.json +8 -0
  155. package/dist/assets/t9n/delete-button/resources_vi.json +8 -0
  156. package/dist/assets/t9n/delete-button/resources_zh-CN.json +8 -0
  157. package/dist/assets/t9n/delete-button/resources_zh-HK.json +8 -0
  158. package/dist/assets/t9n/delete-button/resources_zh-TW.json +8 -0
  159. package/dist/assets/t9n/feature-list/resources_ar.json +4 -0
  160. package/dist/assets/t9n/feature-list/resources_bg.json +4 -0
  161. package/dist/assets/t9n/feature-list/resources_bs.json +4 -0
  162. package/dist/assets/t9n/feature-list/resources_ca.json +4 -0
  163. package/dist/assets/t9n/feature-list/resources_cs.json +4 -0
  164. package/dist/assets/t9n/feature-list/resources_da.json +4 -0
  165. package/dist/assets/t9n/feature-list/resources_de.json +4 -0
  166. package/dist/assets/t9n/feature-list/resources_el.json +4 -0
  167. package/dist/assets/t9n/feature-list/resources_es.json +4 -0
  168. package/dist/assets/t9n/feature-list/resources_et.json +4 -0
  169. package/dist/assets/t9n/feature-list/resources_fi.json +4 -0
  170. package/dist/assets/t9n/feature-list/resources_fr.json +4 -0
  171. package/dist/assets/t9n/feature-list/resources_he.json +4 -0
  172. package/dist/assets/t9n/feature-list/resources_hr.json +4 -0
  173. package/dist/assets/t9n/feature-list/resources_hu.json +4 -0
  174. package/dist/assets/t9n/feature-list/resources_id.json +4 -0
  175. package/dist/assets/t9n/feature-list/resources_it.json +4 -0
  176. package/dist/assets/t9n/feature-list/resources_ja.json +4 -0
  177. package/dist/assets/t9n/feature-list/resources_ko.json +4 -0
  178. package/dist/assets/t9n/feature-list/resources_lt.json +4 -0
  179. package/dist/assets/t9n/feature-list/resources_lv.json +4 -0
  180. package/dist/assets/t9n/feature-list/resources_nb.json +4 -0
  181. package/dist/assets/t9n/feature-list/resources_nl.json +4 -0
  182. package/dist/assets/t9n/feature-list/resources_pl.json +4 -0
  183. package/dist/assets/t9n/feature-list/resources_pt-BR.json +4 -0
  184. package/dist/assets/t9n/feature-list/resources_pt-PT.json +4 -0
  185. package/dist/assets/t9n/feature-list/resources_ro.json +4 -0
  186. package/dist/assets/t9n/feature-list/resources_ru.json +4 -0
  187. package/dist/assets/t9n/feature-list/resources_sk.json +4 -0
  188. package/dist/assets/t9n/feature-list/resources_sl.json +4 -0
  189. package/dist/assets/t9n/feature-list/resources_sr.json +4 -0
  190. package/dist/assets/t9n/feature-list/resources_sv.json +4 -0
  191. package/dist/assets/t9n/feature-list/resources_th.json +4 -0
  192. package/dist/assets/t9n/feature-list/resources_tr.json +4 -0
  193. package/dist/assets/t9n/feature-list/resources_uk.json +4 -0
  194. package/dist/assets/t9n/feature-list/resources_vi.json +4 -0
  195. package/dist/assets/t9n/feature-list/resources_zh-CN.json +4 -0
  196. package/dist/assets/t9n/feature-list/resources_zh-HK.json +4 -0
  197. package/dist/assets/t9n/feature-list/resources_zh-TW.json +4 -0
  198. package/dist/assets/t9n/info-card/resources_ar.json +2 -1
  199. package/dist/assets/t9n/info-card/resources_bg.json +2 -1
  200. package/dist/assets/t9n/info-card/resources_bs.json +2 -1
  201. package/dist/assets/t9n/info-card/resources_ca.json +2 -1
  202. package/dist/assets/t9n/info-card/resources_cs.json +2 -1
  203. package/dist/assets/t9n/info-card/resources_da.json +2 -1
  204. package/dist/assets/t9n/info-card/resources_de.json +2 -1
  205. package/dist/assets/t9n/info-card/resources_el.json +2 -1
  206. package/dist/assets/t9n/info-card/resources_es.json +2 -1
  207. package/dist/assets/t9n/info-card/resources_et.json +2 -1
  208. package/dist/assets/t9n/info-card/resources_fi.json +2 -1
  209. package/dist/assets/t9n/info-card/resources_fr.json +2 -1
  210. package/dist/assets/t9n/info-card/resources_he.json +2 -1
  211. package/dist/assets/t9n/info-card/resources_hr.json +2 -1
  212. package/dist/assets/t9n/info-card/resources_hu.json +2 -1
  213. package/dist/assets/t9n/info-card/resources_id.json +2 -1
  214. package/dist/assets/t9n/info-card/resources_it.json +2 -1
  215. package/dist/assets/t9n/info-card/resources_ja.json +2 -1
  216. package/dist/assets/t9n/info-card/resources_ko.json +2 -1
  217. package/dist/assets/t9n/info-card/resources_lt.json +2 -1
  218. package/dist/assets/t9n/info-card/resources_lv.json +2 -1
  219. package/dist/assets/t9n/info-card/resources_nb.json +2 -1
  220. package/dist/assets/t9n/info-card/resources_nl.json +2 -1
  221. package/dist/assets/t9n/info-card/resources_pl.json +2 -1
  222. package/dist/assets/t9n/info-card/resources_pt-BR.json +2 -1
  223. package/dist/assets/t9n/info-card/resources_pt-PT.json +2 -1
  224. package/dist/assets/t9n/info-card/resources_ro.json +2 -1
  225. package/dist/assets/t9n/info-card/resources_ru.json +2 -1
  226. package/dist/assets/t9n/info-card/resources_sk.json +2 -1
  227. package/dist/assets/t9n/info-card/resources_sl.json +2 -1
  228. package/dist/assets/t9n/info-card/resources_sr.json +2 -1
  229. package/dist/assets/t9n/info-card/resources_sv.json +2 -1
  230. package/dist/assets/t9n/info-card/resources_th.json +2 -1
  231. package/dist/assets/t9n/info-card/resources_tr.json +2 -1
  232. package/dist/assets/t9n/info-card/resources_uk.json +2 -1
  233. package/dist/assets/t9n/info-card/resources_vi.json +2 -1
  234. package/dist/assets/t9n/info-card/resources_zh-CN.json +2 -1
  235. package/dist/assets/t9n/info-card/resources_zh-HK.json +2 -1
  236. package/dist/assets/t9n/info-card/resources_zh-TW.json +2 -1
  237. package/dist/assets/t9n/layer-list/resources_ar.json +4 -0
  238. package/dist/assets/t9n/layer-list/resources_bg.json +4 -0
  239. package/dist/assets/t9n/layer-list/resources_bs.json +4 -0
  240. package/dist/assets/t9n/layer-list/resources_ca.json +4 -0
  241. package/dist/assets/t9n/layer-list/resources_cs.json +4 -0
  242. package/dist/assets/t9n/layer-list/resources_da.json +4 -0
  243. package/dist/assets/t9n/layer-list/resources_de.json +4 -0
  244. package/dist/assets/t9n/layer-list/resources_el.json +4 -0
  245. package/dist/assets/t9n/layer-list/resources_es.json +4 -0
  246. package/dist/assets/t9n/layer-list/resources_et.json +4 -0
  247. package/dist/assets/t9n/layer-list/resources_fi.json +4 -0
  248. package/dist/assets/t9n/layer-list/resources_fr.json +4 -0
  249. package/dist/assets/t9n/layer-list/resources_he.json +4 -0
  250. package/dist/assets/t9n/layer-list/resources_hr.json +4 -0
  251. package/dist/assets/t9n/layer-list/resources_hu.json +4 -0
  252. package/dist/assets/t9n/layer-list/resources_id.json +4 -0
  253. package/dist/assets/t9n/layer-list/resources_it.json +4 -0
  254. package/dist/assets/t9n/layer-list/resources_ja.json +4 -0
  255. package/dist/assets/t9n/layer-list/resources_ko.json +4 -0
  256. package/dist/assets/t9n/layer-list/resources_lt.json +4 -0
  257. package/dist/assets/t9n/layer-list/resources_lv.json +4 -0
  258. package/dist/assets/t9n/layer-list/resources_nb.json +4 -0
  259. package/dist/assets/t9n/layer-list/resources_nl.json +4 -0
  260. package/dist/assets/t9n/layer-list/resources_pl.json +4 -0
  261. package/dist/assets/t9n/layer-list/resources_pt-BR.json +4 -0
  262. package/dist/assets/t9n/layer-list/resources_pt-PT.json +4 -0
  263. package/dist/assets/t9n/layer-list/resources_ro.json +4 -0
  264. package/dist/assets/t9n/layer-list/resources_ru.json +4 -0
  265. package/dist/assets/t9n/layer-list/resources_sk.json +4 -0
  266. package/dist/assets/t9n/layer-list/resources_sl.json +4 -0
  267. package/dist/assets/t9n/layer-list/resources_sr.json +4 -0
  268. package/dist/assets/t9n/layer-list/resources_sv.json +4 -0
  269. package/dist/assets/t9n/layer-list/resources_th.json +4 -0
  270. package/dist/assets/t9n/layer-list/resources_tr.json +4 -0
  271. package/dist/assets/t9n/layer-list/resources_uk.json +4 -0
  272. package/dist/assets/t9n/layer-list/resources_vi.json +4 -0
  273. package/dist/assets/t9n/layer-list/resources_zh-CN.json +4 -0
  274. package/dist/assets/t9n/layer-list/resources_zh-HK.json +4 -0
  275. package/dist/assets/t9n/layer-list/resources_zh-TW.json +4 -0
  276. package/dist/assets/t9n/layer-table/resources_ar.json +5 -9
  277. package/dist/assets/t9n/layer-table/resources_bg.json +5 -9
  278. package/dist/assets/t9n/layer-table/resources_bs.json +5 -9
  279. package/dist/assets/t9n/layer-table/resources_ca.json +5 -9
  280. package/dist/assets/t9n/layer-table/resources_cs.json +5 -9
  281. package/dist/assets/t9n/layer-table/resources_da.json +5 -9
  282. package/dist/assets/t9n/layer-table/resources_de.json +5 -9
  283. package/dist/assets/t9n/layer-table/resources_el.json +5 -9
  284. package/dist/assets/t9n/layer-table/resources_es.json +5 -9
  285. package/dist/assets/t9n/layer-table/resources_et.json +5 -9
  286. package/dist/assets/t9n/layer-table/resources_fi.json +5 -9
  287. package/dist/assets/t9n/layer-table/resources_fr.json +5 -9
  288. package/dist/assets/t9n/layer-table/resources_he.json +5 -9
  289. package/dist/assets/t9n/layer-table/resources_hr.json +5 -9
  290. package/dist/assets/t9n/layer-table/resources_hu.json +5 -9
  291. package/dist/assets/t9n/layer-table/resources_id.json +5 -9
  292. package/dist/assets/t9n/layer-table/resources_it.json +5 -9
  293. package/dist/assets/t9n/layer-table/resources_ja.json +5 -9
  294. package/dist/assets/t9n/layer-table/resources_ko.json +5 -9
  295. package/dist/assets/t9n/layer-table/resources_lt.json +5 -9
  296. package/dist/assets/t9n/layer-table/resources_lv.json +5 -9
  297. package/dist/assets/t9n/layer-table/resources_nb.json +5 -9
  298. package/dist/assets/t9n/layer-table/resources_nl.json +5 -9
  299. package/dist/assets/t9n/layer-table/resources_pl.json +5 -9
  300. package/dist/assets/t9n/layer-table/resources_pt-BR.json +5 -9
  301. package/dist/assets/t9n/layer-table/resources_pt-PT.json +5 -9
  302. package/dist/assets/t9n/layer-table/resources_ro.json +5 -9
  303. package/dist/assets/t9n/layer-table/resources_ru.json +5 -9
  304. package/dist/assets/t9n/layer-table/resources_sk.json +5 -9
  305. package/dist/assets/t9n/layer-table/resources_sl.json +5 -9
  306. package/dist/assets/t9n/layer-table/resources_sr.json +5 -9
  307. package/dist/assets/t9n/layer-table/resources_sv.json +5 -9
  308. package/dist/assets/t9n/layer-table/resources_th.json +5 -9
  309. package/dist/assets/t9n/layer-table/resources_tr.json +5 -9
  310. package/dist/assets/t9n/layer-table/resources_uk.json +5 -9
  311. package/dist/assets/t9n/layer-table/resources_vi.json +5 -9
  312. package/dist/assets/t9n/layer-table/resources_zh-CN.json +5 -9
  313. package/dist/assets/t9n/layer-table/resources_zh-HK.json +5 -9
  314. package/dist/assets/t9n/layer-table/resources_zh-TW.json +5 -9
  315. package/dist/assets/t9n/map-tools/resources_ar.json +2 -2
  316. package/dist/assets/t9n/map-tools/resources_bg.json +2 -2
  317. package/dist/assets/t9n/map-tools/resources_bs.json +2 -2
  318. package/dist/assets/t9n/map-tools/resources_ca.json +2 -2
  319. package/dist/assets/t9n/map-tools/resources_cs.json +2 -2
  320. package/dist/assets/t9n/map-tools/resources_da.json +2 -2
  321. package/dist/assets/t9n/map-tools/resources_de.json +2 -2
  322. package/dist/assets/t9n/map-tools/resources_el.json +2 -2
  323. package/dist/assets/t9n/map-tools/resources_es.json +2 -2
  324. package/dist/assets/t9n/map-tools/resources_et.json +2 -2
  325. package/dist/assets/t9n/map-tools/resources_fi.json +2 -2
  326. package/dist/assets/t9n/map-tools/resources_fr.json +2 -2
  327. package/dist/assets/t9n/map-tools/resources_he.json +2 -2
  328. package/dist/assets/t9n/map-tools/resources_hr.json +2 -2
  329. package/dist/assets/t9n/map-tools/resources_hu.json +2 -2
  330. package/dist/assets/t9n/map-tools/resources_id.json +2 -2
  331. package/dist/assets/t9n/map-tools/resources_it.json +2 -2
  332. package/dist/assets/t9n/map-tools/resources_ja.json +2 -2
  333. package/dist/assets/t9n/map-tools/resources_ko.json +2 -2
  334. package/dist/assets/t9n/map-tools/resources_lt.json +2 -2
  335. package/dist/assets/t9n/map-tools/resources_lv.json +2 -2
  336. package/dist/assets/t9n/map-tools/resources_nb.json +2 -2
  337. package/dist/assets/t9n/map-tools/resources_nl.json +2 -2
  338. package/dist/assets/t9n/map-tools/resources_pl.json +2 -2
  339. package/dist/assets/t9n/map-tools/resources_pt-BR.json +2 -2
  340. package/dist/assets/t9n/map-tools/resources_pt-PT.json +2 -2
  341. package/dist/assets/t9n/map-tools/resources_ro.json +2 -2
  342. package/dist/assets/t9n/map-tools/resources_ru.json +2 -2
  343. package/dist/assets/t9n/map-tools/resources_sk.json +2 -2
  344. package/dist/assets/t9n/map-tools/resources_sl.json +2 -2
  345. package/dist/assets/t9n/map-tools/resources_sr.json +2 -2
  346. package/dist/assets/t9n/map-tools/resources_sv.json +2 -2
  347. package/dist/assets/t9n/map-tools/resources_th.json +2 -2
  348. package/dist/assets/t9n/map-tools/resources_tr.json +2 -2
  349. package/dist/assets/t9n/map-tools/resources_uk.json +2 -2
  350. package/dist/assets/t9n/map-tools/resources_vi.json +2 -2
  351. package/dist/assets/t9n/map-tools/resources_zh-CN.json +2 -2
  352. package/dist/assets/t9n/map-tools/resources_zh-HK.json +2 -2
  353. package/dist/assets/t9n/map-tools/resources_zh-TW.json +2 -2
  354. package/dist/assets/t9n/public-notification/resources_ar.json +2 -2
  355. package/dist/assets/t9n/public-notification/resources_bg.json +2 -2
  356. package/dist/assets/t9n/public-notification/resources_bs.json +2 -2
  357. package/dist/assets/t9n/public-notification/resources_ca.json +2 -2
  358. package/dist/assets/t9n/public-notification/resources_cs.json +2 -2
  359. package/dist/assets/t9n/public-notification/resources_da.json +2 -2
  360. package/dist/assets/t9n/public-notification/resources_de.json +2 -2
  361. package/dist/assets/t9n/public-notification/resources_el.json +2 -2
  362. package/dist/assets/t9n/public-notification/resources_es.json +2 -2
  363. package/dist/assets/t9n/public-notification/resources_et.json +2 -2
  364. package/dist/assets/t9n/public-notification/resources_fi.json +2 -2
  365. package/dist/assets/t9n/public-notification/resources_fr.json +2 -2
  366. package/dist/assets/t9n/public-notification/resources_he.json +2 -2
  367. package/dist/assets/t9n/public-notification/resources_hr.json +2 -2
  368. package/dist/assets/t9n/public-notification/resources_hu.json +2 -2
  369. package/dist/assets/t9n/public-notification/resources_id.json +2 -2
  370. package/dist/assets/t9n/public-notification/resources_it.json +2 -2
  371. package/dist/assets/t9n/public-notification/resources_ja.json +2 -2
  372. package/dist/assets/t9n/public-notification/resources_ko.json +2 -2
  373. package/dist/assets/t9n/public-notification/resources_lt.json +2 -2
  374. package/dist/assets/t9n/public-notification/resources_lv.json +2 -2
  375. package/dist/assets/t9n/public-notification/resources_nb.json +2 -2
  376. package/dist/assets/t9n/public-notification/resources_nl.json +2 -2
  377. package/dist/assets/t9n/public-notification/resources_pl.json +2 -2
  378. package/dist/assets/t9n/public-notification/resources_pt-BR.json +2 -2
  379. package/dist/assets/t9n/public-notification/resources_pt-PT.json +2 -2
  380. package/dist/assets/t9n/public-notification/resources_ro.json +2 -2
  381. package/dist/assets/t9n/public-notification/resources_ru.json +2 -2
  382. package/dist/assets/t9n/public-notification/resources_sk.json +2 -2
  383. package/dist/assets/t9n/public-notification/resources_sl.json +2 -2
  384. package/dist/assets/t9n/public-notification/resources_sr.json +2 -2
  385. package/dist/assets/t9n/public-notification/resources_sv.json +2 -2
  386. package/dist/assets/t9n/public-notification/resources_th.json +2 -2
  387. package/dist/assets/t9n/public-notification/resources_tr.json +2 -2
  388. package/dist/assets/t9n/public-notification/resources_uk.json +2 -2
  389. package/dist/assets/t9n/public-notification/resources_vi.json +2 -2
  390. package/dist/assets/t9n/public-notification/resources_zh-CN.json +2 -2
  391. package/dist/assets/t9n/public-notification/resources_zh-HK.json +2 -2
  392. package/dist/assets/t9n/public-notification/resources_zh-TW.json +2 -2
  393. package/dist/cjs/calcite-flow_4.cjs.entry.js +9 -6
  394. package/dist/cjs/card-manager_3.cjs.entry.js +3 -3
  395. package/dist/cjs/crowdsource-reporter.cjs.entry.js +86 -2
  396. package/dist/cjs/loader.cjs.js +1 -1
  397. package/dist/cjs/solutions-components.cjs.js +1 -1
  398. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +88 -3
  399. package/dist/collection/components/feature-list/feature-list.js +1 -0
  400. package/dist/collection/components/layer-list/layer-list.css +4 -0
  401. package/dist/collection/components/layer-list/layer-list.js +43 -5
  402. package/dist/collection/components/layer-table/layer-table.js +4 -4
  403. package/dist/collection/demos/crowdsource-reporter.html +4 -4
  404. package/dist/collection/demos/feature-list.html +1 -1
  405. package/dist/components/crowdsource-reporter.js +88 -3
  406. package/dist/components/feature-list2.js +1 -0
  407. package/dist/components/layer-list2.js +10 -6
  408. package/dist/components/layer-table2.js +4 -4
  409. package/dist/esm/calcite-alert_4.entry.js +1 -1
  410. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  411. package/dist/esm/calcite-flow_4.entry.js +10 -7
  412. package/dist/esm/card-manager_3.entry.js +5 -5
  413. package/dist/esm/crowdsource-manager.entry.js +1 -1
  414. package/dist/esm/crowdsource-reporter.entry.js +87 -3
  415. package/dist/esm/{downloadUtils-a301c193.js → downloadUtils-d070a467.js} +2 -2
  416. package/dist/esm/{index.es-37a9907e.js → index.es-d48535a2.js} +2 -2
  417. package/dist/esm/loader.js +1 -1
  418. package/dist/esm/map-select-tools_3.entry.js +2 -2
  419. package/dist/esm/{mapViewUtils-6daedef8.js → mapViewUtils-cf05e880.js} +1 -1
  420. package/dist/esm/public-notification.entry.js +2 -2
  421. package/dist/esm/solutions-components.js +1 -1
  422. package/dist/solutions-components/demos/crowdsource-reporter.html +4 -4
  423. package/dist/solutions-components/demos/feature-list.html +1 -1
  424. package/dist/solutions-components/{p-4566438a.js → p-2c382841.js} +1 -1
  425. package/dist/solutions-components/p-2f162664.entry.js +6 -0
  426. package/dist/solutions-components/{p-fe295e9d.entry.js → p-309cdea1.entry.js} +1 -1
  427. package/dist/solutions-components/{p-a603e673.js → p-55b835a1.js} +2 -2
  428. package/dist/solutions-components/{p-12de822a.entry.js → p-6b2b8b41.entry.js} +1 -1
  429. package/dist/solutions-components/{p-dbe62aaf.entry.js → p-802acc51.entry.js} +1 -1
  430. package/dist/solutions-components/{p-6a452a84.entry.js → p-94ee3ef7.entry.js} +3 -3
  431. package/dist/solutions-components/{p-643e7ee1.entry.js → p-b699637f.entry.js} +1 -1
  432. package/dist/solutions-components/{p-0587972d.js → p-b913a4fd.js} +1 -1
  433. package/dist/solutions-components/p-f120ff40.entry.js +6 -0
  434. package/dist/solutions-components/{p-b37ec1f3.entry.js → p-f22ff57e.entry.js} +1 -1
  435. package/dist/solutions-components/solutions-components.esm.js +1 -1
  436. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +41 -4
  437. package/dist/types/components/feature-list/feature-list.d.ts +1 -0
  438. package/dist/types/components/layer-list/layer-list.d.ts +10 -2
  439. package/dist/types/components/layer-table/layer-table.d.ts +1 -1
  440. package/dist/types/components.d.ts +16 -0
  441. package/package.json +1 -1
  442. package/dist/solutions-components/p-5c22e9f4.entry.js +0 -6
  443. package/dist/solutions-components/p-8756eebb.entry.js +0 -6
@@ -20,6 +20,8 @@
20
20
  */
21
21
  import { Host, h } from "@stencil/core";
22
22
  import { getLocaleComponentStrings } from "../../utils/locale";
23
+ import { loadModules } from "../../utils/loadModules";
24
+ import { getAllLayers } from "../../utils/mapViewUtils";
23
25
  export class CrowdsourceReporter {
24
26
  constructor() {
25
27
  this.description = undefined;
@@ -48,6 +50,7 @@ export class CrowdsourceReporter {
48
50
  this._sidePanelCollapsed = false;
49
51
  this._translations = undefined;
50
52
  this._hasValidLayers = false;
53
+ this._selectedLayerName = undefined;
51
54
  }
52
55
  //--------------------------------------------------------------------------
53
56
  //
@@ -79,6 +82,7 @@ export class CrowdsourceReporter {
79
82
  * @returns Promise when complete
80
83
  */
81
84
  async componentWillLoad() {
85
+ await this._initModules();
82
86
  await this._getTranslations();
83
87
  }
84
88
  /**
@@ -92,6 +96,19 @@ export class CrowdsourceReporter {
92
96
  // Functions (protected)
93
97
  //
94
98
  //--------------------------------------------------------------------------
99
+ /**
100
+ * Load esri javascript api modules
101
+ *
102
+ * @returns Promise resolving when function is done
103
+ *
104
+ * @protected
105
+ */
106
+ async _initModules() {
107
+ const [reactiveUtils] = await loadModules([
108
+ "esri/core/reactiveUtils"
109
+ ]);
110
+ this.reactiveUtils = reactiveUtils;
111
+ }
95
112
  /**
96
113
  * Get the reporter app functionality
97
114
  * @protected
@@ -125,7 +142,7 @@ export class CrowdsourceReporter {
125
142
  return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers &&
126
143
  h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), this._hasValidLayers &&
127
144
  h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
128
- h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
145
+ h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), showFeatureCount: true, showNextIcon: true }))));
129
146
  }
130
147
  /**
131
148
  * When layer list is loaded, we will receive the list of layers, if its means we don't have any valid layer to be listed
@@ -134,6 +151,7 @@ export class CrowdsourceReporter {
134
151
  */
135
152
  layerListLoaded(evt) {
136
153
  const layersListed = evt.detail;
154
+ this.handleMapClick(layersListed);
137
155
  this._hasValidLayers = layersListed.length > 0;
138
156
  }
139
157
  /**On click of layer list item show feature list
@@ -173,6 +191,7 @@ export class CrowdsourceReporter {
173
191
  /**
174
192
  * Get feature list of the selected feature layer
175
193
  * @param layerId Layer id
194
+ * @param layerName Layer name
176
195
  * @returns feature list node
177
196
  * @protected
178
197
  */
@@ -185,7 +204,15 @@ export class CrowdsourceReporter {
185
204
  * @returns Node
186
205
  */
187
206
  getFeatureDetailsFlowItem() {
188
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, zoomAndScrollToSelected: true }))));
207
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: this.featureDetailsChanged.bind(this), zoomAndScrollToSelected: true }))));
208
+ }
209
+ /**
210
+ * On Feature details change update the Layer title and the current selected layer id
211
+ * @param evt Event hold the details of current feature graphic in the info-card
212
+ */
213
+ featureDetailsChanged(evt) {
214
+ this._selectedLayerId = evt.detail[0].layer.id;
215
+ this._selectedLayerName = evt.detail[0].layer.title;
189
216
  }
190
217
  /**
191
218
  * Returns the action button to Expand/Collapse side panel in mobile mode
@@ -208,6 +235,63 @@ export class CrowdsourceReporter {
208
235
  this._defaultLevel = undefined;
209
236
  }
210
237
  }
238
+ /**
239
+ * Handle map click event
240
+ * @param layers Array of layerIds
241
+ *
242
+ * @protected
243
+ */
244
+ handleMapClick(layers) {
245
+ if (this._mapClickHandle) {
246
+ this._mapClickHandle.remove();
247
+ }
248
+ this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
249
+ void this.onMapClick(event, layers);
250
+ });
251
+ }
252
+ /**
253
+ * On map click do hitTest and get the clicked graphics of valid layers and show feature details
254
+ * @param event
255
+ * @param layers
256
+ *
257
+ * @protected
258
+ */
259
+ async onMapClick(event, layers) {
260
+ //disable map popup
261
+ this.mapView.popupEnabled = false;
262
+ // only include graphics from valid layers listed in the layer list widget
263
+ const allMapLayers = await getAllLayers(this.mapView);
264
+ const validLayers = [];
265
+ allMapLayers.forEach((eachLayer) => {
266
+ if (layers.includes(eachLayer.id)) {
267
+ validLayers.push(eachLayer);
268
+ }
269
+ });
270
+ const opts = {
271
+ include: validLayers
272
+ };
273
+ // Perform a hitTest on the View
274
+ const hitTest = await this.mapView.hitTest(event, opts);
275
+ if (hitTest.results.length > 0) {
276
+ const clickedGraphics = [];
277
+ hitTest.results.forEach(function (result) {
278
+ // check if the result type is graphic
279
+ if (result.type === 'graphic') {
280
+ clickedGraphics.push(result.graphic);
281
+ }
282
+ });
283
+ //update the selectedFeature
284
+ this._selectedFeature = clickedGraphics;
285
+ //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
286
+ // eslint-disable-next-line unicorn/prefer-ternary
287
+ if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
288
+ this._flowItems = [...this._flowItems, "feature-details"];
289
+ }
290
+ else {
291
+ this._flowItems = [...this._flowItems];
292
+ }
293
+ }
294
+ }
211
295
  /**
212
296
  * Fetches the component's translations
213
297
  * @returns Promise when complete
@@ -616,7 +700,8 @@ export class CrowdsourceReporter {
616
700
  "_flowItems": {},
617
701
  "_sidePanelCollapsed": {},
618
702
  "_translations": {},
619
- "_hasValidLayers": {}
703
+ "_hasValidLayers": {},
704
+ "_selectedLayerName": {}
620
705
  };
621
706
  }
622
707
  static get events() {
@@ -111,6 +111,7 @@ export class FeatureList {
111
111
  /**
112
112
  * On feature click in feature list highlight the feature on the map
113
113
  * @param event feature clicked event
114
+ * @param selectedFeature selected feature graphic
114
115
  * @protected
115
116
  */
116
117
  async featureClicked(event, selectedFeature) {
@@ -26,3 +26,7 @@
26
26
  font-weight: 500;
27
27
  padding: 10px 12px;
28
28
  }
29
+
30
+ .feature-count {
31
+ padding-right: 12px;
32
+ }
@@ -27,6 +27,8 @@ export class LayerList {
27
27
  this.mapView = undefined;
28
28
  this.layers = undefined;
29
29
  this.noLayerErrorMsg = undefined;
30
+ this.showFeatureCount = true;
31
+ this.showNextIcon = false;
30
32
  this._noLayersToDisplay = false;
31
33
  this._mapLayerIds = [];
32
34
  this._isLoading = false;
@@ -58,7 +60,7 @@ export class LayerList {
58
60
  render() {
59
61
  return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
60
62
  h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
61
- h("calcite-list", null, this.renderLayerList())));
63
+ h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single" }, this.renderLayerList())));
62
64
  }
63
65
  //--------------------------------------------------------------------------
64
66
  //
@@ -85,7 +87,7 @@ export class LayerList {
85
87
  this._layerItemsHash = await getMapLayerHash(this.mapView, true);
86
88
  const allMapLayers = await getAllLayers(this.mapView);
87
89
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
88
- allMapLayers.forEach(async (eachLayer) => {
90
+ this.showFeatureCount && allMapLayers.forEach(async (eachLayer) => {
89
91
  var _a, _b;
90
92
  //TODO: checking editable condition could be configurable
91
93
  if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsUpdate)) {
@@ -159,13 +161,13 @@ export class LayerList {
159
161
  getLayerListItem(layerId) {
160
162
  const layerName = this._layerItemsHash[layerId].name;
161
163
  const featureCount = this._layerItemsHash[layerId].formattedFeatureCount;
162
- return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.showFeaturesList(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), featureCount !== "" && h("div", { slot: "content-end" }, "(" + featureCount + ")"), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
164
+ return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.onLayerItemSelected(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), this.showFeatureCount && featureCount !== undefined && featureCount !== "" && h("div", { class: !this.showNextIcon ? "feature-count" : "", slot: "content-end" }, "(" + featureCount + ")"), this.showNextIcon && h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
163
165
  }
164
- /**On click of layer list item show feature list
166
+ /**On click of layer list item emit the event along with the selected layerId and layerName
165
167
  * @param layerId Layer id
166
168
  * @protected
167
169
  */
168
- showFeaturesList(layerId) {
170
+ onLayerItemSelected(layerId) {
169
171
  this.layerSelect.emit({ layerId, layerName: this._layerItemsHash[layerId].name });
170
172
  }
171
173
  /**
@@ -241,6 +243,42 @@ export class LayerList {
241
243
  },
242
244
  "attribute": "no-layer-error-msg",
243
245
  "reflect": false
246
+ },
247
+ "showFeatureCount": {
248
+ "type": "boolean",
249
+ "mutable": false,
250
+ "complexType": {
251
+ "original": "boolean",
252
+ "resolved": "boolean",
253
+ "references": {}
254
+ },
255
+ "required": false,
256
+ "optional": true,
257
+ "docs": {
258
+ "tags": [],
259
+ "text": "boolean: if true display's feature count for each layer"
260
+ },
261
+ "attribute": "show-feature-count",
262
+ "reflect": false,
263
+ "defaultValue": "true"
264
+ },
265
+ "showNextIcon": {
266
+ "type": "boolean",
267
+ "mutable": false,
268
+ "complexType": {
269
+ "original": "boolean",
270
+ "resolved": "boolean",
271
+ "references": {}
272
+ },
273
+ "required": false,
274
+ "optional": true,
275
+ "docs": {
276
+ "tags": [],
277
+ "text": "boolean: If true display's arrow icon on each layer item"
278
+ },
279
+ "attribute": "show-next-icon",
280
+ "reflect": false,
281
+ "defaultValue": "false"
244
282
  }
245
283
  };
246
284
  }
@@ -189,7 +189,7 @@ export class LayerTable {
189
189
  /**
190
190
  * watch for selection changes
191
191
  */
192
- async _selectedIdsWatchHandler() {
192
+ async selectedIdsWatchHandler() {
193
193
  this._updateShareUrl();
194
194
  this._validateEnabledActions();
195
195
  if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
@@ -1210,7 +1210,7 @@ export class LayerTable {
1210
1210
  _initLayerExpressions() {
1211
1211
  var _a, _b;
1212
1212
  const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
1213
- this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => exp.id === this._layer.id) : [];
1213
+ this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => { var _a; return exp.id === ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id); }) : [];
1214
1214
  this._filterList.layerExpressions = this._layerExpressions;
1215
1215
  this._filterActive = false;
1216
1216
  }
@@ -1751,8 +1751,8 @@ export class LayerTable {
1751
1751
  "propName": "_layer",
1752
1752
  "methodName": "_layerWatchHandler"
1753
1753
  }, {
1754
- "propName": "_selectedIds",
1755
- "methodName": "_selectedIdsWatchHandler"
1754
+ "propName": "selectedIds",
1755
+ "methodName": "selectedIdsWatchHandler"
1756
1756
  }, {
1757
1757
  "propName": "_sortActive",
1758
1758
  "methodName": "_sortActiveWatchHandler"
@@ -156,20 +156,20 @@
156
156
  //on change update the prop for is mobile
157
157
  mediaQueryList.onchange = (e) => {
158
158
  demo.isMobile = e.matches;
159
- togglePanel({detail:false})
159
+ togglePanel({ detail: false })
160
160
  }
161
161
  //listen to togglePanel event
162
162
  demo.addEventListener('togglePanel', togglePanel);
163
163
  });
164
164
 
165
- function togglePanel(evt){
165
+ function togglePanel(evt) {
166
166
  const state = evt.detail;
167
167
  const viewDiv = document.getElementById("viewDiv");
168
168
  const demo = document.getElementById("demo");
169
- if(state){
169
+ if (state) {
170
170
  demo.classList.add("column-collapsed");
171
171
  viewDiv.classList.add("map-with-panel-collapsed");
172
- } else{
172
+ } else {
173
173
  demo.classList.remove("column-collapsed");
174
174
  viewDiv.classList.remove("map-with-panel-collapsed");
175
175
  }
@@ -77,7 +77,7 @@
77
77
  view.when(function () {
78
78
  const demo = document.getElementById("demo");
79
79
  demo.mapView = view;
80
- demo.selectedLayerId = 'BirdObservationTryItLive_2797'
80
+ demo.selectedLayerId = 'BirdObservationTryItLive_2797';
81
81
  demo.pageSize = 30;
82
82
  })
83
83
  });
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
7
  import { g as getLocaleComponentStrings } from './locale.js';
8
+ import { l as loadModules } from './loadModules.js';
9
+ import { a as getAllLayers } from './mapViewUtils.js';
8
10
  import { d as defineCustomElement$u } from './action.js';
9
11
  import { d as defineCustomElement$t } from './action-menu.js';
10
12
  import { d as defineCustomElement$s } from './alert.js';
@@ -68,6 +70,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
68
70
  this._sidePanelCollapsed = false;
69
71
  this._translations = undefined;
70
72
  this._hasValidLayers = false;
73
+ this._selectedLayerName = undefined;
71
74
  }
72
75
  //--------------------------------------------------------------------------
73
76
  //
@@ -99,6 +102,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
99
102
  * @returns Promise when complete
100
103
  */
101
104
  async componentWillLoad() {
105
+ await this._initModules();
102
106
  await this._getTranslations();
103
107
  }
104
108
  /**
@@ -112,6 +116,19 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
112
116
  // Functions (protected)
113
117
  //
114
118
  //--------------------------------------------------------------------------
119
+ /**
120
+ * Load esri javascript api modules
121
+ *
122
+ * @returns Promise resolving when function is done
123
+ *
124
+ * @protected
125
+ */
126
+ async _initModules() {
127
+ const [reactiveUtils] = await loadModules([
128
+ "esri/core/reactiveUtils"
129
+ ]);
130
+ this.reactiveUtils = reactiveUtils;
131
+ }
115
132
  /**
116
133
  * Get the reporter app functionality
117
134
  * @protected
@@ -145,7 +162,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
145
162
  return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers &&
146
163
  h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), this._hasValidLayers &&
147
164
  h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
148
- h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
165
+ h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), showFeatureCount: true, showNextIcon: true }))));
149
166
  }
150
167
  /**
151
168
  * When layer list is loaded, we will receive the list of layers, if its means we don't have any valid layer to be listed
@@ -154,6 +171,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
154
171
  */
155
172
  layerListLoaded(evt) {
156
173
  const layersListed = evt.detail;
174
+ this.handleMapClick(layersListed);
157
175
  this._hasValidLayers = layersListed.length > 0;
158
176
  }
159
177
  /**On click of layer list item show feature list
@@ -193,6 +211,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
193
211
  /**
194
212
  * Get feature list of the selected feature layer
195
213
  * @param layerId Layer id
214
+ * @param layerName Layer name
196
215
  * @returns feature list node
197
216
  * @protected
198
217
  */
@@ -205,7 +224,15 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
205
224
  * @returns Node
206
225
  */
207
226
  getFeatureDetailsFlowItem() {
208
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, zoomAndScrollToSelected: true }))));
227
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: this.featureDetailsChanged.bind(this), zoomAndScrollToSelected: true }))));
228
+ }
229
+ /**
230
+ * On Feature details change update the Layer title and the current selected layer id
231
+ * @param evt Event hold the details of current feature graphic in the info-card
232
+ */
233
+ featureDetailsChanged(evt) {
234
+ this._selectedLayerId = evt.detail[0].layer.id;
235
+ this._selectedLayerName = evt.detail[0].layer.title;
209
236
  }
210
237
  /**
211
238
  * Returns the action button to Expand/Collapse side panel in mobile mode
@@ -228,6 +255,63 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
228
255
  this._defaultLevel = undefined;
229
256
  }
230
257
  }
258
+ /**
259
+ * Handle map click event
260
+ * @param layers Array of layerIds
261
+ *
262
+ * @protected
263
+ */
264
+ handleMapClick(layers) {
265
+ if (this._mapClickHandle) {
266
+ this._mapClickHandle.remove();
267
+ }
268
+ this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
269
+ void this.onMapClick(event, layers);
270
+ });
271
+ }
272
+ /**
273
+ * On map click do hitTest and get the clicked graphics of valid layers and show feature details
274
+ * @param event
275
+ * @param layers
276
+ *
277
+ * @protected
278
+ */
279
+ async onMapClick(event, layers) {
280
+ //disable map popup
281
+ this.mapView.popupEnabled = false;
282
+ // only include graphics from valid layers listed in the layer list widget
283
+ const allMapLayers = await getAllLayers(this.mapView);
284
+ const validLayers = [];
285
+ allMapLayers.forEach((eachLayer) => {
286
+ if (layers.includes(eachLayer.id)) {
287
+ validLayers.push(eachLayer);
288
+ }
289
+ });
290
+ const opts = {
291
+ include: validLayers
292
+ };
293
+ // Perform a hitTest on the View
294
+ const hitTest = await this.mapView.hitTest(event, opts);
295
+ if (hitTest.results.length > 0) {
296
+ const clickedGraphics = [];
297
+ hitTest.results.forEach(function (result) {
298
+ // check if the result type is graphic
299
+ if (result.type === 'graphic') {
300
+ clickedGraphics.push(result.graphic);
301
+ }
302
+ });
303
+ //update the selectedFeature
304
+ this._selectedFeature = clickedGraphics;
305
+ //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
306
+ // eslint-disable-next-line unicorn/prefer-ternary
307
+ if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
308
+ this._flowItems = [...this._flowItems, "feature-details"];
309
+ }
310
+ else {
311
+ this._flowItems = [...this._flowItems];
312
+ }
313
+ }
314
+ }
231
315
  /**
232
316
  * Fetches the component's translations
233
317
  * @returns Promise when complete
@@ -269,7 +353,8 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
269
353
  "_flowItems": [32],
270
354
  "_sidePanelCollapsed": [32],
271
355
  "_translations": [32],
272
- "_hasValidLayers": [32]
356
+ "_hasValidLayers": [32],
357
+ "_selectedLayerName": [32]
273
358
  }, undefined, {
274
359
  "isMobile": ["isMobileWatchHandler"],
275
360
  "mapView": ["mapViewWatchHandler"]
@@ -118,6 +118,7 @@ const FeatureList = /*@__PURE__*/ proxyCustomElement(class FeatureList extends H
118
118
  /**
119
119
  * On feature click in feature list highlight the feature on the map
120
120
  * @param event feature clicked event
121
+ * @param selectedFeature selected feature graphic
121
122
  * @protected
122
123
  */
123
124
  async featureClicked(event, selectedFeature) {
@@ -19,7 +19,7 @@ import { d as defineCustomElement$3 } from './progress.js';
19
19
  import { d as defineCustomElement$2 } from './scrim.js';
20
20
  import { d as defineCustomElement$1 } from './stack.js';
21
21
 
22
- const layerListCss = ":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}";
22
+ const layerListCss = ":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";
23
23
 
24
24
  const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLElement {
25
25
  constructor() {
@@ -30,6 +30,8 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
30
30
  this.mapView = undefined;
31
31
  this.layers = undefined;
32
32
  this.noLayerErrorMsg = undefined;
33
+ this.showFeatureCount = true;
34
+ this.showNextIcon = false;
33
35
  this._noLayersToDisplay = false;
34
36
  this._mapLayerIds = [];
35
37
  this._isLoading = false;
@@ -61,7 +63,7 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
61
63
  render() {
62
64
  return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
63
65
  h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
64
- h("calcite-list", null, this.renderLayerList())));
66
+ h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single" }, this.renderLayerList())));
65
67
  }
66
68
  //--------------------------------------------------------------------------
67
69
  //
@@ -88,7 +90,7 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
88
90
  this._layerItemsHash = await getMapLayerHash(this.mapView, true);
89
91
  const allMapLayers = await getAllLayers(this.mapView);
90
92
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
91
- allMapLayers.forEach(async (eachLayer) => {
93
+ this.showFeatureCount && allMapLayers.forEach(async (eachLayer) => {
92
94
  var _a, _b;
93
95
  //TODO: checking editable condition could be configurable
94
96
  if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsUpdate)) {
@@ -162,13 +164,13 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
162
164
  getLayerListItem(layerId) {
163
165
  const layerName = this._layerItemsHash[layerId].name;
164
166
  const featureCount = this._layerItemsHash[layerId].formattedFeatureCount;
165
- return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.showFeaturesList(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), featureCount !== "" && h("div", { slot: "content-end" }, "(" + featureCount + ")"), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
167
+ return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.onLayerItemSelected(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), this.showFeatureCount && featureCount !== undefined && featureCount !== "" && h("div", { class: !this.showNextIcon ? "feature-count" : "", slot: "content-end" }, "(" + featureCount + ")"), this.showNextIcon && h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
166
168
  }
167
- /**On click of layer list item show feature list
169
+ /**On click of layer list item emit the event along with the selected layerId and layerName
168
170
  * @param layerId Layer id
169
171
  * @protected
170
172
  */
171
- showFeaturesList(layerId) {
173
+ onLayerItemSelected(layerId) {
172
174
  this.layerSelect.emit({ layerId, layerName: this._layerItemsHash[layerId].name });
173
175
  }
174
176
  /**
@@ -186,6 +188,8 @@ const LayerList = /*@__PURE__*/ proxyCustomElement(class LayerList extends HTMLE
186
188
  "mapView": [16],
187
189
  "layers": [16],
188
190
  "noLayerErrorMsg": [1, "no-layer-error-msg"],
191
+ "showFeatureCount": [4, "show-feature-count"],
192
+ "showNextIcon": [4, "show-next-icon"],
189
193
  "_noLayersToDisplay": [32],
190
194
  "_mapLayerIds": [32],
191
195
  "_isLoading": [32],
@@ -218,7 +218,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
218
218
  /**
219
219
  * watch for selection changes
220
220
  */
221
- async _selectedIdsWatchHandler() {
221
+ async selectedIdsWatchHandler() {
222
222
  this._updateShareUrl();
223
223
  this._validateEnabledActions();
224
224
  if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
@@ -1239,7 +1239,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1239
1239
  _initLayerExpressions() {
1240
1240
  var _a, _b;
1241
1241
  const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
1242
- this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => exp.id === this._layer.id) : [];
1242
+ this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => { var _a; return exp.id === ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id); }) : [];
1243
1243
  this._filterList.layerExpressions = this._layerExpressions;
1244
1244
  this._filterActive = false;
1245
1245
  }
@@ -1405,7 +1405,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1405
1405
  "mapInfo": ["mapInfoWatchHandler"],
1406
1406
  "mapView": ["mapViewWatchHandler"],
1407
1407
  "_layer": ["_layerWatchHandler"],
1408
- "_selectedIds": ["_selectedIdsWatchHandler"],
1408
+ "selectedIds": ["selectedIdsWatchHandler"],
1409
1409
  "_sortActive": ["_sortActiveWatchHandler"]
1410
1410
  }; }
1411
1411
  static get style() { return layerTableCss; }
@@ -1446,7 +1446,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1446
1446
  "mapInfo": ["mapInfoWatchHandler"],
1447
1447
  "mapView": ["mapViewWatchHandler"],
1448
1448
  "_layer": ["_layerWatchHandler"],
1449
- "_selectedIds": ["_selectedIdsWatchHandler"],
1449
+ "selectedIds": ["selectedIdsWatchHandler"],
1450
1450
  "_sortActive": ["_sortActiveWatchHandler"]
1451
1451
  }]);
1452
1452
  function defineCustomElement() {
@@ -12,7 +12,7 @@ import { o as onToggleOpenCloseComponent } from './openCloseComponent-982c6b9e.j
12
12
  import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-f16911e7.js';
13
13
  import { K as KindIcons } from './resources-6e00e0d1.js';
14
14
  import { g as getLocaleComponentStrings, l as loadModules } from './locale-731e75a8.js';
15
- import { d as getAllLayers } from './mapViewUtils-6daedef8.js';
15
+ import { a as getAllLayers } from './mapViewUtils-cf05e880.js';
16
16
  import { P as PopupUtils } from './popupUtils-d75edf93.js';
17
17
  import './guid-36c6c6a5.js';
18
18
  import './resources-cdc36705.js';
@@ -22,7 +22,7 @@ import { d as debounce } from './debounce-229b1a22.js';
22
22
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-1149b5cb.js';
23
23
  import { i as isActivationKey } from './key-af303047.js';
24
24
  import { g as getLocaleComponentStrings } from './locale-731e75a8.js';
25
- import { c as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-6daedef8.js';
25
+ import { d as getMapLayerHash, o as getMapTableHash } from './mapViewUtils-cf05e880.js';
26
26
  import { s as state } from './publicNotificationStore-9362d7ae.js';
27
27
  import './resources-cdc36705.js';
28
28
  import './browser-b4c16201.js';