@esri/solutions-components 0.7.23 → 0.7.25

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 (438) hide show
  1. package/dist/assets/t9n/crowdsource-manager/resources.json +1 -3
  2. package/dist/assets/t9n/crowdsource-manager/resources_en.json +1 -3
  3. package/dist/assets/t9n/crowdsource-reporter/resources.json +18 -1
  4. package/dist/assets/t9n/crowdsource-reporter/resources_en.json +18 -1
  5. package/dist/assets/t9n/delete-button/resources.json +8 -0
  6. package/dist/assets/t9n/delete-button/resources_en.json +8 -0
  7. package/dist/assets/t9n/feature-list/resources.json +4 -0
  8. package/dist/assets/t9n/feature-list/resources_en.json +4 -0
  9. package/dist/assets/t9n/info-card/resources.json +1 -1
  10. package/dist/assets/t9n/info-card/resources_en.json +1 -1
  11. package/dist/assets/t9n/layer-list/resources.json +4 -0
  12. package/dist/assets/t9n/layer-list/resources_en.json +4 -0
  13. package/dist/assets/t9n/layer-table/resources.json +0 -9
  14. package/dist/assets/t9n/layer-table/resources_en.json +0 -9
  15. package/dist/cjs/basemap-gallery_7.cjs.entry.js +7 -8
  16. package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -4
  17. package/dist/cjs/calcite-action-bar.cjs.entry.js +255 -0
  18. package/dist/cjs/{calcite-alert_3.cjs.entry.js → calcite-alert_4.cjs.entry.js} +187 -115
  19. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -1
  20. package/dist/cjs/{calcite-action-bar_3.cjs.entry.js → calcite-filter_5.cjs.entry.js} +333 -172
  21. package/dist/cjs/calcite-flow_4.cjs.entry.js +657 -0
  22. package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +22 -11
  23. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -1
  24. package/dist/cjs/card-manager_3.cjs.entry.js +50 -93
  25. package/dist/cjs/crowdsource-manager.cjs.entry.js +17 -3
  26. package/dist/cjs/crowdsource-reporter.cjs.entry.js +156 -35
  27. package/dist/cjs/{downloadUtils-401356b5.js → downloadUtils-83c6d3c3.js} +6 -6
  28. package/dist/cjs/{index.es-a9a4ff08.js → index.es-bd1a93b2.js} +2 -2
  29. package/dist/cjs/instant-apps-export.cjs.entry.js +1 -1
  30. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +41 -1
  31. package/dist/cjs/layout-manager.cjs.entry.js +1 -1
  32. package/dist/cjs/loader.cjs.js +1 -1
  33. package/dist/cjs/{locale-9db09b63.js → locale-a476e15d.js} +40 -1
  34. package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -5
  35. package/dist/cjs/popupUtils-a73902a6.js +99 -0
  36. package/dist/cjs/public-notification.cjs.entry.js +3 -4
  37. package/dist/cjs/solution-configuration.cjs.entry.js +1 -1
  38. package/dist/cjs/solution-contents_3.cjs.entry.js +15 -2
  39. package/dist/cjs/solutions-components.cjs.js +1 -1
  40. package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
  41. package/dist/collection/collection-manifest.json +3 -0
  42. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
  43. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +51 -0
  44. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +302 -35
  45. package/dist/{solutions-components/p-48ff9cea.js → collection/components/delete-button/delete-button.css} +19 -21
  46. package/dist/collection/components/delete-button/delete-button.js +299 -0
  47. package/dist/{cjs/loadModules-46d14e81.js → collection/components/delete-button/test/delete-button.e2e.js} +9 -10
  48. package/dist/{esm/loadModules-cea493da.js → collection/components/delete-button/test/delete-button.spec.js} +17 -8
  49. package/dist/collection/components/feature-list/feature-list.css +38 -0
  50. package/dist/collection/components/feature-list/feature-list.js +303 -0
  51. package/dist/collection/components/info-card/info-card.js +65 -21
  52. package/dist/collection/components/layer-list/layer-list.css +28 -0
  53. package/dist/collection/components/layer-list/layer-list.js +288 -0
  54. package/dist/collection/components/layer-table/layer-table.js +63 -116
  55. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +31 -1
  56. package/dist/collection/demos/crowdsource-reporter.html +61 -38
  57. package/dist/collection/demos/feature-list.html +43 -0
  58. package/dist/collection/demos/layer-list.html +43 -0
  59. package/dist/collection/utils/interfaces.ts +4 -0
  60. package/dist/components/calcite-flow-item.js +1 -261
  61. package/dist/components/calcite-flow.js +1 -165
  62. package/dist/components/card-manager2.js +38 -26
  63. package/dist/components/crowdsource-manager.js +110 -89
  64. package/dist/components/crowdsource-reporter.js +346 -39
  65. package/dist/components/delete-button.d.ts +11 -0
  66. package/dist/components/delete-button.js +11 -0
  67. package/dist/components/delete-button2.js +209 -0
  68. package/dist/components/feature-list.d.ts +11 -0
  69. package/dist/components/feature-list.js +11 -0
  70. package/dist/components/feature-list2.js +281 -0
  71. package/dist/{esm/calcite-flow-item.entry.js → components/flow-item.js} +94 -19
  72. package/dist/{esm/calcite-flow.entry.js → components/flow.js} +33 -10
  73. package/dist/components/info-card2.js +87 -136
  74. package/dist/components/instant-apps-export.js +1 -1
  75. package/dist/components/instant-apps-filter-list2.js +22 -11
  76. package/dist/components/instant-apps-language-translator2.js +48 -4
  77. package/dist/components/layer-list.d.ts +11 -0
  78. package/dist/components/layer-list.js +11 -0
  79. package/dist/components/layer-list2.js +268 -0
  80. package/dist/components/layer-table2.js +126 -165
  81. package/dist/components/locale.js +19 -2
  82. package/dist/components/popupUtils.js +97 -0
  83. package/dist/components/queryUtils.js +1 -1
  84. package/dist/components/solution-spatial-ref2.js +17 -2
  85. package/dist/esm/{ExpandToggle-540998b5.js → ExpandToggle-96688cda.js} +1 -1
  86. package/dist/esm/{ar-35006b74.js → ar-29711364.js} +8 -8
  87. package/dist/esm/basemap-gallery_7.entry.js +1 -2
  88. package/dist/esm/{bg-c289978f.js → bg-c0f5033b.js} +8 -8
  89. package/dist/esm/{bs-6f9fb44a.js → bs-60479ce5.js} +8 -8
  90. package/dist/esm/buffer-tools_3.entry.js +3 -4
  91. package/dist/esm/{ca-7962c8b7.js → ca-4317b986.js} +8 -8
  92. package/dist/esm/calcite-accordion-item.entry.js +1 -1
  93. package/dist/esm/calcite-action-bar.entry.js +251 -0
  94. package/dist/esm/calcite-action-group.entry.js +3 -3
  95. package/dist/esm/calcite-action-menu_2.entry.js +5 -5
  96. package/dist/esm/calcite-action-pad_2.entry.js +4 -4
  97. package/dist/esm/calcite-action_2.entry.js +3 -3
  98. package/dist/esm/{calcite-alert_3.entry.js → calcite-alert_4.entry.js} +189 -118
  99. package/dist/esm/calcite-avatar.entry.js +1 -1
  100. package/dist/esm/calcite-block-section.entry.js +3 -3
  101. package/dist/esm/calcite-block_2.entry.js +5 -5
  102. package/dist/esm/calcite-button.entry.js +5 -5
  103. package/dist/esm/calcite-card.entry.js +3 -3
  104. package/dist/esm/calcite-checkbox.entry.js +3 -3
  105. package/dist/esm/calcite-chip-group.entry.js +1 -1
  106. package/dist/esm/calcite-chip.entry.js +3 -3
  107. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  108. package/dist/esm/calcite-color-picker.entry.js +3 -3
  109. package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
  110. package/dist/esm/calcite-combobox_6.entry.js +10 -10
  111. package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
  112. package/dist/esm/calcite-fab.entry.js +1 -1
  113. package/dist/esm/{calcite-action-bar_3.entry.js → calcite-filter_5.entry.js} +363 -204
  114. package/dist/esm/calcite-flow_4.entry.js +650 -0
  115. package/dist/esm/calcite-graph_2.entry.js +4 -4
  116. package/dist/esm/calcite-icon.entry.js +1 -1
  117. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  118. package/dist/esm/calcite-input-date-picker_3.entry.js +31 -20
  119. package/dist/esm/calcite-input-number.entry.js +5 -5
  120. package/dist/esm/calcite-input-text.entry.js +5 -5
  121. package/dist/esm/{calcite-input-time-picker-63439178.js → calcite-input-time-picker-2e1b2157.js} +55 -55
  122. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  123. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  124. package/dist/esm/calcite-input_2.entry.js +5 -5
  125. package/dist/esm/calcite-label.entry.js +2 -2
  126. package/dist/esm/calcite-link.entry.js +1 -1
  127. package/dist/esm/calcite-menu-item.entry.js +3 -3
  128. package/dist/esm/calcite-menu.entry.js +3 -3
  129. package/dist/esm/calcite-meter.entry.js +3 -3
  130. package/dist/esm/calcite-modal.entry.js +4 -4
  131. package/dist/esm/calcite-navigation.entry.js +1 -1
  132. package/dist/esm/calcite-notice.entry.js +3 -3
  133. package/dist/esm/calcite-option_2.entry.js +3 -3
  134. package/dist/esm/calcite-pagination.entry.js +3 -3
  135. package/dist/esm/calcite-panel_2.entry.js +3 -3
  136. package/dist/esm/calcite-pick-list-group.entry.js +1 -1
  137. package/dist/esm/calcite-pick-list-item.entry.js +3 -3
  138. package/dist/esm/calcite-pick-list.entry.js +2 -2
  139. package/dist/esm/calcite-radio-button.entry.js +3 -3
  140. package/dist/esm/calcite-rating.entry.js +5 -5
  141. package/dist/esm/calcite-scrim.entry.js +3 -3
  142. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  143. package/dist/esm/calcite-sheet.entry.js +2 -2
  144. package/dist/esm/calcite-shell-center-row.entry.js +1 -1
  145. package/dist/esm/calcite-shell-panel_14.entry.js +7 -7
  146. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  147. package/dist/esm/calcite-stepper-item.entry.js +3 -3
  148. package/dist/esm/calcite-stepper.entry.js +3 -3
  149. package/dist/esm/calcite-switch.entry.js +3 -3
  150. package/dist/esm/calcite-table-cell_2.entry.js +3 -3
  151. package/dist/esm/calcite-table-row.entry.js +1 -1
  152. package/dist/esm/calcite-table.entry.js +3 -3
  153. package/dist/esm/calcite-text-area.entry.js +5 -5
  154. package/dist/esm/calcite-tile.entry.js +1 -1
  155. package/dist/esm/calcite-time-picker.entry.js +4 -4
  156. package/dist/esm/calcite-tip-manager.entry.js +3 -3
  157. package/dist/esm/calcite-tip.entry.js +3 -3
  158. package/dist/esm/calcite-tooltip.entry.js +2 -2
  159. package/dist/esm/calcite-tree_2.entry.js +1 -1
  160. package/dist/esm/card-manager_3.entry.js +50 -93
  161. package/dist/esm/{common-2cf42ac2.js → common-d04ccc0d.js} +1 -1
  162. package/dist/esm/crowdsource-manager.entry.js +18 -4
  163. package/dist/esm/crowdsource-reporter.entry.js +156 -35
  164. package/dist/esm/{cs-6d13069b.js → cs-da404a04.js} +8 -8
  165. package/dist/esm/{da-14097e6c.js → da-1afac3fa.js} +8 -8
  166. package/dist/esm/{date-1743b515.js → date-8b4a8f33.js} +1 -1
  167. package/dist/esm/{de-dff2571b.js → de-98f3129e.js} +8 -8
  168. package/dist/esm/{de-at-b733db65.js → de-at-ed4817af.js} +8 -8
  169. package/dist/esm/{de-ch-5ad0cb74.js → de-ch-556c82c8.js} +8 -8
  170. package/dist/esm/{dom-492b1b24.js → dom-8f926f33.js} +1 -1
  171. package/dist/esm/{downloadUtils-13579d93.js → downloadUtils-a301c193.js} +3 -3
  172. package/dist/esm/{el-688e05ba.js → el-394dfd74.js} +8 -8
  173. package/dist/esm/{en-au-357e70d8.js → en-au-6dde1e7e.js} +8 -8
  174. package/dist/esm/{en-ca-1e0b6b47.js → en-ca-420be416.js} +8 -8
  175. package/dist/esm/{en-gb-861a17f2.js → en-gb-0a7caa85.js} +8 -8
  176. package/dist/esm/{es-291ab4bd.js → es-2e1beb99.js} +8 -8
  177. package/dist/esm/{es-mx-0a7283a7.js → es-mx-ef132a24.js} +8 -8
  178. package/dist/esm/{et-addd2617.js → et-83d139c1.js} +8 -8
  179. package/dist/esm/{fi-469884d5.js → fi-8b81ed94.js} +8 -8
  180. package/dist/esm/{floating-ui-03eb4c82.js → floating-ui-c397f653.js} +1 -1
  181. package/dist/esm/{focusTrapComponent-2e7de651.js → focusTrapComponent-14368766.js} +1 -1
  182. package/dist/esm/{form-9bccaf85.js → form-133b00c7.js} +1 -1
  183. package/dist/esm/{fr-f5cb34ca.js → fr-c47c114a.js} +8 -8
  184. package/dist/esm/{fr-ch-115d3fda.js → fr-ch-97635343.js} +8 -8
  185. package/dist/esm/{he-6e5f5c56.js → he-ed2a12b9.js} +8 -8
  186. package/dist/esm/{hi-503240c2.js → hi-a05727ac.js} +8 -8
  187. package/dist/esm/{hr-cc08d6fc.js → hr-d01671ca.js} +8 -8
  188. package/dist/esm/{hu-69ac240d.js → hu-16506ca7.js} +8 -8
  189. package/dist/esm/{id-99547746.js → id-e9367e87.js} +8 -8
  190. package/dist/esm/{index.es-04d2e63e.js → index.es-37a9907e.js} +4 -4
  191. package/dist/esm/instant-apps-export.entry.js +1 -1
  192. package/dist/esm/instant-apps-language-translator.entry.js +42 -2
  193. package/dist/esm/{interfaces-341e3ab3.js → interfaces-586e863c.js} +1 -1
  194. package/dist/esm/{it-dbb6ea7d.js → it-14246b4a.js} +8 -8
  195. package/dist/esm/{it-ch-a83801f6.js → it-ch-a877e111.js} +8 -8
  196. package/dist/esm/{ja-79dbb02f.js → ja-67a0cfa0.js} +8 -8
  197. package/dist/esm/{ko-31ebe067.js → ko-35b0b83a.js} +8 -8
  198. package/dist/esm/{label-14301f4d.js → label-cd393c81.js} +1 -1
  199. package/dist/esm/layout-manager.entry.js +2 -2
  200. package/dist/esm/loader.js +1 -1
  201. package/dist/esm/{locale-8cfa3086.js → locale-6107ef11.js} +1 -1
  202. package/dist/esm/{locale-834c52c6.js → locale-731e75a8.js} +39 -2
  203. package/dist/esm/{lt-94d3f4b8.js → lt-71014faf.js} +8 -8
  204. package/dist/esm/{lv-d770ed0d.js → lv-def9df38.js} +8 -8
  205. package/dist/esm/map-select-tools_3.entry.js +4 -5
  206. package/dist/esm/{mapViewUtils-8fe70944.js → mapViewUtils-6daedef8.js} +2 -2
  207. package/dist/esm/{mk-1046d60a.js → mk-bfeac49e.js} +8 -8
  208. package/dist/esm/{nb-dad0b4b9.js → nb-0723b461.js} +8 -8
  209. package/dist/esm/{nl-a968c4b7.js → nl-89663165.js} +8 -8
  210. package/dist/esm/{pl-a0037bd3.js → pl-0157c37c.js} +8 -8
  211. package/dist/esm/popupUtils-a593bd78.js +97 -0
  212. package/dist/esm/{pt-e3d9370c.js → pt-80d1520c.js} +8 -8
  213. package/dist/esm/{pt-br-44c11565.js → pt-br-ee5003c7.js} +8 -8
  214. package/dist/esm/public-notification.entry.js +4 -5
  215. package/dist/esm/{ro-290e025d.js → ro-eff987f8.js} +8 -8
  216. package/dist/esm/{ru-38ff91f1.js → ru-62839398.js} +8 -8
  217. package/dist/esm/{shared-list-render-89e4bcff.js → shared-list-render-a2ab63e8.js} +1 -1
  218. package/dist/esm/{sk-9622a24b.js → sk-c2f4bd58.js} +8 -8
  219. package/dist/esm/{sl-6bc83a24.js → sl-328ff1db.js} +8 -8
  220. package/dist/esm/solution-configuration.entry.js +3 -3
  221. package/dist/esm/solution-contents_3.entry.js +18 -5
  222. package/dist/esm/{solution-store-b08696f7.js → solution-store-19f7825b.js} +1 -1
  223. package/dist/esm/solutions-components.js +1 -1
  224. package/dist/esm/spatial-ref.entry.js +3 -3
  225. package/dist/esm/{sr-35e575d8.js → sr-75a3ad46.js} +8 -8
  226. package/dist/esm/{sv-d80fa359.js → sv-10da5ef2.js} +8 -8
  227. package/dist/esm/{t9n-3c5e55ab.js → t9n-f16911e7.js} +1 -1
  228. package/dist/esm/{th-23e71d40.js → th-aa112042.js} +8 -8
  229. package/dist/esm/{time-d956a7c8.js → time-855b3426.js} +1 -1
  230. package/dist/esm/{tr-961fd2f3.js → tr-5925a2f5.js} +8 -8
  231. package/dist/esm/{uk-4e8a425a.js → uk-c40eeb9f.js} +8 -8
  232. package/dist/esm/{utils-56206ec2.js → utils-93fd55c4.js} +2 -2
  233. package/dist/esm/{utils-8287806a.js → utils-c3509713.js} +1 -1
  234. package/dist/esm/{vi-ad983882.js → vi-27922b93.js} +8 -8
  235. package/dist/esm/{zh-cn-5b6fd039.js → zh-cn-38a2e1d3.js} +8 -8
  236. package/dist/esm/{zh-hk-7439b11d.js → zh-hk-e0217bd1.js} +8 -8
  237. package/dist/esm/{zh-tw-cf384663.js → zh-tw-31f0447c.js} +8 -8
  238. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-filter-list/instant-apps-filter-list.css +0 -1
  239. package/dist/solutions-components/demos/crowdsource-reporter.html +61 -38
  240. package/dist/solutions-components/demos/feature-list.html +43 -0
  241. package/dist/solutions-components/demos/layer-list.html +43 -0
  242. package/dist/solutions-components/{p-e7951fcb.js → p-0392679d.js} +1 -1
  243. package/dist/solutions-components/{p-c68a6d4f.js → p-0587972d.js} +1 -1
  244. package/dist/solutions-components/{p-3022da2d.js → p-05f702ae.js} +1 -1
  245. package/dist/solutions-components/{p-4da72ee8.entry.js → p-068f5a8c.entry.js} +1 -1
  246. package/dist/solutions-components/{p-2ddd9cf8.entry.js → p-0b4f4b0e.entry.js} +1 -1
  247. package/dist/solutions-components/p-0b619197.entry.js +17 -0
  248. package/dist/solutions-components/{p-4f71a1a0.js → p-0d774e41.js} +1 -1
  249. package/dist/solutions-components/{p-0e723ffc.js → p-0f6b58b2.js} +1 -1
  250. package/dist/solutions-components/{p-ec8f042e.entry.js → p-10410f92.entry.js} +1 -1
  251. package/dist/solutions-components/{p-6a4b1e48.entry.js → p-10f2d6b0.entry.js} +2 -2
  252. package/dist/solutions-components/{p-5d2ccc75.entry.js → p-13be5cf5.entry.js} +1 -1
  253. package/dist/solutions-components/{p-58054bc2.js → p-14548a83.js} +1 -1
  254. package/dist/solutions-components/{p-026b1345.js → p-17668cb7.js} +3 -3
  255. package/dist/solutions-components/{p-5e530f8c.js → p-1c75bb3d.js} +1 -1
  256. package/dist/solutions-components/p-1f7046e9.entry.js +6 -0
  257. package/dist/solutions-components/{p-121a5dac.entry.js → p-234a8293.entry.js} +1 -1
  258. package/dist/solutions-components/{p-355249fc.js → p-2447b332.js} +1 -1
  259. package/dist/solutions-components/{p-48828002.entry.js → p-24c699b0.entry.js} +1 -1
  260. package/dist/solutions-components/{p-9bcbc1cc.js → p-2592e0dd.js} +1 -1
  261. package/dist/solutions-components/{p-48a5ae32.entry.js → p-2656c6e4.entry.js} +1 -1
  262. package/dist/solutions-components/p-284cc5cd.entry.js +6 -0
  263. package/dist/solutions-components/{p-b78a1c21.js → p-28b33708.js} +1 -1
  264. package/dist/solutions-components/p-29f661f5.entry.js +11 -0
  265. package/dist/solutions-components/{p-fa6ef970.js → p-2d68a6fd.js} +1 -1
  266. package/dist/solutions-components/{p-6437fee1.entry.js → p-2e2d01de.entry.js} +1 -1
  267. package/dist/solutions-components/{p-5e9b05c0.entry.js → p-2f425700.entry.js} +1 -1
  268. package/dist/solutions-components/{p-6c3cdd09.entry.js → p-364486d1.entry.js} +1 -1
  269. package/dist/solutions-components/{p-85a89f1d.entry.js → p-368cbb2c.entry.js} +1 -1
  270. package/dist/solutions-components/{p-52ad6ff9.entry.js → p-36f247db.entry.js} +1 -1
  271. package/dist/solutions-components/{p-080249de.js → p-38544b17.js} +1 -1
  272. package/dist/solutions-components/{p-a0be72b6.entry.js → p-3a73ee38.entry.js} +1 -1
  273. package/dist/solutions-components/{p-532b7378.entry.js → p-3ad4426b.entry.js} +1 -1
  274. package/dist/solutions-components/{p-5752785e.entry.js → p-3c10901a.entry.js} +1 -1
  275. package/dist/solutions-components/{p-6e406a7b.js → p-3c7d0eb9.js} +1 -1
  276. package/dist/solutions-components/{p-bf23173c.js → p-411b73a7.js} +1 -1
  277. package/dist/solutions-components/{p-76d60881.entry.js → p-429e1284.entry.js} +1 -1
  278. package/dist/solutions-components/{p-f3d277c2.entry.js → p-42f0e1fa.entry.js} +1 -1
  279. package/dist/solutions-components/{p-1fc220c7.js → p-4416d288.js} +1 -1
  280. package/dist/solutions-components/{p-663a433a.entry.js → p-451b16b3.entry.js} +2 -2
  281. package/dist/solutions-components/{p-b5d1b979.js → p-4566438a.js} +3 -3
  282. package/dist/solutions-components/{p-7a06dcdf.js → p-4647b2a6.js} +1 -1
  283. package/dist/solutions-components/{p-75fbe76c.js → p-480d0789.js} +1 -1
  284. package/dist/solutions-components/p-49b02dda.entry.js +6 -0
  285. package/dist/solutions-components/{p-722ae773.js → p-49fb1bfa.js} +2 -2
  286. package/dist/solutions-components/{p-17183100.js → p-4abf1c34.js} +1 -1
  287. package/dist/solutions-components/p-4ae36626.js +6 -0
  288. package/dist/solutions-components/{p-5c3fd315.entry.js → p-4bff69aa.entry.js} +1 -1
  289. package/dist/solutions-components/{p-f8f18a94.entry.js → p-4ccdac24.entry.js} +1 -1
  290. package/dist/solutions-components/{p-a3a64af2.entry.js → p-4d402bcf.entry.js} +1 -1
  291. package/dist/solutions-components/{p-7e82a730.js → p-4d8fc031.js} +1 -1
  292. package/dist/solutions-components/{p-1c720ed5.entry.js → p-4d99cb49.entry.js} +1 -1
  293. package/dist/solutions-components/p-4fbadb84.entry.js +6 -0
  294. package/dist/solutions-components/{p-e0276e26.entry.js → p-5268d845.entry.js} +2 -2
  295. package/dist/solutions-components/p-5af99fd8.entry.js +6 -0
  296. package/dist/solutions-components/{p-f3f09834.js → p-5e12026e.js} +1 -1
  297. package/dist/solutions-components/{p-ffee4847.entry.js → p-5fe99315.entry.js} +1 -1
  298. package/dist/solutions-components/{p-d6208a47.js → p-6105d57c.js} +1 -1
  299. package/dist/solutions-components/{p-f3dfb34f.entry.js → p-613315a7.entry.js} +1 -1
  300. package/dist/solutions-components/{p-0d97c2c5.entry.js → p-62eba559.entry.js} +1 -1
  301. package/dist/solutions-components/{p-40235cb7.entry.js → p-63fa7791.entry.js} +1 -1
  302. package/dist/solutions-components/{p-cfccae7c.js → p-6604ac77.js} +1 -1
  303. package/dist/solutions-components/{p-9b1766ef.entry.js → p-674be06c.entry.js} +1 -1
  304. package/dist/solutions-components/{p-a4aef40c.entry.js → p-67ff8e9a.entry.js} +1 -1
  305. package/dist/solutions-components/{p-4647c429.js → p-68e0adcf.js} +1 -1
  306. package/dist/solutions-components/{p-fc8338c6.entry.js → p-68e84199.entry.js} +1 -1
  307. package/dist/solutions-components/{p-aa3092cf.js → p-69763854.js} +1 -1
  308. package/dist/solutions-components/{p-e31754c8.js → p-6ae45648.js} +1 -1
  309. package/dist/solutions-components/{p-98013072.entry.js → p-6cce7009.entry.js} +1 -1
  310. package/dist/solutions-components/{p-34cacf32.js → p-6d511162.js} +1 -1
  311. package/dist/solutions-components/{p-5953ebe8.entry.js → p-7116f96d.entry.js} +1 -1
  312. package/dist/solutions-components/{p-337acb3c.js → p-727596e6.js} +1 -1
  313. package/dist/solutions-components/{p-b170916e.js → p-73100e79.js} +2 -2
  314. package/dist/solutions-components/{p-23662977.entry.js → p-734bc1b0.entry.js} +2 -2
  315. package/dist/solutions-components/{p-f3626331.entry.js → p-752ece4a.entry.js} +2 -2
  316. package/dist/solutions-components/{p-ecdd587c.entry.js → p-75e2a322.entry.js} +3 -3
  317. package/dist/solutions-components/{p-ca33fa09.entry.js → p-787203af.entry.js} +1 -1
  318. package/dist/solutions-components/{p-a9fc934d.js → p-79110824.js} +1 -1
  319. package/dist/solutions-components/{p-b82179c0.js → p-793cad54.js} +1 -1
  320. package/dist/solutions-components/{p-0250dec5.js → p-797aa505.js} +1 -1
  321. package/dist/solutions-components/{p-166d5bcc.entry.js → p-7c13406e.entry.js} +1 -1
  322. package/dist/solutions-components/{p-16df3a9e.entry.js → p-7dbccc10.entry.js} +1 -1
  323. package/dist/solutions-components/{p-133de052.entry.js → p-7ebd34df.entry.js} +1 -1
  324. package/dist/solutions-components/{p-8934e858.entry.js → p-809b7e47.entry.js} +2 -2
  325. package/dist/solutions-components/p-8308f64c.entry.js +6 -0
  326. package/dist/solutions-components/{p-ca97465b.js → p-83fd31d5.js} +1 -1
  327. package/dist/solutions-components/{p-2e1f7c0e.entry.js → p-84378c8d.entry.js} +2 -2
  328. package/dist/solutions-components/p-864b1d72.entry.js +6 -0
  329. package/dist/solutions-components/{p-d8b3d156.entry.js → p-891682da.entry.js} +1 -1
  330. package/dist/solutions-components/{p-50ea26de.entry.js → p-8b47b607.entry.js} +1 -1
  331. package/dist/solutions-components/{p-f4e91113.js → p-8d49a084.js} +1 -1
  332. package/dist/solutions-components/{p-f84848b0.entry.js → p-8fabb8a4.entry.js} +1 -1
  333. package/dist/solutions-components/{p-29602eff.entry.js → p-96c2ed64.entry.js} +1 -1
  334. package/dist/solutions-components/{p-b42bde59.entry.js → p-978d936a.entry.js} +1 -1
  335. package/dist/solutions-components/{p-79ba73cb.js → p-981e9549.js} +1 -1
  336. package/dist/solutions-components/{p-02714171.entry.js → p-98308b13.entry.js} +2 -2
  337. package/dist/solutions-components/p-99c5701d.entry.js +6 -0
  338. package/dist/solutions-components/{p-fe68d502.js → p-9cbfd8cd.js} +1 -1
  339. package/dist/solutions-components/{p-8f8fe5d0.entry.js → p-a09c8edf.entry.js} +1 -1
  340. package/dist/solutions-components/{p-ac6a3e13.js → p-a5272d7e.js} +1 -1
  341. package/dist/solutions-components/p-a5c5b24d.js +6 -0
  342. package/dist/solutions-components/{p-5d9ad152.entry.js → p-a5e93c7e.entry.js} +1 -1
  343. package/dist/solutions-components/{p-c9f87acb.js → p-a603e673.js} +2 -2
  344. package/dist/solutions-components/{p-07b31dc9.js → p-a6bb4148.js} +1 -1
  345. package/dist/solutions-components/{p-11b59592.entry.js → p-a8c9ac0b.entry.js} +2 -2
  346. package/dist/solutions-components/{p-41f7bc94.entry.js → p-a9bd945b.entry.js} +1 -1
  347. package/dist/solutions-components/{p-634835fe.js → p-abdd289e.js} +1 -1
  348. package/dist/solutions-components/{p-43e67b3c.entry.js → p-aca29f67.entry.js} +2 -2
  349. package/dist/solutions-components/{p-8118146c.entry.js → p-ad96cd8b.entry.js} +1 -1
  350. package/dist/solutions-components/{p-8772a573.js → p-af1bb992.js} +1 -1
  351. package/dist/solutions-components/{p-36eb8399.js → p-b1b768f7.js} +4 -4
  352. package/dist/solutions-components/{p-dd37c504.js → p-b29677ca.js} +1 -1
  353. package/dist/solutions-components/{p-82b4ab94.js → p-b2c5e62b.js} +1 -1
  354. package/dist/solutions-components/{p-db436a77.entry.js → p-b326b592.entry.js} +1 -1
  355. package/dist/solutions-components/p-b37ec1f3.entry.js +6 -0
  356. package/dist/solutions-components/{p-a4772574.js → p-b7285bd5.js} +1 -1
  357. package/dist/solutions-components/{p-8b5b4662.js → p-b8959537.js} +1 -1
  358. package/dist/solutions-components/{p-c21f578f.js → p-baf4cb37.js} +1 -1
  359. package/dist/solutions-components/{p-799c3f19.js → p-bfebff0e.js} +1 -1
  360. package/dist/solutions-components/p-c0f97ed2.entry.js +6 -0
  361. package/dist/solutions-components/{p-4af32c75.js → p-c1cf3ebc.js} +1 -1
  362. package/dist/solutions-components/{p-cfb83693.js → p-c3190f85.js} +1 -1
  363. package/dist/solutions-components/{p-0511c98c.js → p-c4ebb5d1.js} +1 -1
  364. package/dist/solutions-components/p-c56fd16c.entry.js +11 -0
  365. package/dist/solutions-components/{p-2d1b8cfa.js → p-c6b9a129.js} +1 -1
  366. package/dist/solutions-components/{p-1cb4c542.entry.js → p-c7e7da9a.entry.js} +1 -1
  367. package/dist/solutions-components/p-cb1d29d4.entry.js +17 -0
  368. package/dist/solutions-components/{p-034d43fb.js → p-cdee3846.js} +1 -1
  369. package/dist/solutions-components/{p-c5cb8804.js → p-cfb3d66a.js} +1 -1
  370. package/dist/solutions-components/{p-ebbeec9f.entry.js → p-d2d7d6b4.entry.js} +2 -2
  371. package/dist/solutions-components/{p-dd071507.js → p-d44e2fd7.js} +1 -1
  372. package/dist/solutions-components/{p-414240b2.js → p-d9a59fcc.js} +1 -1
  373. package/dist/solutions-components/p-db868283.js +21 -0
  374. package/dist/solutions-components/{p-fdb1ace8.entry.js → p-dded59a7.entry.js} +2 -2
  375. package/dist/solutions-components/{p-ede84883.js → p-de281b08.js} +2 -2
  376. package/dist/solutions-components/{p-a11fca14.js → p-df118036.js} +1 -1
  377. package/dist/solutions-components/p-e274f3b0.entry.js +23 -0
  378. package/dist/solutions-components/{p-4613e205.js → p-e6d4bdce.js} +1 -1
  379. package/dist/solutions-components/{p-3c5d3b4a.js → p-e6dfc80f.js} +1 -1
  380. package/dist/solutions-components/{p-92ea9e81.js → p-e834d132.js} +1 -1
  381. package/dist/solutions-components/p-e88a64be.entry.js +6 -0
  382. package/dist/solutions-components/p-e902ba19.js +36 -0
  383. package/dist/solutions-components/{p-f9eb2f2d.js → p-ee4e5212.js} +1 -1
  384. package/dist/solutions-components/{p-efce2e85.js → p-ef05dea5.js} +1 -1
  385. package/dist/solutions-components/{p-5fd1eb64.js → p-f0d68a3f.js} +2 -2
  386. package/dist/solutions-components/p-f17941f1.entry.js +6 -0
  387. package/dist/solutions-components/{p-9e3b8632.entry.js → p-f1e6ce96.entry.js} +1 -1
  388. package/dist/solutions-components/p-fe295e9d.entry.js +6 -0
  389. package/dist/solutions-components/{p-50764143.entry.js → p-ff460d05.entry.js} +3 -3
  390. package/dist/solutions-components/{p-d1ca57f3.entry.js → p-ff7c9bc3.entry.js} +1 -1
  391. package/dist/solutions-components/{p-0b47b407.js → p-ffa2c430.js} +1 -1
  392. package/dist/solutions-components/{p-89520d31.entry.js → p-ffbed9b2.entry.js} +1 -1
  393. package/dist/solutions-components/solutions-components.esm.js +1 -1
  394. package/dist/solutions-components/utils/interfaces.ts +4 -0
  395. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  396. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +141 -7
  397. package/dist/types/components/delete-button/delete-button.d.ts +120 -0
  398. package/dist/types/components/feature-list/feature-list.d.ts +128 -0
  399. package/dist/types/components/info-card/info-card.d.ts +19 -0
  400. package/dist/types/components/layer-list/layer-list.d.ts +133 -0
  401. package/dist/types/components/layer-table/layer-table.d.ts +12 -40
  402. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +5 -1
  403. package/dist/types/components.d.ts +281 -7
  404. package/dist/types/preact.d.ts +15 -1
  405. package/dist/types/utils/interfaces.d.ts +2 -0
  406. package/package.json +2 -2
  407. package/dist/cjs/calcite-filter_2.cjs.entry.js +0 -237
  408. package/dist/cjs/calcite-flow-item.cjs.entry.js +0 -197
  409. package/dist/cjs/calcite-flow.cjs.entry.js +0 -153
  410. package/dist/cjs/calcite-handle.cjs.entry.js +0 -184
  411. package/dist/cjs/resources-55ba2752.js +0 -29
  412. package/dist/esm/calcite-filter_2.entry.js +0 -232
  413. package/dist/esm/calcite-handle.entry.js +0 -180
  414. package/dist/esm/resources-221791b0.js +0 -26
  415. package/dist/solutions-components/p-0200864c.entry.js +0 -11
  416. package/dist/solutions-components/p-02fad071.entry.js +0 -6
  417. package/dist/solutions-components/p-04f05bc5.entry.js +0 -6
  418. package/dist/solutions-components/p-1711c535.entry.js +0 -6
  419. package/dist/solutions-components/p-1f88a556.entry.js +0 -6
  420. package/dist/solutions-components/p-24286e8c.entry.js +0 -6
  421. package/dist/solutions-components/p-3cf20613.entry.js +0 -17
  422. package/dist/solutions-components/p-43546966.entry.js +0 -6
  423. package/dist/solutions-components/p-6b943f52.js +0 -21
  424. package/dist/solutions-components/p-79f95735.entry.js +0 -11
  425. package/dist/solutions-components/p-7f333e23.js +0 -11
  426. package/dist/solutions-components/p-897037f0.entry.js +0 -6
  427. package/dist/solutions-components/p-8c7fc78f.entry.js +0 -11
  428. package/dist/solutions-components/p-941ab8c0.js +0 -6
  429. package/dist/solutions-components/p-96974e5f.js +0 -6
  430. package/dist/solutions-components/p-a32b61ee.entry.js +0 -6
  431. package/dist/solutions-components/p-ad9fbb2a.entry.js +0 -6
  432. package/dist/solutions-components/p-bacc9b0d.entry.js +0 -6
  433. package/dist/solutions-components/p-c252997f.entry.js +0 -17
  434. package/dist/solutions-components/p-c5db42ad.entry.js +0 -6
  435. package/dist/solutions-components/p-c634d047.entry.js +0 -27
  436. package/dist/solutions-components/p-e89c5860.entry.js +0 -6
  437. package/dist/solutions-components/p-eb9b003a.entry.js +0 -11
  438. package/dist/solutions-components/p-eff7f407.entry.js +0 -6
@@ -4,13 +4,12 @@
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-7183ce4a.js';
7
- import { g as getLocaleComponentStrings } from './locale-834c52c6.js';
8
- import { q as queryFeaturesByID, a as getLayerOrTable, g as goToSelection, b as queryFeatureIds, c as queryAllIds, d as queryFeaturesByGlobalID } from './mapViewUtils-8fe70944.js';
9
- import { l as loadModules } from './loadModules-cea493da.js';
10
- import { d as downloadCSV } from './downloadUtils-13579d93.js';
7
+ import { g as getLocaleComponentStrings, l as loadModules } from './locale-731e75a8.js';
8
+ import { q as queryFeaturesByID, g as getLayerOrTable, a as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-6daedef8.js';
9
+ import { d as downloadCSV } from './downloadUtils-a301c193.js';
11
10
  import './esri-loader-eda07632.js';
12
11
  import './_commonjsHelpers-d5f9d613.js';
13
- import './interfaces-341e3ab3.js';
12
+ import './interfaces-586e863c.js';
14
13
  import './solution-resource-7b8d302d.js';
15
14
  import './index-a1e91462.js';
16
15
  import './restHelpersGet-af032ab2.js';
@@ -167,19 +166,17 @@ const LayerTable = class {
167
166
  this.mapInfo = undefined;
168
167
  this.mapView = undefined;
169
168
  this.onlyShowUpdatableLayers = undefined;
169
+ this.selectedIds = [];
170
170
  this.shareIncludeEmbed = undefined;
171
171
  this.shareIncludeSocial = undefined;
172
172
  this.showNewestFirst = undefined;
173
173
  this.zoomAndScrollToSelected = undefined;
174
- this._confirmDelete = false;
175
174
  this._controlsThatFit = undefined;
176
175
  this._fetchingData = false;
177
176
  this._filterActive = false;
178
177
  this._filterOpen = false;
179
- this._isDeleting = false;
180
178
  this._layer = undefined;
181
179
  this._selectAllActive = false;
182
- this._selectedIndexes = [];
183
180
  this._showHideOpen = false;
184
181
  this._showOnlySelected = false;
185
182
  this._sortActive = false;
@@ -272,10 +269,10 @@ const LayerTable = class {
272
269
  /**
273
270
  * watch for selection changes
274
271
  */
275
- async _selectedIndexesWatchHandler() {
272
+ async _selectedIdsWatchHandler() {
276
273
  this._updateShareUrl();
277
274
  this._validateEnabledActions();
278
- if (this._selectAllActive && this._selectedIndexes.length !== this._allIds.length) {
275
+ if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
279
276
  this._selectAllActive = false;
280
277
  }
281
278
  }
@@ -287,19 +284,6 @@ const LayerTable = class {
287
284
  await this._sortTable();
288
285
  }
289
286
  }
290
- //--------------------------------------------------------------------------
291
- //
292
- // Methods (public)
293
- //
294
- //--------------------------------------------------------------------------
295
- /**
296
- * Delete currently selected features
297
- *
298
- * @returns Promise resolving when the process is complete
299
- */
300
- async deleteFeatures() {
301
- return this._delete();
302
- }
303
287
  /**
304
288
  * Scroll and zoom to the selected feature from the Features widget.
305
289
  *
@@ -328,7 +312,11 @@ const LayerTable = class {
328
312
  /**
329
313
  * Refresh the table when edits are completed
330
314
  */
331
- async editsComplete() {
315
+ async editsComplete(evt) {
316
+ const editType = evt.detail;
317
+ if (editType === "delete" || editType === "add") {
318
+ this._allIds = await queryAllIds(this._layer);
319
+ }
332
320
  await this._refresh();
333
321
  }
334
322
  /**
@@ -371,12 +359,12 @@ const LayerTable = class {
371
359
  const tableNodeClass = this._fetchingData ? "display-none" : "";
372
360
  const loadingClass = this._fetchingData ? "" : "display-none";
373
361
  const total = this._allIds.length.toString();
374
- const selected = this._selectedIndexes.length.toString();
362
+ const selected = this.selectedIds.length.toString();
375
363
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
376
364
  this._validateActiveActions();
377
365
  return (h(Host, null, h("calcite-shell", null, this._getTableControlRow("header"), h("div", { class: `width-full ${tableHeightClass}` }, h("calcite-panel", { class: "height-full width-full" }, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
378
366
  .replace("{{total}}", total)
379
- .replace("{{selected}}", selected))) : undefined)), this._deleteMessage(), this._filterModal()));
367
+ .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
380
368
  }
381
369
  /**
382
370
  * Called once after the component is loaded
@@ -554,11 +542,11 @@ const LayerTable = class {
554
542
  isOverflow: false
555
543
  } : undefined,
556
544
  this._deleteEnabled ? {
557
- active: false,
545
+ active: undefined,
558
546
  icon: "trash",
559
- indicator: false,
560
- label: this._translations.delete,
561
- func: () => this._delete(),
547
+ indicator: undefined,
548
+ label: undefined,
549
+ func: undefined,
562
550
  disabled: !featuresSelected,
563
551
  isDanger: true,
564
552
  isOverflow: false
@@ -640,7 +628,7 @@ const LayerTable = class {
640
628
  * @returns boolean
641
629
  */
642
630
  _featuresSelected() {
643
- return this._selectedIndexes.length > 0;
631
+ return this.selectedIds.length > 0;
644
632
  }
645
633
  /**
646
634
  * Return true when we have no features
@@ -852,8 +840,8 @@ const LayerTable = class {
852
840
  else {
853
841
  urlObj.searchParams.delete("layer");
854
842
  }
855
- if (((_d = this._selectedIndexes) === null || _d === void 0 ? void 0 : _d.length) > 0) {
856
- urlObj.searchParams.set("oid", this._selectedIndexes.join(","));
843
+ if (((_d = this.selectedIds) === null || _d === void 0 ? void 0 : _d.length) > 0) {
844
+ urlObj.searchParams.set("oid", this.selectedIds.join(","));
857
845
  }
858
846
  else {
859
847
  urlObj.searchParams.delete("oid");
@@ -875,7 +863,6 @@ const LayerTable = class {
875
863
  urlObj.searchParams.delete("filter");
876
864
  }
877
865
  this._shareNode.shareUrl = urlObj.href;
878
- history.pushState(history.state, document.title, urlObj.href);
879
866
  }
880
867
  /**
881
868
  * Get a tooltip
@@ -912,7 +899,15 @@ const LayerTable = class {
912
899
  */
913
900
  _getDangerAction(icon, label, func, disabled) {
914
901
  const _disabled = this._layer === undefined ? true : disabled;
915
- return (h("div", { class: "display-flex", id: this._getId(icon) }, h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), this._getToolTip("bottom", icon, label)));
902
+ return (h("div", { class: "display-flex", id: this._getId(icon) }, icon === "trash" ? (h("delete-button", { buttonType: "action", class: "display-flex", disabled: _disabled, icon: icon, ids: this._getIds(), layer: this._layer })) : (h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label))), this._getToolTip("bottom", icon, label)));
903
+ }
904
+ /**
905
+ * Return all currently selected IDs from the table
906
+ *
907
+ * @param number[] the selected ids
908
+ */
909
+ _getIds() {
910
+ return this._table.highlightIds.toArray();
916
911
  }
917
912
  /**
918
913
  * Initialize the FeatureTable
@@ -958,15 +953,15 @@ const LayerTable = class {
958
953
  const ids = [...this._table.highlightIds.toArray()];
959
954
  if (!this._skipOnChange) {
960
955
  if (!this._ctrlIsPressed && !this._shiftIsPressed) {
961
- if (this._selectedIndexes.length > 0) {
956
+ if (this.selectedIds.length > 0) {
962
957
  this._skipOnChange = true;
963
958
  // only readd in specific case where we have multiple selected and then click one of the currently selected
964
- const reAdd = this._selectedIndexes.length > 1 && evt.removed.length === 1;
965
- const newIndexes = reAdd ? evt.removed : ids.filter(id => this._selectedIndexes.indexOf(id) < 0);
959
+ const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
960
+ const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
966
961
  this._clearSelection();
967
- this._selectedIndexes = [...newIndexes];
968
- if (newIndexes.length > 0) {
969
- this._table.highlightIds.add(newIndexes[0]);
962
+ this.selectedIds = [...newIds];
963
+ if (newIds.length > 0) {
964
+ this._table.highlightIds.add(newIds[0]);
970
965
  }
971
966
  else {
972
967
  this._skipOnChange = false;
@@ -974,11 +969,11 @@ const LayerTable = class {
974
969
  }
975
970
  else {
976
971
  // https://github.com/Esri/solutions-components/issues/365
977
- this._selectedIndexes = ids.reverse();
972
+ this.selectedIds = ids.reverse();
978
973
  }
979
974
  }
980
975
  else if (this._ctrlIsPressed) {
981
- this._selectedIndexes = ids.reverse();
976
+ this.selectedIds = ids.reverse();
982
977
  }
983
978
  else if (this._shiftIsPressed) {
984
979
  this._skipOnChange = true;
@@ -997,7 +992,7 @@ const LayerTable = class {
997
992
  const startIndex = _start < _end ? _start : _end;
998
993
  const endIndex = _end > _start ? _end : _start;
999
994
  this._skipOnChange = startIndex + 1 !== endIndex;
1000
- const selectedIndexes = oids.reduce((prev, cur) => {
995
+ const selectedIds = oids.reduce((prev, cur) => {
1001
996
  const id = cur;
1002
997
  const index = this._table.viewModel.getObjectIdIndex(id);
1003
998
  if ((id === this._currentId || id === this._previousCurrentId)) {
@@ -1014,13 +1009,13 @@ const LayerTable = class {
1014
1009
  }
1015
1010
  // Also add index based check.
1016
1011
  // In some cases the FeatureTable and Layer query will have differences in how null/undefined field values are sorted
1017
- if ((this._selectedIndexes.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
1012
+ if ((this.selectedIds.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
1018
1013
  prev.push(id);
1019
1014
  }
1020
1015
  return prev;
1021
1016
  }, []);
1022
- this._selectedIndexes = _start < _end ? selectedIndexes.reverse() : selectedIndexes;
1023
- this._table.highlightIds.addMany(this._selectedIndexes.filter(i => ids.indexOf(i) < 0));
1017
+ this.selectedIds = _start < _end ? selectedIds.reverse() : selectedIds;
1018
+ this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
1024
1019
  }
1025
1020
  }
1026
1021
  this._finishOnChange();
@@ -1042,7 +1037,7 @@ const LayerTable = class {
1042
1037
  this._toggleShowSelected();
1043
1038
  }
1044
1039
  }
1045
- this.featureSelectionChange.emit(this._selectedIndexes);
1040
+ this.featureSelectionChange.emit(this.selectedIds);
1046
1041
  }
1047
1042
  /**
1048
1043
  * Reset basic table props
@@ -1051,7 +1046,7 @@ const LayerTable = class {
1051
1046
  var _a;
1052
1047
  this._clearSelection();
1053
1048
  this._allIds = [];
1054
- this.featureSelectionChange.emit(this._selectedIndexes);
1049
+ this.featureSelectionChange.emit(this.selectedIds);
1055
1050
  const columnTemplates = this._getColumnTemplates(this._layer.id, (_a = this._layer) === null || _a === void 0 ? void 0 : _a.fields);
1056
1051
  this._allIds = await queryAllIds(this._layer);
1057
1052
  if (!this._table) {
@@ -1221,30 +1216,6 @@ const LayerTable = class {
1221
1216
  this._filterOpen = false;
1222
1217
  }
1223
1218
  }
1224
- /**
1225
- * Show delete confirmation message
1226
- *
1227
- * @returns node to confirm or deny the delete operation
1228
- */
1229
- _deleteMessage() {
1230
- return (h("calcite-modal", { "aria-labelledby": "modal-title", kind: "danger", onCalciteModalClose: () => this._deleteClosed(), open: this._confirmDelete }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations.deleteFeature), h("div", { slot: "content" }, this._translations.confirm), h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._deleteClosed(), slot: "secondary", width: "full" }, this._translations.cancel), h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
1231
- }
1232
- /**
1233
- * Delete the currently selected features
1234
- */
1235
- async _deleteFeatures() {
1236
- this._isDeleting = true;
1237
- const deleteFeatures = this._table.highlightIds.toArray().map((objectId) => {
1238
- return { objectId };
1239
- });
1240
- await this._layer.applyEdits({
1241
- deleteFeatures
1242
- });
1243
- await this._table.refresh();
1244
- this._allIds = await queryAllIds(this._layer);
1245
- this._isDeleting = false;
1246
- this._deleteClosed();
1247
- }
1248
1219
  /**
1249
1220
  * Handle map click events to keep table and map click selection in sync
1250
1221
  *
@@ -1272,12 +1243,6 @@ const LayerTable = class {
1272
1243
  }
1273
1244
  }
1274
1245
  }
1275
- /**
1276
- * Set the alertOpen member to false when the alert is closed
1277
- */
1278
- _deleteClosed() {
1279
- this._confirmDelete = false;
1280
- }
1281
1246
  /**
1282
1247
  * Select or deselect all rows
1283
1248
  */
@@ -1286,7 +1251,7 @@ const LayerTable = class {
1286
1251
  this._table.highlightIds.removeAll();
1287
1252
  this._skipOnChange = true;
1288
1253
  this._table.highlightIds.addMany(ids);
1289
- this._selectedIndexes = ids;
1254
+ this.selectedIds = ids;
1290
1255
  this._finishOnChange();
1291
1256
  this._selectAllActive = true;
1292
1257
  }
@@ -1308,7 +1273,7 @@ const LayerTable = class {
1308
1273
  */
1309
1274
  _clearSelection() {
1310
1275
  var _a;
1311
- this._selectedIndexes = [];
1276
+ this.selectedIds = [];
1312
1277
  (_a = this._table) === null || _a === void 0 ? void 0 : _a.highlightIds.removeAll();
1313
1278
  this._finishOnChange();
1314
1279
  }
@@ -1331,7 +1296,7 @@ const LayerTable = class {
1331
1296
  * Select all rows that are not currently selectd
1332
1297
  */
1333
1298
  _switchSelected() {
1334
- const currentIndexes = [...this._selectedIndexes];
1299
+ const currentIndexes = [...this.selectedIds];
1335
1300
  this._table.highlightIds.removeAll();
1336
1301
  const ids = this._allIds.reduce((prev, _cur) => {
1337
1302
  if (currentIndexes.indexOf(_cur) < 0) {
@@ -1341,7 +1306,7 @@ const LayerTable = class {
1341
1306
  }, []).sort((a, b) => a - b);
1342
1307
  this._skipOnChange = true;
1343
1308
  this._table.highlightIds.addMany(ids);
1344
- this._selectedIndexes = ids;
1309
+ this.selectedIds = ids;
1345
1310
  this._finishOnChange();
1346
1311
  }
1347
1312
  /**
@@ -1374,7 +1339,7 @@ const LayerTable = class {
1374
1339
  */
1375
1340
  async _refresh() {
1376
1341
  await this._table.refresh();
1377
- this.featureSelectionChange.emit(this._selectedIndexes);
1342
+ this.featureSelectionChange.emit(this.selectedIds);
1378
1343
  }
1379
1344
  /**
1380
1345
  * Zoom to all selected features
@@ -1384,14 +1349,6 @@ const LayerTable = class {
1384
1349
  _zoom() {
1385
1350
  this._table.zoomToSelection();
1386
1351
  }
1387
- /**
1388
- * Delete all selected records or shows an alert if the layer does not have editing enabled
1389
- *
1390
- * @returns a promise that will resolve when the operation is complete
1391
- */
1392
- _delete() {
1393
- this._confirmDelete = true;
1394
- }
1395
1352
  /**
1396
1353
  * Handles layer selection change to show new table
1397
1354
  *
@@ -1497,7 +1454,7 @@ const LayerTable = class {
1497
1454
  "mapInfo": ["mapInfoWatchHandler"],
1498
1455
  "mapView": ["mapViewWatchHandler"],
1499
1456
  "_layer": ["_layerWatchHandler"],
1500
- "_selectedIndexes": ["_selectedIndexesWatchHandler"],
1457
+ "_selectedIds": ["_selectedIdsWatchHandler"],
1501
1458
  "_sortActive": ["_sortActiveWatchHandler"]
1502
1459
  }; }
1503
1460
  };
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import './solution-resource-7b8d302d.js';
7
7
  import './index-a1e91462.js';
8
- import './interfaces-341e3ab3.js';
8
+ import './interfaces-586e863c.js';
9
9
 
10
10
  /** @license
11
11
  * Copyright 2022 Esri
@@ -4,8 +4,9 @@
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement } from './index-7183ce4a.js';
7
- import { g as getLocaleComponentStrings } from './locale-834c52c6.js';
8
- import { E as ELayoutMode } from './interfaces-341e3ab3.js';
7
+ import { g as getLocaleComponentStrings } from './locale-731e75a8.js';
8
+ import { E as ELayoutMode } from './interfaces-586e863c.js';
9
+ import { g as getLayerOrTable } from './mapViewUtils-6daedef8.js';
9
10
  import './esri-loader-eda07632.js';
10
11
  import './_commonjsHelpers-d5f9d613.js';
11
12
 
@@ -52,6 +53,7 @@ const CrowdsourceManager = class {
52
53
  this._hideTable = false;
53
54
  this._isMobile = undefined;
54
55
  this._translations = undefined;
56
+ this._layer = undefined;
55
57
  this._layoutMode = ELayoutMode.GRID;
56
58
  this._mapInfo = undefined;
57
59
  this._mapView = undefined;
@@ -162,6 +164,16 @@ const CrowdsourceManager = class {
162
164
  this._expandPopup = false;
163
165
  }
164
166
  }
167
+ /**
168
+ * Get the layer for the provided layer id
169
+ */
170
+ async layerSelectionChange(evt) {
171
+ const id = evt.detail[0];
172
+ const layer = await getLayerOrTable(this._mapView, id);
173
+ await layer.when(() => {
174
+ this._layer = layer;
175
+ });
176
+ }
165
177
  //--------------------------------------------------------------------------
166
178
  //
167
179
  // Functions (lifecycle)
@@ -210,8 +222,10 @@ const CrowdsourceManager = class {
210
222
  * @protected
211
223
  */
212
224
  _getFooter() {
225
+ var _a, _b, _c, _d;
213
226
  const hasSelectedFeatures = this._numSelected > 0;
214
- return this._isMobile && hasSelectedFeatures && !this._hideFooter ? (h("div", { class: `width-100`, slot: "footer" }, h("div", { class: "display-flex padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-show", onClick: () => this.showHideMapPopupAndTable(true), width: "full" }, this._translations.view.replace("{{n}}", this._numSelected.toString())), h("calcite-button", { appearance: "outline", class: "padding-inline-start-1", id: "solutions-delete", kind: "danger", onClick: () => this._layerTable.deleteFeatures(), width: "full" }, this._translations.delete.replace("{{n}}", this._numSelected.toString()))))) : undefined;
227
+ const deleteEnabled = ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.editingEnabled) && ((_d = (_c = (_b = this._layer) === null || _b === void 0 ? void 0 : _b.capabilities) === null || _c === void 0 ? void 0 : _c.operations) === null || _d === void 0 ? void 0 : _d.supportsDelete);
228
+ return this._isMobile && hasSelectedFeatures && !this._hideFooter ? (h("div", { class: `width-100`, slot: "footer" }, h("div", { class: "display-flex padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-show", onClick: () => this.showHideMapPopupAndTable(true), width: "full" }, this._translations.view.replace("{{n}}", this._numSelected.toString())), deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-full", id: "solutions-delete", ids: this._layerTable.selectedIds, layer: this._layer })) : undefined))) : undefined;
215
229
  }
216
230
  /**
217
231
  * Get the icon name to use for the divider icon based on the current layout
@@ -373,7 +387,7 @@ const CrowdsourceManager = class {
373
387
  * @protected
374
388
  */
375
389
  _getTable(layoutMode, panelOpen, hideTable) {
376
- const tableClass = hideTable ? "visibility-hidden" : "";
390
+ const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
377
391
  const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
378
392
  const icon = this._getDividerIcon(layoutMode, panelOpen);
379
393
  const tooltip = panelOpen ? this._translations.close : this._translations.open;
@@ -4,13 +4,17 @@
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement } from './index-7183ce4a.js';
7
+ import { g as getLocaleComponentStrings } from './locale-731e75a8.js';
8
+ import './esri-loader-eda07632.js';
9
+ import './_commonjsHelpers-d5f9d613.js';
7
10
 
8
- const crowdsourceReporterCss = ":host{display:block}";
11
+ const crowdsourceReporterCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.map-container{position:absolute;width:calc(100% - 390px);left:390px}.side-panel{padding:2px;width:390px;height:100%;position:absolute;top:0;left:0;z-index:60}.error-msg{padding:10px}.collapsed-side-panel{top:calc(100% - 55px);height:54px}";
9
12
 
10
13
  const CrowdsourceReporter = class {
11
14
  constructor(hostRef) {
12
15
  registerInstance(this, hostRef);
13
16
  this.description = undefined;
17
+ this.isMobile = undefined;
14
18
  this.enableAnonymousAccess = undefined;
15
19
  this.enableAnonymousComments = undefined;
16
20
  this.enableComments = undefined;
@@ -24,22 +28,39 @@ const CrowdsourceReporter = class {
24
28
  this.reportSubmittedMessage = undefined;
25
29
  this.searchConfiguration = undefined;
26
30
  this.showComments = undefined;
31
+ this.defaultWebmap = "";
32
+ this.enableSearch = true;
33
+ this.enableHome = true;
34
+ this.mapInfos = [];
35
+ this.theme = "light";
36
+ this.enableZoom = true;
37
+ this._mapInfo = undefined;
38
+ this._flowItems = ["layer-list"];
39
+ this._sidePanelCollapsed = false;
40
+ this._translations = undefined;
41
+ this._hasValidLayers = false;
27
42
  }
28
43
  //--------------------------------------------------------------------------
29
44
  //
30
- // State (internal)
31
- //
32
- //--------------------------------------------------------------------------
33
- //--------------------------------------------------------------------------
34
- //
35
- // Properties (protected)
36
- //
37
- //--------------------------------------------------------------------------
38
- //--------------------------------------------------------------------------
39
- //
40
45
  // Watch handlers
41
46
  //
42
47
  //--------------------------------------------------------------------------
48
+ /**
49
+ * Called each time the mapView prop is changed.
50
+ */
51
+ async isMobileWatchHandler() {
52
+ if (this.isMobile) {
53
+ this._sidePanelCollapsed = false;
54
+ }
55
+ }
56
+ /**
57
+ * Called each time the mapView prop is changed.
58
+ */
59
+ async mapViewWatchHandler() {
60
+ await this.mapView.when(async () => {
61
+ await this.setMapView();
62
+ });
63
+ }
43
64
  //--------------------------------------------------------------------------
44
65
  //
45
66
  // Methods (public)
@@ -57,18 +78,17 @@ const CrowdsourceReporter = class {
57
78
  //--------------------------------------------------------------------------
58
79
  /**
59
80
  * StencilJS: Called once just after the component is first connected to the DOM.
60
- *
81
+ * Create component translations and monitor the mediaQuery change to detect mobile/desktop mode
61
82
  * @returns Promise when complete
62
83
  */
63
- // async componentWillLoad(): Promise<void> {
64
- // await this._getTranslations();
65
- // await this._initModules();
66
- // }
84
+ async componentWillLoad() {
85
+ await this._getTranslations();
86
+ }
67
87
  /**
68
88
  * Renders the component.
69
89
  */
70
90
  render() {
71
- return (h(Host, null, h("slot", null, this.loginTitle + this.description)));
91
+ return (h(Host, null, h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
72
92
  }
73
93
  //--------------------------------------------------------------------------
74
94
  //
@@ -76,34 +96,135 @@ const CrowdsourceReporter = class {
76
96
  //
77
97
  //--------------------------------------------------------------------------
78
98
  /**
79
- * Load esri javascript api modules
80
- *
81
- * @returns Promise resolving when function is done
82
- *
99
+ * Get the reporter app functionality
100
+ * @protected
101
+ */
102
+ _getReporter() {
103
+ const renderLists = [];
104
+ this._flowItems.forEach((item) => {
105
+ switch (item) {
106
+ case "layer-list":
107
+ renderLists.push(this.getLayerListFlowItem());
108
+ break;
109
+ case "feature-list":
110
+ renderLists.push(this.getFeatureListFlowItem(this._selectedLayerId, this._selectedLayerName));
111
+ break;
112
+ case "feature-details":
113
+ renderLists.push(this.getFeatureDetailsFlowItem());
114
+ break;
115
+ }
116
+ });
117
+ let sidePanelClass = "side-panel";
118
+ //in case of mobile handle for collapsed styles of the panel
119
+ if (this.isMobile && this._sidePanelCollapsed) {
120
+ sidePanelClass += " collapsed-side-panel";
121
+ }
122
+ const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
123
+ return (h("calcite-panel", { class: sidePanelClass + " width-full " + themeClass }, this.mapView
124
+ ? h("calcite-flow", null, (renderLists === null || renderLists === void 0 ? void 0 : renderLists.length) > 0 && renderLists)
125
+ : h("calcite-loader", { scale: "m" })));
126
+ }
127
+ /**
128
+ * Get the feature layer list
129
+ * @returns the layer list items
130
+ * @protected
131
+ */
132
+ getLayerListFlowItem() {
133
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers && 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 && 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 && 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) }))));
134
+ }
135
+ /**
136
+ * 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
137
+ * @param evt Event which has list of layers
138
+ * @protected
139
+ */
140
+ layerListLoaded(evt) {
141
+ const layersListed = evt.detail;
142
+ this._hasValidLayers = layersListed.length > 0;
143
+ }
144
+ /**On click of layer list item show feature list
145
+ * @param evt Event which has details of selected layerId and layerName
146
+ * @protected
147
+ */
148
+ displayFeaturesList(evt) {
149
+ this._selectedLayerId = evt.detail.layerId;
150
+ this._selectedLayerName = evt.detail.layerName;
151
+ this._flowItems = [...this._flowItems, "feature-list"];
152
+ }
153
+ /**
154
+ * On back from feature list navigate to the Layer list panel
155
+ * @protected
156
+ */
157
+ backFromFeatureList() {
158
+ const updatedFlowItems = [...this._flowItems];
159
+ updatedFlowItems.pop();
160
+ this._flowItems = [...updatedFlowItems];
161
+ }
162
+ /**
163
+ * Toggle side panel in case of mobile mode
164
+ * @protected
165
+ */
166
+ toggleSidePanel() {
167
+ this._sidePanelCollapsed = !this._sidePanelCollapsed;
168
+ }
169
+ /**
170
+ * When feature is selected from list store that and show feature details
171
+ * @param evt Event which has details of selected feature
172
+ */
173
+ async onFeatureSelectFromList(evt) {
174
+ this._selectedFeature = [evt.detail];
175
+ this._flowItems = [...this._flowItems, "feature-details"];
176
+ }
177
+ /**
178
+ * Get feature list of the selected feature layer
179
+ * @param layerId Layer id
180
+ * @returns feature list node
83
181
  * @protected
84
182
  */
85
- // protected async _initModules(): Promise<void> {
86
- // const [geometryEngine, jsonUtils]: [
87
- // __esri.geometryEngine,
88
- // __esri.symbolsSupportJsonUtils
89
- // ] = await loadModules([
90
- // "esri/geometry/geometryEngine",
91
- // "esri/symbols/support/jsonUtils"
92
- // ]);
93
- // this._geometryEngine = geometryEngine;
94
- // this._jsonUtils = jsonUtils;
95
- // }
183
+ getFeatureListFlowItem(layerId, layerName) {
184
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), 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.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 100, selectedLayerId: layerId }))));
185
+ }
186
+ /**
187
+ * Returns the calcite-flow item for feature details
188
+ * @returns Node
189
+ */
190
+ getFeatureDetailsFlowItem() {
191
+ 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 }))));
192
+ }
193
+ /**
194
+ * Returns the action button to Expand/Collapse side panel in mobile mode
195
+ */
196
+ getActionToExpandCollapsePanel() {
197
+ return (h("calcite-action", { icon: this._sidePanelCollapsed ? "chevrons-up" : "chevrons-down", onClick: this.toggleSidePanel.bind(this), slot: "header-actions-end", text: this._sidePanelCollapsed ? this._translations.expand : this._translations.collapse }));
198
+ }
199
+ /**
200
+ * Set the current map info when maps change
201
+ * @protected
202
+ */
203
+ async setMapView() {
204
+ this.mapView.popupEnabled = false;
205
+ if (this._defaultCenter && this._defaultLevel) {
206
+ await this.mapView.goTo({
207
+ center: this._defaultCenter,
208
+ zoom: this._defaultLevel
209
+ });
210
+ this._defaultCenter = undefined;
211
+ this._defaultLevel = undefined;
212
+ }
213
+ }
96
214
  /**
97
215
  * Fetches the component's translations
98
- *
99
216
  * @returns Promise when complete
100
217
  * @protected
101
218
  */
102
219
  async _getTranslations() {
103
- // const messages = await getLocaleComponentStrings(this.el);
104
- // this._translations = messages[0] as typeof BufferTools_T9n;
220
+ const messages = await getLocaleComponentStrings(this.el);
221
+ this._translations = messages[0];
105
222
  }
106
223
  get el() { return getElement(this); }
224
+ static get watchers() { return {
225
+ "isMobile": ["isMobileWatchHandler"],
226
+ "mapView": ["mapViewWatchHandler"]
227
+ }; }
107
228
  };
108
229
  CrowdsourceReporter.style = crowdsourceReporterCss;
109
230