@esri/solutions-components 0.7.22 → 0.7.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (451) 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/assets/t9n/public-notification/resources.json +2 -3
  16. package/dist/assets/t9n/public-notification/resources_en.json +2 -3
  17. package/dist/cjs/basemap-gallery_5.cjs.entry.js +573 -0
  18. package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
  19. package/dist/cjs/calcite-action-bar.cjs.entry.js +255 -0
  20. package/dist/cjs/calcite-alert_3.cjs.entry.js +159 -370
  21. package/dist/cjs/calcite-combobox_6.cjs.entry.js +2 -1
  22. package/dist/cjs/{calcite-action-bar_3.cjs.entry.js → calcite-filter_5.cjs.entry.js} +333 -172
  23. package/dist/cjs/calcite-flow_4.cjs.entry.js +658 -0
  24. package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +22 -11
  25. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -1
  26. package/dist/cjs/{card-manager_3.cjs.entry.js → card-manager_2.cjs.entry.js} +69 -271
  27. package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -3
  28. package/dist/cjs/crowdsource-reporter.cjs.entry.js +215 -36
  29. package/dist/cjs/{basemap-gallery_7.cjs.entry.js → info-card_4.cjs.entry.js} +325 -413
  30. package/dist/cjs/instant-apps-export.cjs.entry.js +1 -1
  31. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +41 -1
  32. package/dist/cjs/layout-manager.cjs.entry.js +2 -1
  33. package/dist/cjs/loader.cjs.js +1 -1
  34. package/dist/cjs/{locale-9db09b63.js → locale-1ff119f5.js} +19 -1
  35. package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
  36. package/dist/cjs/popupUtils-8d5b6e94.js +99 -0
  37. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  38. package/dist/cjs/solution-configuration.cjs.entry.js +2 -1
  39. package/dist/cjs/solution-contents_3.cjs.entry.js +16 -2
  40. package/dist/cjs/solutions-components.cjs.js +1 -1
  41. package/dist/cjs/spatial-ref.cjs.entry.js +2 -1
  42. package/dist/collection/collection-manifest.json +3 -0
  43. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
  44. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +73 -0
  45. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +349 -56
  46. package/dist/collection/components/delete-button/delete-button.css +19 -0
  47. package/dist/collection/components/delete-button/delete-button.js +299 -0
  48. package/dist/collection/components/delete-button/test/delete-button.e2e.js +29 -0
  49. package/dist/collection/components/delete-button/test/delete-button.spec.js +37 -0
  50. package/dist/collection/components/edit-card/edit-card.js +23 -13
  51. package/dist/collection/components/feature-list/feature-list.css +38 -0
  52. package/dist/collection/components/feature-list/feature-list.js +303 -0
  53. package/dist/collection/components/floor-filter/floor-filter.js +28 -12
  54. package/dist/collection/components/info-card/info-card.js +65 -21
  55. package/dist/collection/components/layer-list/layer-list.css +28 -0
  56. package/dist/collection/components/layer-list/layer-list.js +288 -0
  57. package/dist/collection/components/layer-table/layer-table.js +90 -119
  58. package/dist/collection/components/public-notification/public-notification.js +1 -1
  59. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +31 -1
  60. package/dist/collection/demos/crowdsource-manager.html +13 -0
  61. package/dist/collection/demos/crowdsource-reporter.html +42 -70
  62. package/dist/collection/demos/feature-list.html +43 -0
  63. package/dist/collection/demos/layer-list.html +43 -0
  64. package/dist/collection/utils/interfaces.ts +4 -0
  65. package/dist/components/calcite-flow-item.js +1 -261
  66. package/dist/components/calcite-flow.js +1 -165
  67. package/dist/components/card-manager2.js +38 -26
  68. package/dist/components/crowdsource-manager.js +110 -89
  69. package/dist/components/crowdsource-reporter.js +463 -42
  70. package/dist/components/delete-button.d.ts +11 -0
  71. package/dist/components/delete-button.js +11 -0
  72. package/dist/components/delete-button2.js +209 -0
  73. package/dist/components/edit-card2.js +23 -13
  74. package/dist/components/feature-list.d.ts +11 -0
  75. package/dist/components/feature-list.js +11 -0
  76. package/dist/components/feature-list2.js +281 -0
  77. package/dist/components/floor-filter2.js +12 -13
  78. package/dist/{esm/calcite-flow-item.entry.js → components/flow-item.js} +94 -19
  79. package/dist/{esm/calcite-flow.entry.js → components/flow.js} +33 -10
  80. package/dist/components/info-card2.js +87 -136
  81. package/dist/components/instant-apps-export.js +1 -1
  82. package/dist/components/instant-apps-filter-list2.js +22 -11
  83. package/dist/components/instant-apps-language-translator2.js +48 -4
  84. package/dist/components/layer-list.d.ts +11 -0
  85. package/dist/components/layer-list.js +11 -0
  86. package/dist/components/layer-list2.js +268 -0
  87. package/dist/components/layer-table2.js +148 -169
  88. package/dist/components/locale.js +19 -2
  89. package/dist/components/popupUtils.js +97 -0
  90. package/dist/components/public-notification.js +1 -1
  91. package/dist/components/queryUtils.js +1 -1
  92. package/dist/components/solution-spatial-ref2.js +17 -2
  93. package/dist/esm/{ExpandToggle-540998b5.js → ExpandToggle-96688cda.js} +1 -1
  94. package/dist/esm/{ar-35006b74.js → ar-29711364.js} +8 -8
  95. package/dist/esm/basemap-gallery_5.entry.js +565 -0
  96. package/dist/esm/{bg-c289978f.js → bg-c0f5033b.js} +8 -8
  97. package/dist/esm/{bs-6f9fb44a.js → bs-60479ce5.js} +8 -8
  98. package/dist/esm/buffer-tools_3.entry.js +3 -3
  99. package/dist/esm/{ca-7962c8b7.js → ca-4317b986.js} +8 -8
  100. package/dist/esm/calcite-accordion-item.entry.js +1 -1
  101. package/dist/esm/calcite-action-bar.entry.js +251 -0
  102. package/dist/esm/calcite-action-group.entry.js +3 -3
  103. package/dist/esm/calcite-action-menu_2.entry.js +5 -5
  104. package/dist/esm/calcite-action-pad_2.entry.js +4 -4
  105. package/dist/esm/calcite-action_2.entry.js +3 -3
  106. package/dist/esm/calcite-alert_3.entry.js +164 -375
  107. package/dist/esm/calcite-avatar.entry.js +1 -1
  108. package/dist/esm/calcite-block-section.entry.js +3 -3
  109. package/dist/esm/calcite-block_2.entry.js +5 -5
  110. package/dist/esm/calcite-button.entry.js +5 -5
  111. package/dist/esm/calcite-card.entry.js +3 -3
  112. package/dist/esm/calcite-checkbox.entry.js +3 -3
  113. package/dist/esm/calcite-chip-group.entry.js +1 -1
  114. package/dist/esm/calcite-chip.entry.js +3 -3
  115. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  116. package/dist/esm/calcite-color-picker.entry.js +3 -3
  117. package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
  118. package/dist/esm/calcite-combobox_6.entry.js +11 -10
  119. package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
  120. package/dist/esm/calcite-fab.entry.js +1 -1
  121. package/dist/esm/{calcite-action-bar_3.entry.js → calcite-filter_5.entry.js} +363 -204
  122. package/dist/esm/calcite-flow_4.entry.js +651 -0
  123. package/dist/esm/calcite-graph_2.entry.js +4 -4
  124. package/dist/esm/calcite-icon.entry.js +1 -1
  125. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  126. package/dist/esm/calcite-input-date-picker_3.entry.js +31 -20
  127. package/dist/esm/calcite-input-number.entry.js +5 -5
  128. package/dist/esm/calcite-input-text.entry.js +5 -5
  129. package/dist/esm/{calcite-input-time-picker-63439178.js → calcite-input-time-picker-2e1b2157.js} +55 -55
  130. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  131. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  132. package/dist/esm/calcite-input_2.entry.js +5 -5
  133. package/dist/esm/calcite-label.entry.js +2 -2
  134. package/dist/esm/calcite-link.entry.js +1 -1
  135. package/dist/esm/calcite-menu-item.entry.js +3 -3
  136. package/dist/esm/calcite-menu.entry.js +3 -3
  137. package/dist/esm/calcite-meter.entry.js +3 -3
  138. package/dist/esm/calcite-modal.entry.js +4 -4
  139. package/dist/esm/calcite-navigation.entry.js +1 -1
  140. package/dist/esm/calcite-notice.entry.js +3 -3
  141. package/dist/esm/calcite-option_2.entry.js +3 -3
  142. package/dist/esm/calcite-pagination.entry.js +3 -3
  143. package/dist/esm/calcite-panel_2.entry.js +3 -3
  144. package/dist/esm/calcite-pick-list-group.entry.js +1 -1
  145. package/dist/esm/calcite-pick-list-item.entry.js +3 -3
  146. package/dist/esm/calcite-pick-list.entry.js +2 -2
  147. package/dist/esm/calcite-radio-button.entry.js +3 -3
  148. package/dist/esm/calcite-rating.entry.js +5 -5
  149. package/dist/esm/calcite-scrim.entry.js +3 -3
  150. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  151. package/dist/esm/calcite-sheet.entry.js +2 -2
  152. package/dist/esm/calcite-shell-center-row.entry.js +1 -1
  153. package/dist/esm/calcite-shell-panel_14.entry.js +8 -7
  154. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  155. package/dist/esm/calcite-stepper-item.entry.js +3 -3
  156. package/dist/esm/calcite-stepper.entry.js +3 -3
  157. package/dist/esm/calcite-switch.entry.js +3 -3
  158. package/dist/esm/calcite-table-cell_2.entry.js +3 -3
  159. package/dist/esm/calcite-table-row.entry.js +1 -1
  160. package/dist/esm/calcite-table.entry.js +3 -3
  161. package/dist/esm/calcite-text-area.entry.js +5 -5
  162. package/dist/esm/calcite-tile.entry.js +1 -1
  163. package/dist/esm/calcite-time-picker.entry.js +4 -4
  164. package/dist/esm/calcite-tip-manager.entry.js +3 -3
  165. package/dist/esm/calcite-tip.entry.js +3 -3
  166. package/dist/esm/calcite-tooltip.entry.js +2 -2
  167. package/dist/esm/calcite-tree_2.entry.js +1 -1
  168. package/dist/esm/{card-manager_3.entry.js → card-manager_2.entry.js} +72 -273
  169. package/dist/esm/{common-2cf42ac2.js → common-d04ccc0d.js} +1 -1
  170. package/dist/esm/crowdsource-manager.entry.js +19 -4
  171. package/dist/esm/crowdsource-reporter.entry.js +215 -36
  172. package/dist/esm/{cs-6d13069b.js → cs-da404a04.js} +8 -8
  173. package/dist/esm/{da-14097e6c.js → da-1afac3fa.js} +8 -8
  174. package/dist/esm/{date-1743b515.js → date-8b4a8f33.js} +1 -1
  175. package/dist/esm/{de-dff2571b.js → de-98f3129e.js} +8 -8
  176. package/dist/esm/{de-at-b733db65.js → de-at-ed4817af.js} +8 -8
  177. package/dist/esm/{de-ch-5ad0cb74.js → de-ch-556c82c8.js} +8 -8
  178. package/dist/esm/{dom-492b1b24.js → dom-8f926f33.js} +1 -1
  179. package/dist/esm/{downloadUtils-13579d93.js → downloadUtils-067dc2ff.js} +2 -2
  180. package/dist/esm/{el-688e05ba.js → el-394dfd74.js} +8 -8
  181. package/dist/esm/{en-au-357e70d8.js → en-au-6dde1e7e.js} +8 -8
  182. package/dist/esm/{en-ca-1e0b6b47.js → en-ca-420be416.js} +8 -8
  183. package/dist/esm/{en-gb-861a17f2.js → en-gb-0a7caa85.js} +8 -8
  184. package/dist/esm/{es-291ab4bd.js → es-2e1beb99.js} +8 -8
  185. package/dist/esm/{es-mx-0a7283a7.js → es-mx-ef132a24.js} +8 -8
  186. package/dist/esm/{et-addd2617.js → et-83d139c1.js} +8 -8
  187. package/dist/esm/{fi-469884d5.js → fi-8b81ed94.js} +8 -8
  188. package/dist/esm/{floating-ui-03eb4c82.js → floating-ui-c397f653.js} +1 -1
  189. package/dist/esm/{focusTrapComponent-2e7de651.js → focusTrapComponent-14368766.js} +1 -1
  190. package/dist/esm/{form-9bccaf85.js → form-133b00c7.js} +1 -1
  191. package/dist/esm/{fr-f5cb34ca.js → fr-c47c114a.js} +8 -8
  192. package/dist/esm/{fr-ch-115d3fda.js → fr-ch-97635343.js} +8 -8
  193. package/dist/esm/{he-6e5f5c56.js → he-ed2a12b9.js} +8 -8
  194. package/dist/esm/{hi-503240c2.js → hi-a05727ac.js} +8 -8
  195. package/dist/esm/{hr-cc08d6fc.js → hr-d01671ca.js} +8 -8
  196. package/dist/esm/{hu-69ac240d.js → hu-16506ca7.js} +8 -8
  197. package/dist/esm/{id-99547746.js → id-e9367e87.js} +8 -8
  198. package/dist/esm/{index.es-04d2e63e.js → index.es-92e46d8b.js} +3 -3
  199. package/dist/esm/{basemap-gallery_7.entry.js → info-card_4.entry.js} +325 -410
  200. package/dist/esm/instant-apps-export.entry.js +1 -1
  201. package/dist/esm/instant-apps-language-translator.entry.js +42 -2
  202. package/dist/esm/{interfaces-341e3ab3.js → interfaces-586e863c.js} +1 -1
  203. package/dist/esm/{it-dbb6ea7d.js → it-14246b4a.js} +8 -8
  204. package/dist/esm/{it-ch-a83801f6.js → it-ch-a877e111.js} +8 -8
  205. package/dist/esm/{ja-79dbb02f.js → ja-67a0cfa0.js} +8 -8
  206. package/dist/esm/{ko-31ebe067.js → ko-35b0b83a.js} +8 -8
  207. package/dist/esm/{label-14301f4d.js → label-cd393c81.js} +1 -1
  208. package/dist/esm/layout-manager.entry.js +3 -2
  209. package/dist/esm/loader.js +1 -1
  210. package/dist/esm/{locale-834c52c6.js → locale-13e3c96c.js} +19 -2
  211. package/dist/esm/{locale-8cfa3086.js → locale-6107ef11.js} +1 -1
  212. package/dist/esm/{lt-94d3f4b8.js → lt-71014faf.js} +8 -8
  213. package/dist/esm/{lv-d770ed0d.js → lv-def9df38.js} +8 -8
  214. package/dist/esm/map-select-tools_3.entry.js +4 -4
  215. package/dist/esm/{mapViewUtils-8fe70944.js → mapViewUtils-6daedef8.js} +2 -2
  216. package/dist/esm/{mk-1046d60a.js → mk-bfeac49e.js} +8 -8
  217. package/dist/esm/{nb-dad0b4b9.js → nb-0723b461.js} +8 -8
  218. package/dist/esm/{nl-a968c4b7.js → nl-89663165.js} +8 -8
  219. package/dist/esm/{pl-a0037bd3.js → pl-0157c37c.js} +8 -8
  220. package/dist/esm/popupUtils-b71f30fc.js +97 -0
  221. package/dist/esm/{pt-e3d9370c.js → pt-80d1520c.js} +8 -8
  222. package/dist/esm/{pt-br-44c11565.js → pt-br-ee5003c7.js} +8 -8
  223. package/dist/esm/public-notification.entry.js +5 -5
  224. package/dist/esm/{ro-290e025d.js → ro-eff987f8.js} +8 -8
  225. package/dist/esm/{ru-38ff91f1.js → ru-62839398.js} +8 -8
  226. package/dist/esm/{shared-list-render-89e4bcff.js → shared-list-render-a2ab63e8.js} +1 -1
  227. package/dist/esm/{sk-9622a24b.js → sk-c2f4bd58.js} +8 -8
  228. package/dist/esm/{sl-6bc83a24.js → sl-328ff1db.js} +8 -8
  229. package/dist/esm/solution-configuration.entry.js +4 -3
  230. package/dist/esm/solution-contents_3.entry.js +19 -5
  231. package/dist/esm/{solution-store-b08696f7.js → solution-store-19f7825b.js} +1 -1
  232. package/dist/esm/solutions-components.js +1 -1
  233. package/dist/esm/spatial-ref.entry.js +4 -3
  234. package/dist/esm/{sr-35e575d8.js → sr-75a3ad46.js} +8 -8
  235. package/dist/esm/{sv-d80fa359.js → sv-10da5ef2.js} +8 -8
  236. package/dist/esm/{t9n-3c5e55ab.js → t9n-f16911e7.js} +1 -1
  237. package/dist/esm/{th-23e71d40.js → th-aa112042.js} +8 -8
  238. package/dist/esm/{time-d956a7c8.js → time-855b3426.js} +1 -1
  239. package/dist/esm/{tr-961fd2f3.js → tr-5925a2f5.js} +8 -8
  240. package/dist/esm/{uk-4e8a425a.js → uk-c40eeb9f.js} +8 -8
  241. package/dist/esm/{utils-56206ec2.js → utils-93fd55c4.js} +2 -2
  242. package/dist/esm/{utils-8287806a.js → utils-c3509713.js} +1 -1
  243. package/dist/esm/{vi-ad983882.js → vi-27922b93.js} +8 -8
  244. package/dist/esm/{zh-cn-5b6fd039.js → zh-cn-38a2e1d3.js} +8 -8
  245. package/dist/esm/{zh-hk-7439b11d.js → zh-hk-e0217bd1.js} +8 -8
  246. package/dist/esm/{zh-tw-cf384663.js → zh-tw-31f0447c.js} +8 -8
  247. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-filter-list/instant-apps-filter-list.css +0 -1
  248. package/dist/solutions-components/demos/crowdsource-manager.html +13 -0
  249. package/dist/solutions-components/demos/crowdsource-reporter.html +42 -70
  250. package/dist/solutions-components/demos/feature-list.html +43 -0
  251. package/dist/solutions-components/demos/layer-list.html +43 -0
  252. package/dist/solutions-components/{p-a40a1eab.entry.js → p-01032eec.entry.js} +2 -18
  253. package/dist/solutions-components/{p-e7951fcb.js → p-0392679d.js} +1 -1
  254. package/dist/solutions-components/{p-3022da2d.js → p-05f702ae.js} +1 -1
  255. package/dist/solutions-components/{p-4da72ee8.entry.js → p-068f5a8c.entry.js} +1 -1
  256. package/dist/solutions-components/{p-4f71a1a0.js → p-0d774e41.js} +1 -1
  257. package/dist/solutions-components/{p-0e723ffc.js → p-0f6b58b2.js} +1 -1
  258. package/dist/solutions-components/{p-ec8f042e.entry.js → p-10410f92.entry.js} +1 -1
  259. package/dist/solutions-components/{p-6a4b1e48.entry.js → p-10f2d6b0.entry.js} +2 -2
  260. package/dist/solutions-components/{p-5d2ccc75.entry.js → p-13be5cf5.entry.js} +1 -1
  261. package/dist/solutions-components/{p-58054bc2.js → p-14548a83.js} +1 -1
  262. package/dist/solutions-components/{p-c9f87acb.js → p-14ff1465.js} +2 -2
  263. package/dist/solutions-components/{p-026b1345.js → p-17668cb7.js} +3 -3
  264. package/dist/solutions-components/{p-5e530f8c.js → p-1c75bb3d.js} +1 -1
  265. package/dist/solutions-components/p-1f7046e9.entry.js +6 -0
  266. package/dist/solutions-components/{p-121a5dac.entry.js → p-234a8293.entry.js} +1 -1
  267. package/dist/solutions-components/{p-355249fc.js → p-2447b332.js} +1 -1
  268. package/dist/solutions-components/{p-48828002.entry.js → p-24c699b0.entry.js} +1 -1
  269. package/dist/solutions-components/{p-9bcbc1cc.js → p-2592e0dd.js} +1 -1
  270. package/dist/solutions-components/{p-b78a1c21.js → p-28b33708.js} +1 -1
  271. package/dist/solutions-components/{p-fa6ef970.js → p-2d68a6fd.js} +1 -1
  272. package/dist/solutions-components/{p-6437fee1.entry.js → p-2e2d01de.entry.js} +1 -1
  273. package/dist/solutions-components/{p-5e9b05c0.entry.js → p-2f425700.entry.js} +1 -1
  274. package/dist/solutions-components/p-3606c4b8.entry.js +6 -0
  275. package/dist/solutions-components/{p-6c3cdd09.entry.js → p-364486d1.entry.js} +1 -1
  276. package/dist/solutions-components/{p-85a89f1d.entry.js → p-368cbb2c.entry.js} +1 -1
  277. package/dist/solutions-components/{p-c68a6d4f.js → p-36cbf14f.js} +1 -1
  278. package/dist/solutions-components/{p-52ad6ff9.entry.js → p-36f247db.entry.js} +1 -1
  279. package/dist/solutions-components/{p-080249de.js → p-38544b17.js} +1 -1
  280. package/dist/solutions-components/{p-a0be72b6.entry.js → p-3a73ee38.entry.js} +1 -1
  281. package/dist/solutions-components/{p-532b7378.entry.js → p-3ad4426b.entry.js} +1 -1
  282. package/dist/solutions-components/{p-5752785e.entry.js → p-3c10901a.entry.js} +1 -1
  283. package/dist/solutions-components/{p-6e406a7b.js → p-3c7d0eb9.js} +1 -1
  284. package/dist/solutions-components/{p-bf23173c.js → p-411b73a7.js} +1 -1
  285. package/dist/solutions-components/{p-76d60881.entry.js → p-429e1284.entry.js} +1 -1
  286. package/dist/solutions-components/{p-f3d277c2.entry.js → p-42f0e1fa.entry.js} +1 -1
  287. package/dist/solutions-components/{p-1fc220c7.js → p-4416d288.js} +1 -1
  288. package/dist/solutions-components/{p-663a433a.entry.js → p-451b16b3.entry.js} +2 -2
  289. package/dist/solutions-components/{p-b5d1b979.js → p-4566438a.js} +3 -3
  290. package/dist/solutions-components/{p-7a06dcdf.js → p-4647b2a6.js} +1 -1
  291. package/dist/solutions-components/{p-75fbe76c.js → p-480d0789.js} +1 -1
  292. package/dist/solutions-components/p-49b02dda.entry.js +6 -0
  293. package/dist/solutions-components/{p-722ae773.js → p-49fb1bfa.js} +2 -2
  294. package/dist/solutions-components/{p-17183100.js → p-4abf1c34.js} +1 -1
  295. package/dist/solutions-components/p-4ae36626.js +6 -0
  296. package/dist/solutions-components/{p-5c3fd315.entry.js → p-4bff69aa.entry.js} +1 -1
  297. package/dist/solutions-components/{p-f8f18a94.entry.js → p-4ccdac24.entry.js} +1 -1
  298. package/dist/solutions-components/{p-a3a64af2.entry.js → p-4d402bcf.entry.js} +1 -1
  299. package/dist/solutions-components/{p-7e82a730.js → p-4d8fc031.js} +1 -1
  300. package/dist/solutions-components/{p-1c720ed5.entry.js → p-4d99cb49.entry.js} +1 -1
  301. package/dist/solutions-components/p-4fbadb84.entry.js +6 -0
  302. package/dist/solutions-components/{p-e0276e26.entry.js → p-5268d845.entry.js} +2 -2
  303. package/dist/solutions-components/{p-f3f09834.js → p-5e12026e.js} +1 -1
  304. package/dist/solutions-components/p-5e832d65.entry.js +6 -0
  305. package/dist/solutions-components/{p-ffee4847.entry.js → p-5fe99315.entry.js} +1 -1
  306. package/dist/solutions-components/{p-d6208a47.js → p-6105d57c.js} +1 -1
  307. package/dist/solutions-components/{p-f3dfb34f.entry.js → p-613315a7.entry.js} +1 -1
  308. package/dist/solutions-components/{p-0d97c2c5.entry.js → p-62eba559.entry.js} +1 -1
  309. package/dist/solutions-components/{p-40235cb7.entry.js → p-63fa7791.entry.js} +1 -1
  310. package/dist/solutions-components/{p-cfccae7c.js → p-6604ac77.js} +1 -1
  311. package/dist/solutions-components/{p-9b1766ef.entry.js → p-674be06c.entry.js} +1 -1
  312. package/dist/solutions-components/{p-a4aef40c.entry.js → p-67ff8e9a.entry.js} +1 -1
  313. package/dist/solutions-components/{p-16df3a9e.entry.js → p-685257d1.entry.js} +1 -1
  314. package/dist/solutions-components/{p-4647c429.js → p-68e0adcf.js} +1 -1
  315. package/dist/solutions-components/{p-fc8338c6.entry.js → p-68e84199.entry.js} +1 -1
  316. package/dist/solutions-components/{p-aa3092cf.js → p-69763854.js} +1 -1
  317. package/dist/solutions-components/{p-e31754c8.js → p-6ae45648.js} +1 -1
  318. package/dist/solutions-components/{p-98013072.entry.js → p-6cce7009.entry.js} +1 -1
  319. package/dist/solutions-components/{p-34cacf32.js → p-6d511162.js} +1 -1
  320. package/dist/solutions-components/{p-337acb3c.js → p-727596e6.js} +1 -1
  321. package/dist/solutions-components/{p-b170916e.js → p-73100e79.js} +2 -2
  322. package/dist/solutions-components/{p-23662977.entry.js → p-734bc1b0.entry.js} +2 -2
  323. package/dist/solutions-components/{p-f3626331.entry.js → p-752ece4a.entry.js} +2 -2
  324. package/dist/solutions-components/{p-ecdd587c.entry.js → p-75e2a322.entry.js} +3 -3
  325. package/dist/solutions-components/{p-ca33fa09.entry.js → p-787203af.entry.js} +1 -1
  326. package/dist/solutions-components/{p-a9fc934d.js → p-79110824.js} +1 -1
  327. package/dist/solutions-components/{p-b82179c0.js → p-793cad54.js} +1 -1
  328. package/dist/solutions-components/{p-0250dec5.js → p-797aa505.js} +1 -1
  329. package/dist/solutions-components/{p-133de052.entry.js → p-7ebd34df.entry.js} +1 -1
  330. package/dist/solutions-components/{p-8934e858.entry.js → p-809b7e47.entry.js} +2 -2
  331. package/dist/solutions-components/{p-ca97465b.js → p-83fd31d5.js} +1 -1
  332. package/dist/solutions-components/{p-2e1f7c0e.entry.js → p-84378c8d.entry.js} +2 -2
  333. package/dist/solutions-components/p-864b1d72.entry.js +6 -0
  334. package/dist/solutions-components/{p-50ea26de.entry.js → p-8b47b607.entry.js} +1 -1
  335. package/dist/solutions-components/{p-f4e91113.js → p-8d49a084.js} +1 -1
  336. package/dist/solutions-components/{p-f84848b0.entry.js → p-8fabb8a4.entry.js} +1 -1
  337. package/dist/solutions-components/p-8fc072ca.entry.js +6 -0
  338. package/dist/solutions-components/{p-29602eff.entry.js → p-96c2ed64.entry.js} +1 -1
  339. package/dist/solutions-components/{p-b42bde59.entry.js → p-978d936a.entry.js} +1 -1
  340. package/dist/solutions-components/{p-79ba73cb.js → p-981e9549.js} +1 -1
  341. package/dist/solutions-components/{p-02714171.entry.js → p-98308b13.entry.js} +2 -2
  342. package/dist/solutions-components/p-99c5701d.entry.js +6 -0
  343. package/dist/solutions-components/{p-fe68d502.js → p-9cbfd8cd.js} +1 -1
  344. package/dist/solutions-components/{p-8f8fe5d0.entry.js → p-a09c8edf.entry.js} +1 -1
  345. package/dist/solutions-components/p-a2d3df14.entry.js +6 -0
  346. package/dist/solutions-components/{p-ac6a3e13.js → p-a5272d7e.js} +1 -1
  347. package/dist/solutions-components/p-a5c5b24d.js +6 -0
  348. package/dist/solutions-components/{p-5d9ad152.entry.js → p-a5e93c7e.entry.js} +1 -1
  349. package/dist/solutions-components/{p-07b31dc9.js → p-a6bb4148.js} +1 -1
  350. package/dist/solutions-components/{p-11b59592.entry.js → p-a8c9ac0b.entry.js} +2 -2
  351. package/dist/solutions-components/{p-41f7bc94.entry.js → p-a9bd945b.entry.js} +1 -1
  352. package/dist/solutions-components/p-ab006ace.js +21 -0
  353. package/dist/solutions-components/{p-634835fe.js → p-abdd289e.js} +1 -1
  354. package/dist/solutions-components/{p-43e67b3c.entry.js → p-aca29f67.entry.js} +2 -2
  355. package/dist/solutions-components/{p-8118146c.entry.js → p-ad96cd8b.entry.js} +1 -1
  356. package/dist/solutions-components/{p-8772a573.js → p-af1bb992.js} +1 -1
  357. package/dist/solutions-components/{p-36eb8399.js → p-b1b768f7.js} +4 -4
  358. package/dist/solutions-components/{p-dd37c504.js → p-b29677ca.js} +1 -1
  359. package/dist/solutions-components/{p-82b4ab94.js → p-b2c5e62b.js} +1 -1
  360. package/dist/solutions-components/{p-db436a77.entry.js → p-b326b592.entry.js} +1 -1
  361. package/dist/solutions-components/{p-a4772574.js → p-b7285bd5.js} +1 -1
  362. package/dist/solutions-components/{p-8b5b4662.js → p-b8959537.js} +1 -1
  363. package/dist/solutions-components/p-ba56035f.entry.js +6 -0
  364. package/dist/solutions-components/{p-c21f578f.js → p-baf4cb37.js} +1 -1
  365. package/dist/solutions-components/{p-799c3f19.js → p-bfebff0e.js} +1 -1
  366. package/dist/solutions-components/p-c0ed2b83.entry.js +6 -0
  367. package/dist/solutions-components/p-c0f97ed2.entry.js +6 -0
  368. package/dist/solutions-components/{p-4af32c75.js → p-c1cf3ebc.js} +1 -1
  369. package/dist/solutions-components/{p-cfb83693.js → p-c3190f85.js} +1 -1
  370. package/dist/solutions-components/{p-0511c98c.js → p-c4ebb5d1.js} +1 -1
  371. package/dist/solutions-components/p-c56fd16c.entry.js +11 -0
  372. package/dist/solutions-components/{p-2d1b8cfa.js → p-c6b9a129.js} +1 -1
  373. package/dist/solutions-components/{p-1cb4c542.entry.js → p-c7e7da9a.entry.js} +1 -1
  374. package/dist/solutions-components/{p-d8b3d156.entry.js → p-ca4023f4.entry.js} +1 -1
  375. package/dist/solutions-components/p-cb1d29d4.entry.js +17 -0
  376. package/dist/solutions-components/p-cc88bb42.entry.js +6 -0
  377. package/dist/solutions-components/{p-034d43fb.js → p-cdee3846.js} +1 -1
  378. package/dist/solutions-components/{p-c5cb8804.js → p-cfb3d66a.js} +1 -1
  379. package/dist/solutions-components/{p-ebbeec9f.entry.js → p-d2d7d6b4.entry.js} +2 -2
  380. package/dist/solutions-components/{p-dd071507.js → p-d44e2fd7.js} +1 -1
  381. package/dist/solutions-components/{p-48a5ae32.entry.js → p-d50f34c4.entry.js} +1 -1
  382. package/dist/solutions-components/{p-5953ebe8.entry.js → p-d9061e5d.entry.js} +1 -1
  383. package/dist/solutions-components/{p-414240b2.js → p-d9a59fcc.js} +1 -1
  384. package/dist/solutions-components/{p-24286e8c.entry.js → p-db69f4ba.entry.js} +1 -1
  385. package/dist/solutions-components/{p-ede84883.js → p-de281b08.js} +2 -2
  386. package/dist/solutions-components/{p-a11fca14.js → p-df118036.js} +1 -1
  387. package/dist/solutions-components/p-e274f3b0.entry.js +23 -0
  388. package/dist/solutions-components/p-e3061220.entry.js +6 -0
  389. package/dist/solutions-components/{p-4613e205.js → p-e6d4bdce.js} +1 -1
  390. package/dist/solutions-components/{p-3c5d3b4a.js → p-e6dfc80f.js} +1 -1
  391. package/dist/solutions-components/{p-92ea9e81.js → p-e834d132.js} +1 -1
  392. package/dist/solutions-components/{p-f9eb2f2d.js → p-ee4e5212.js} +1 -1
  393. package/dist/solutions-components/{p-efce2e85.js → p-ef05dea5.js} +1 -1
  394. package/dist/solutions-components/{p-5fd1eb64.js → p-f0d68a3f.js} +2 -2
  395. package/dist/solutions-components/p-f17941f1.entry.js +6 -0
  396. package/dist/solutions-components/{p-9e3b8632.entry.js → p-f1e6ce96.entry.js} +1 -1
  397. package/dist/solutions-components/p-f54f3719.entry.js +17 -0
  398. package/dist/solutions-components/{p-fdb1ace8.entry.js → p-fb1c6811.entry.js} +2 -2
  399. package/dist/solutions-components/p-fec77450.js +21 -0
  400. package/dist/solutions-components/{p-50764143.entry.js → p-ff460d05.entry.js} +3 -3
  401. package/dist/solutions-components/{p-d1ca57f3.entry.js → p-ff7c9bc3.entry.js} +1 -1
  402. package/dist/solutions-components/{p-0b47b407.js → p-ffa2c430.js} +1 -1
  403. package/dist/solutions-components/{p-89520d31.entry.js → p-ffbed9b2.entry.js} +1 -1
  404. package/dist/solutions-components/solutions-components.esm.js +1 -1
  405. package/dist/solutions-components/utils/interfaces.ts +4 -0
  406. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  407. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +159 -11
  408. package/dist/types/components/delete-button/delete-button.d.ts +120 -0
  409. package/dist/types/components/edit-card/edit-card.d.ts +2 -1
  410. package/dist/types/components/feature-list/feature-list.d.ts +128 -0
  411. package/dist/types/components/floor-filter/floor-filter.d.ts +13 -0
  412. package/dist/types/components/info-card/info-card.d.ts +19 -0
  413. package/dist/types/components/layer-list/layer-list.d.ts +133 -0
  414. package/dist/types/components/layer-table/layer-table.d.ts +31 -43
  415. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +5 -1
  416. package/dist/types/components.d.ts +288 -11
  417. package/dist/types/preact.d.ts +18 -2
  418. package/dist/types/utils/interfaces.d.ts +2 -0
  419. package/package.json +3 -3
  420. package/dist/cjs/calcite-filter_2.cjs.entry.js +0 -237
  421. package/dist/cjs/calcite-flow-item.cjs.entry.js +0 -197
  422. package/dist/cjs/calcite-flow.cjs.entry.js +0 -153
  423. package/dist/cjs/calcite-handle.cjs.entry.js +0 -184
  424. package/dist/cjs/resources-55ba2752.js +0 -29
  425. package/dist/esm/calcite-filter_2.entry.js +0 -232
  426. package/dist/esm/calcite-handle.entry.js +0 -180
  427. package/dist/esm/resources-221791b0.js +0 -26
  428. package/dist/solutions-components/p-0200864c.entry.js +0 -11
  429. package/dist/solutions-components/p-02fad071.entry.js +0 -6
  430. package/dist/solutions-components/p-166d5bcc.entry.js +0 -6
  431. package/dist/solutions-components/p-1711c535.entry.js +0 -6
  432. package/dist/solutions-components/p-1f88a556.entry.js +0 -6
  433. package/dist/solutions-components/p-2ddd9cf8.entry.js +0 -6
  434. package/dist/solutions-components/p-3cf20613.entry.js +0 -17
  435. package/dist/solutions-components/p-43546966.entry.js +0 -6
  436. package/dist/solutions-components/p-630e274b.entry.js +0 -6
  437. package/dist/solutions-components/p-6b943f52.js +0 -21
  438. package/dist/solutions-components/p-704da348.entry.js +0 -6
  439. package/dist/solutions-components/p-79f95735.entry.js +0 -11
  440. package/dist/solutions-components/p-7f333e23.js +0 -11
  441. package/dist/solutions-components/p-897037f0.entry.js +0 -6
  442. package/dist/solutions-components/p-8c7fc78f.entry.js +0 -11
  443. package/dist/solutions-components/p-941ab8c0.js +0 -6
  444. package/dist/solutions-components/p-96974e5f.js +0 -6
  445. package/dist/solutions-components/p-a32b61ee.entry.js +0 -6
  446. package/dist/solutions-components/p-ad9fbb2a.entry.js +0 -6
  447. package/dist/solutions-components/p-c252997f.entry.js +0 -17
  448. package/dist/solutions-components/p-c5db42ad.entry.js +0 -6
  449. package/dist/solutions-components/p-d3085b7a.entry.js +0 -6
  450. package/dist/solutions-components/p-e89c5860.entry.js +0 -6
  451. package/dist/solutions-components/p-eb9b003a.entry.js +0 -11
@@ -8,8 +8,9 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-b8a649fc.js');
11
- const locale = require('./locale-9db09b63.js');
11
+ const locale = require('./locale-1ff119f5.js');
12
12
  const common = require('./common-4cd3537b.js');
13
+ require('./loadModules-46d14e81.js');
13
14
  require('./esri-loader-a91c0ec1.js');
14
15
  require('./_commonjsHelpers-384729db.js');
15
16
  require('./solution-resource-abec7452.js');
@@ -7,13 +7,16 @@
7
7
  "components/crowdsource-manager/crowdsource-manager.js",
8
8
  "components/crowdsource-reporter/crowdsource-reporter.js",
9
9
  "components/deduct-calculator/deduct-calculator.js",
10
+ "components/delete-button/delete-button.js",
10
11
  "components/edit-card/edit-card.js",
11
12
  "components/feature-comments/feature-comments.js",
12
13
  "components/feature-form-flow-item/feature-form-flow-item.js",
14
+ "components/feature-list/feature-list.js",
13
15
  "components/features-flow-item/features-flow-item.js",
14
16
  "components/floor-filter/floor-filter.js",
15
17
  "components/info-card/info-card.js",
16
18
  "components/json-editor/json-editor.js",
19
+ "components/layer-list/layer-list.js",
17
20
  "components/layer-table/layer-table.js",
18
21
  "components/layout-manager/layout-manager.js",
19
22
  "components/list-flow-item/list-flow-item.js",
@@ -21,6 +21,7 @@
21
21
  import { Host, h } from "@stencil/core";
22
22
  import { getLocaleComponentStrings } from "../../utils/locale";
23
23
  import { ELayoutMode } from "../../utils/interfaces";
24
+ import { getLayerOrTable } from "../../utils/mapViewUtils";
24
25
  export class CrowdsourceManager {
25
26
  constructor() {
26
27
  /**
@@ -61,6 +62,7 @@ export class CrowdsourceManager {
61
62
  this._hideTable = false;
62
63
  this._isMobile = undefined;
63
64
  this._translations = undefined;
65
+ this._layer = undefined;
64
66
  this._layoutMode = ELayoutMode.GRID;
65
67
  this._mapInfo = undefined;
66
68
  this._mapView = undefined;
@@ -171,6 +173,16 @@ export class CrowdsourceManager {
171
173
  this._expandPopup = false;
172
174
  }
173
175
  }
176
+ /**
177
+ * Get the layer for the provided layer id
178
+ */
179
+ async layerSelectionChange(evt) {
180
+ const id = evt.detail[0];
181
+ const layer = await getLayerOrTable(this._mapView, id);
182
+ await layer.when(() => {
183
+ this._layer = layer;
184
+ });
185
+ }
174
186
  //--------------------------------------------------------------------------
175
187
  //
176
188
  // Functions (lifecycle)
@@ -219,8 +231,10 @@ export class CrowdsourceManager {
219
231
  * @protected
220
232
  */
221
233
  _getFooter() {
234
+ var _a, _b, _c, _d;
222
235
  const hasSelectedFeatures = this._numSelected > 0;
223
- 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;
236
+ 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);
237
+ 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;
224
238
  }
225
239
  /**
226
240
  * Get the icon name to use for the divider icon based on the current layout
@@ -382,7 +396,7 @@ export class CrowdsourceManager {
382
396
  * @protected
383
397
  */
384
398
  _getTable(layoutMode, panelOpen, hideTable) {
385
- const tableClass = hideTable ? "visibility-hidden" : "";
399
+ const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
386
400
  const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
387
401
  const icon = this._getDividerIcon(layoutMode, panelOpen);
388
402
  const tooltip = panelOpen ? this._translations.close : this._translations.open;
@@ -1019,6 +1033,7 @@ export class CrowdsourceManager {
1019
1033
  "_hideTable": {},
1020
1034
  "_isMobile": {},
1021
1035
  "_translations": {},
1036
+ "_layer": {},
1022
1037
  "_layoutMode": {},
1023
1038
  "_mapInfo": {},
1024
1039
  "_mapView": {},
@@ -1086,6 +1101,12 @@ export class CrowdsourceManager {
1086
1101
  "target": "window",
1087
1102
  "capture": false,
1088
1103
  "passive": false
1104
+ }, {
1105
+ "name": "layerSelectionChange",
1106
+ "method": "layerSelectionChange",
1107
+ "target": "window",
1108
+ "capture": false,
1109
+ "passive": false
1089
1110
  }];
1090
1111
  }
1091
1112
  }
@@ -16,4 +16,77 @@
16
16
 
17
17
  :host {
18
18
  display: block;
19
+ --calcite-label-margin-bottom: 0px;
20
+ --solutions-theme-foreground-color: var(--calcite-color-foreground-1);
21
+ }
22
+
23
+ .width-full {
24
+ width: 100%;
25
+ }
26
+
27
+ .width-0 {
28
+ width: 0;
29
+ }
30
+
31
+ .height-full {
32
+ height: 100%;
33
+ }
34
+
35
+ .height-0 {
36
+ height: 0;
37
+ }
38
+
39
+ .overflow-hidden {
40
+ overflow: hidden;
41
+ }
42
+
43
+ .border {
44
+ border: 1px solid var(--calcite-color-border-3);
45
+ }
46
+
47
+ .map-container {
48
+ position: absolute;
49
+ width: calc(100% - 390px);
50
+ left: 390px;
51
+ }
52
+
53
+ .side-panel {
54
+ padding: 2px;
55
+ width: 390px;
56
+ height: 100%;
57
+ position: absolute;
58
+ top: 0;
59
+ left: 0;
60
+ z-index: 60;
61
+ }
62
+
63
+ .error-msg{
64
+ padding: 10px;
65
+ }
66
+
67
+ @media screen and (max-width: 600px) {
68
+ .map-container {
69
+ left: 0;
70
+ height: 50%;
71
+ width: 100%;
72
+ }
73
+
74
+ .map-container-mobile {
75
+ height: calc(100% - 100px);
76
+ }
77
+
78
+ .side-panel {
79
+ padding: 2px;
80
+ width: 100%;
81
+ height: 50%;
82
+ position: absolute;
83
+ top: 50%;
84
+ left: 0;
85
+ z-index: 60;
86
+ }
87
+
88
+ .collapsed-side-panel {
89
+ top: calc(100% - 100px);
90
+ height: 100px;
91
+ }
19
92
  }
@@ -19,6 +19,7 @@
19
19
  * limitations under the License.
20
20
  */
21
21
  import { Host, h } from "@stencil/core";
22
+ import { getLocaleComponentStrings } from "../../utils/locale";
22
23
  export class CrowdsourceReporter {
23
24
  constructor() {
24
25
  this.description = undefined;
@@ -29,25 +30,27 @@ export class CrowdsourceReporter {
29
30
  this.enableNewReports = undefined;
30
31
  this.layers = undefined;
31
32
  this.loginTitle = undefined;
32
- this.mapView = undefined;
33
33
  this.reportButtonText = undefined;
34
34
  this.reportsHeader = undefined;
35
35
  this.reportSubmittedMessage = undefined;
36
36
  this.searchConfiguration = undefined;
37
37
  this.showComments = undefined;
38
+ this.defaultWebmap = "";
39
+ this.enableSearch = true;
40
+ this.enableHome = true;
41
+ this.mapInfos = [];
42
+ this.theme = "light";
43
+ this.enableZoom = true;
44
+ this._mapInfo = undefined;
45
+ this._mapView = undefined;
46
+ this._isMobile = false;
47
+ this._flowItems = ["layer-list"];
48
+ this._sidePanelCollapsed = false;
49
+ this._translations = undefined;
50
+ this._hasValidLayers = false;
38
51
  }
39
52
  //--------------------------------------------------------------------------
40
53
  //
41
- // State (internal)
42
- //
43
- //--------------------------------------------------------------------------
44
- //--------------------------------------------------------------------------
45
- //
46
- // Properties (protected)
47
- //
48
- //--------------------------------------------------------------------------
49
- //--------------------------------------------------------------------------
50
- //
51
54
  // Watch handlers
52
55
  //
53
56
  //--------------------------------------------------------------------------
@@ -61,6 +64,15 @@ export class CrowdsourceReporter {
61
64
  // Events (public)
62
65
  //
63
66
  //--------------------------------------------------------------------------
67
+ /**
68
+ * Listen for mapChanged event to be fired then store the new mapView so components will be updated
69
+ */
70
+ async mapChanged(evt) {
71
+ this._mapChange = evt.detail;
72
+ await this._mapChange.mapView.when(async () => {
73
+ await this.setMapView();
74
+ });
75
+ }
64
76
  //--------------------------------------------------------------------------
65
77
  //
66
78
  // Functions (lifecycle)
@@ -68,18 +80,32 @@ export class CrowdsourceReporter {
68
80
  //--------------------------------------------------------------------------
69
81
  /**
70
82
  * StencilJS: Called once just after the component is first connected to the DOM.
71
- *
83
+ * Create component translations and monitor the mediaQuery change to detect mobile/desktop mode
72
84
  * @returns Promise when complete
73
85
  */
74
- // async componentWillLoad(): Promise<void> {
75
- // await this._getTranslations();
76
- // await this._initModules();
77
- // }
86
+ async componentWillLoad() {
87
+ await this._getTranslations();
88
+ const mediaQueryList = window.matchMedia("screen and (max-width: 600px)");
89
+ this._isMobile = mediaQueryList.matches;
90
+ //on change update the state for is mobile and the sidePanelCollapsed
91
+ mediaQueryList.onchange = (e) => {
92
+ this._isMobile = e.matches;
93
+ this._sidePanelCollapsed = false;
94
+ };
95
+ }
78
96
  /**
79
97
  * Renders the component.
80
98
  */
81
99
  render() {
82
- return (h(Host, null, h("slot", null, this.loginTitle + this.description)));
100
+ var _a, _b;
101
+ let validConfiguration = true;
102
+ //Check if webMap id is configured
103
+ if (!this.mapInfos || this.mapInfos.length <= 0 || (((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) > 0 && !((_b = this.mapInfos[0]) === null || _b === void 0 ? void 0 : _b.id))) {
104
+ validConfiguration = false;
105
+ }
106
+ return (h(Host, null, h("div", null, validConfiguration &&
107
+ h("calcite-shell", { "content-behind": true }, this._getReporter(), this._getMapNode()), !validConfiguration &&
108
+ h("calcite-notice", { class: "error-msg", icon: "configure", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._translations.invalidConfigurationErrorMsg)))));
83
109
  }
84
110
  //--------------------------------------------------------------------------
85
111
  //
@@ -87,35 +113,184 @@ export class CrowdsourceReporter {
87
113
  //
88
114
  //--------------------------------------------------------------------------
89
115
  /**
90
- * Load esri javascript api modules
91
- *
92
- * @returns Promise resolving when function is done
93
- *
116
+ * Get the reporter app functionality
117
+ * @protected
118
+ */
119
+ _getReporter() {
120
+ const renderLists = [];
121
+ this._flowItems.forEach((item) => {
122
+ switch (item) {
123
+ case "layer-list":
124
+ renderLists.push(this.getLayerListFlowItem());
125
+ break;
126
+ case "feature-list":
127
+ renderLists.push(this.getFeatureListFlowItem(this._selectedLayerId, this._selectedLayerName));
128
+ break;
129
+ case "feature-details":
130
+ renderLists.push(this.getFeatureDetailsFlowItem());
131
+ break;
132
+ }
133
+ });
134
+ let sidePanelClass = "side-panel";
135
+ //in case of mobile handle for collapsed styles of the panel
136
+ if (this._isMobile && this._sidePanelCollapsed) {
137
+ sidePanelClass += " collapsed-side-panel";
138
+ }
139
+ const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
140
+ return (h("calcite-panel", { class: sidePanelClass + " " + themeClass }, this._mapView
141
+ ? h("calcite-flow", null, (renderLists === null || renderLists === void 0 ? void 0 : renderLists.length) > 0 && renderLists)
142
+ : h("calcite-loader", { scale: "m" })));
143
+ }
144
+ /**
145
+ * Get the feature layer list
146
+ * @returns the layer list items
147
+ * @protected
148
+ */
149
+ getLayerListFlowItem() {
150
+ 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) }))));
151
+ }
152
+ /**
153
+ * 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
+ * @param evt Event which has list of layers
155
+ * @protected
156
+ */
157
+ layerListLoaded(evt) {
158
+ const layersListed = evt.detail;
159
+ this._hasValidLayers = layersListed.length > 0;
160
+ }
161
+ /**On click of layer list item show feature list
162
+ * @param evt Event which has details of selected layerId and layerName
163
+ * @protected
164
+ */
165
+ displayFeaturesList(evt) {
166
+ this._selectedLayerId = evt.detail.layerId;
167
+ this._selectedLayerName = evt.detail.layerName;
168
+ this._flowItems = [...this._flowItems, "feature-list"];
169
+ }
170
+ /**
171
+ * On back from feature list navigate to the Layer list panel
172
+ * @protected
173
+ */
174
+ backFromFeatureList() {
175
+ const updatedFlowItems = [...this._flowItems];
176
+ updatedFlowItems.pop();
177
+ this._flowItems = [...updatedFlowItems];
178
+ }
179
+ /**
180
+ * Toggle side panel in case of mobile mode
181
+ * @protected
182
+ */
183
+ toggleSidePanel() {
184
+ this._sidePanelCollapsed = !this._sidePanelCollapsed;
185
+ }
186
+ /**
187
+ * When feature is selected from list store that and show feature details
188
+ * @param evt Event which has details of selected feature
189
+ */
190
+ async onFeatureSelectFromList(evt) {
191
+ this._selectedFeature = [evt.detail];
192
+ this._flowItems = [...this._flowItems, "feature-details"];
193
+ }
194
+ /**
195
+ * Get feature list of the selected feature layer
196
+ * @param layerId Layer id
197
+ * @returns feature list node
198
+ * @protected
199
+ */
200
+ getFeatureListFlowItem(layerId, layerName) {
201
+ 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 }))));
202
+ }
203
+ /**
204
+ * Returns the calcite-flow item for feature details
205
+ * @returns Node
206
+ */
207
+ 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 }))));
209
+ }
210
+ /**
211
+ * Returns the action button to Expand/Collapse side panel in mobile mode
212
+ */
213
+ getActionToExpandCollapsePanel() {
214
+ 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 }));
215
+ }
216
+ /**
217
+ * Get the map node based for the current layout options
218
+ * @returns the map node
94
219
  * @protected
95
220
  */
96
- // protected async _initModules(): Promise<void> {
97
- // const [geometryEngine, jsonUtils]: [
98
- // __esri.geometryEngine,
99
- // __esri.symbolsSupportJsonUtils
100
- // ] = await loadModules([
101
- // "esri/geometry/geometryEngine",
102
- // "esri/symbols/support/jsonUtils"
103
- // ]);
104
- // this._geometryEngine = geometryEngine;
105
- // this._jsonUtils = jsonUtils;
106
- // }
221
+ _getMapNode() {
222
+ var _a;
223
+ let mapContainerClass = "overflow-hidden map-container";
224
+ if (this._isMobile) {
225
+ if (this._sidePanelCollapsed) {
226
+ mapContainerClass += " map-container-mobile";
227
+ }
228
+ }
229
+ else {
230
+ mapContainerClass += " height-full";
231
+ }
232
+ return (h("div", { class: mapContainerClass }, h("map-card", { class: "width-full", defaultWebmapId: this.defaultWebmap, enableBasemap: false, enableFloorFilter: false, enableFullscreen: false, enableHome: this.enableHome, enableLegend: true, enableSearch: this.enableSearch, enableSingleExpand: false, hidden: false, homeZoomIndex: 0, homeZoomPosition: "top-left", homeZoomToolsSize: "s", mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: this.enableHome ? 4 : 3, mapWidgetsPosition: "top-left", mapWidgetsSize: "s", stackTools: false, theme: this.theme, toolOrder: ["search", "legend", "fullscreen", "basemap", "floorfilter"] })));
233
+ }
234
+ /**
235
+ * Get the current map info (configuration details) when maps change
236
+ * @param id Id of the map to be returned
237
+ * @returns IMapInfo for the provided id
238
+ * @protected
239
+ */
240
+ getMapInfo(id) {
241
+ let mapInfo;
242
+ this.mapInfos.some(mi => {
243
+ if (mi.id === id) {
244
+ mapInfo = mi;
245
+ return true;
246
+ }
247
+ });
248
+ return Object.assign({}, mapInfo);
249
+ }
250
+ /**
251
+ * Set the current map info when maps change
252
+ * @protected
253
+ */
254
+ async setMapView() {
255
+ this._mapInfo = this.getMapInfo(this._mapChange.id);
256
+ this._mapView = this._mapChange.mapView;
257
+ this.initMapZoom();
258
+ this._mapView.popupEnabled = false;
259
+ if (this._defaultCenter && this._defaultLevel) {
260
+ await this._mapView.goTo({
261
+ center: this._defaultCenter,
262
+ zoom: this._defaultLevel
263
+ });
264
+ this._defaultCenter = undefined;
265
+ this._defaultLevel = undefined;
266
+ }
267
+ }
268
+ /**
269
+ * Add/remove zoom tools based on enableZoom prop
270
+ * @protected
271
+ */
272
+ initMapZoom() {
273
+ if (!this.enableZoom) {
274
+ this._mapView.ui.remove("zoom");
275
+ }
276
+ else if (this.enableZoom) {
277
+ this._mapView.ui.add({
278
+ component: "zoom",
279
+ position: "top-left",
280
+ index: 0
281
+ });
282
+ }
283
+ }
107
284
  /**
108
285
  * Fetches the component's translations
109
- *
110
286
  * @returns Promise when complete
111
287
  * @protected
112
288
  */
113
289
  async _getTranslations() {
114
- // const messages = await getLocaleComponentStrings(this.el);
115
- // this._translations = messages[0] as typeof BufferTools_T9n;
290
+ const messages = await getLocaleComponentStrings(this.el);
291
+ this._translations = messages[0];
116
292
  }
117
293
  static get is() { return "crowdsource-reporter"; }
118
- static get encapsulation() { return "shadow"; }
119
294
  static get originalStyleUrls() {
120
295
  return {
121
296
  "$": ["crowdsource-reporter.css"]
@@ -262,26 +437,6 @@ export class CrowdsourceReporter {
262
437
  "attribute": "login-title",
263
438
  "reflect": false
264
439
  },
265
- "mapView": {
266
- "type": "unknown",
267
- "mutable": false,
268
- "complexType": {
269
- "original": "__esri.MapView",
270
- "resolved": "MapView",
271
- "references": {
272
- "___esri": {
273
- "location": "global",
274
- "id": "global::___esri"
275
- }
276
- }
277
- },
278
- "required": false,
279
- "optional": false,
280
- "docs": {
281
- "tags": [],
282
- "text": "esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
283
- }
284
- },
285
440
  "reportButtonText": {
286
441
  "type": "string",
287
442
  "mutable": false,
@@ -370,8 +525,146 @@ export class CrowdsourceReporter {
370
525
  },
371
526
  "attribute": "show-comments",
372
527
  "reflect": false
528
+ },
529
+ "defaultWebmap": {
530
+ "type": "string",
531
+ "mutable": false,
532
+ "complexType": {
533
+ "original": "string",
534
+ "resolved": "string",
535
+ "references": {}
536
+ },
537
+ "required": false,
538
+ "optional": false,
539
+ "docs": {
540
+ "tags": [],
541
+ "text": "string: Item ID of the web map that should be selected by default"
542
+ },
543
+ "attribute": "default-webmap",
544
+ "reflect": false,
545
+ "defaultValue": "\"\""
546
+ },
547
+ "enableSearch": {
548
+ "type": "boolean",
549
+ "mutable": false,
550
+ "complexType": {
551
+ "original": "boolean",
552
+ "resolved": "boolean",
553
+ "references": {}
554
+ },
555
+ "required": false,
556
+ "optional": false,
557
+ "docs": {
558
+ "tags": [],
559
+ "text": "boolean: when true the search widget will be available"
560
+ },
561
+ "attribute": "enable-search",
562
+ "reflect": false,
563
+ "defaultValue": "true"
564
+ },
565
+ "enableHome": {
566
+ "type": "boolean",
567
+ "mutable": false,
568
+ "complexType": {
569
+ "original": "boolean",
570
+ "resolved": "boolean",
571
+ "references": {}
572
+ },
573
+ "required": false,
574
+ "optional": false,
575
+ "docs": {
576
+ "tags": [],
577
+ "text": "boolean: when true the home widget will be available"
578
+ },
579
+ "attribute": "enable-home",
580
+ "reflect": false,
581
+ "defaultValue": "true"
582
+ },
583
+ "mapInfos": {
584
+ "type": "unknown",
585
+ "mutable": false,
586
+ "complexType": {
587
+ "original": "IMapInfo[]",
588
+ "resolved": "IMapInfo[]",
589
+ "references": {
590
+ "IMapInfo": {
591
+ "location": "import",
592
+ "path": "../../utils/interfaces",
593
+ "id": "src/utils/interfaces.ts::IMapInfo"
594
+ }
595
+ }
596
+ },
597
+ "required": false,
598
+ "optional": false,
599
+ "docs": {
600
+ "tags": [],
601
+ "text": "IMapInfo[]: array of map infos (name and id)"
602
+ },
603
+ "defaultValue": "[]"
604
+ },
605
+ "theme": {
606
+ "type": "string",
607
+ "mutable": false,
608
+ "complexType": {
609
+ "original": "theme",
610
+ "resolved": "\"dark\" | \"light\"",
611
+ "references": {
612
+ "theme": {
613
+ "location": "import",
614
+ "path": "../../utils/interfaces",
615
+ "id": "src/utils/interfaces.ts::theme"
616
+ }
617
+ }
618
+ },
619
+ "required": false,
620
+ "optional": false,
621
+ "docs": {
622
+ "tags": [],
623
+ "text": "theme: \"light\" | \"dark\" theme to be used"
624
+ },
625
+ "attribute": "theme",
626
+ "reflect": false,
627
+ "defaultValue": "\"light\""
628
+ },
629
+ "enableZoom": {
630
+ "type": "boolean",
631
+ "mutable": false,
632
+ "complexType": {
633
+ "original": "boolean",
634
+ "resolved": "boolean",
635
+ "references": {}
636
+ },
637
+ "required": false,
638
+ "optional": false,
639
+ "docs": {
640
+ "tags": [],
641
+ "text": "boolean: when true the zoom widget will be available"
642
+ },
643
+ "attribute": "enable-zoom",
644
+ "reflect": false,
645
+ "defaultValue": "true"
373
646
  }
374
647
  };
375
648
  }
649
+ static get states() {
650
+ return {
651
+ "_mapInfo": {},
652
+ "_mapView": {},
653
+ "_isMobile": {},
654
+ "_flowItems": {},
655
+ "_sidePanelCollapsed": {},
656
+ "_translations": {},
657
+ "_hasValidLayers": {}
658
+ };
659
+ }
376
660
  static get elementRef() { return "el"; }
661
+ static get listeners() {
662
+ return [{
663
+ "name": "mapChanged",
664
+ "method": "mapChanged",
665
+ "target": "window",
666
+ "capture": false,
667
+ "passive": false
668
+ }];
669
+ }
377
670
  }