@esri/solutions-components 0.7.23 → 0.7.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (439) 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_5.cjs.entry.js +573 -0
  16. package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
  17. package/dist/cjs/calcite-action-bar.cjs.entry.js +255 -0
  18. package/dist/cjs/calcite-alert_3.cjs.entry.js +136 -357
  19. package/dist/cjs/calcite-combobox_6.cjs.entry.js +2 -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 +658 -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 +2 -1
  24. package/dist/cjs/{card-manager_3.cjs.entry.js → card-manager_2.cjs.entry.js} +48 -268
  25. package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -3
  26. package/dist/cjs/crowdsource-reporter.cjs.entry.js +215 -36
  27. package/dist/cjs/{basemap-gallery_7.cjs.entry.js → info-card_4.cjs.entry.js} +322 -409
  28. package/dist/cjs/instant-apps-export.cjs.entry.js +1 -1
  29. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +41 -1
  30. package/dist/cjs/layout-manager.cjs.entry.js +2 -1
  31. package/dist/cjs/loader.cjs.js +1 -1
  32. package/dist/cjs/{locale-9db09b63.js → locale-1ff119f5.js} +19 -1
  33. package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
  34. package/dist/cjs/popupUtils-8d5b6e94.js +99 -0
  35. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  36. package/dist/cjs/solution-configuration.cjs.entry.js +2 -1
  37. package/dist/cjs/solution-contents_3.cjs.entry.js +16 -2
  38. package/dist/cjs/solutions-components.cjs.js +1 -1
  39. package/dist/cjs/spatial-ref.cjs.entry.js +2 -1
  40. package/dist/collection/collection-manifest.json +3 -0
  41. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
  42. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +73 -0
  43. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +349 -56
  44. package/dist/collection/components/delete-button/delete-button.css +19 -0
  45. package/dist/collection/components/delete-button/delete-button.js +299 -0
  46. package/dist/collection/components/delete-button/test/delete-button.e2e.js +29 -0
  47. package/dist/collection/components/delete-button/test/delete-button.spec.js +37 -0
  48. package/dist/collection/components/feature-list/feature-list.css +38 -0
  49. package/dist/collection/components/feature-list/feature-list.js +303 -0
  50. package/dist/collection/components/info-card/info-card.js +65 -21
  51. package/dist/collection/components/layer-list/layer-list.css +28 -0
  52. package/dist/collection/components/layer-list/layer-list.js +288 -0
  53. package/dist/collection/components/layer-table/layer-table.js +63 -116
  54. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +31 -1
  55. package/dist/collection/demos/crowdsource-reporter.html +42 -70
  56. package/dist/collection/demos/feature-list.html +43 -0
  57. package/dist/collection/demos/layer-list.html +43 -0
  58. package/dist/collection/utils/interfaces.ts +4 -0
  59. package/dist/components/calcite-flow-item.js +1 -261
  60. package/dist/components/calcite-flow.js +1 -165
  61. package/dist/components/card-manager2.js +38 -26
  62. package/dist/components/crowdsource-manager.js +110 -89
  63. package/dist/components/crowdsource-reporter.js +463 -42
  64. package/dist/components/delete-button.d.ts +11 -0
  65. package/dist/components/delete-button.js +11 -0
  66. package/dist/components/delete-button2.js +209 -0
  67. package/dist/components/feature-list.d.ts +11 -0
  68. package/dist/components/feature-list.js +11 -0
  69. package/dist/components/feature-list2.js +281 -0
  70. package/dist/{esm/calcite-flow-item.entry.js → components/flow-item.js} +94 -19
  71. package/dist/{esm/calcite-flow.entry.js → components/flow.js} +33 -10
  72. package/dist/components/info-card2.js +87 -136
  73. package/dist/components/instant-apps-export.js +1 -1
  74. package/dist/components/instant-apps-filter-list2.js +22 -11
  75. package/dist/components/instant-apps-language-translator2.js +48 -4
  76. package/dist/components/layer-list.d.ts +11 -0
  77. package/dist/components/layer-list.js +11 -0
  78. package/dist/components/layer-list2.js +268 -0
  79. package/dist/components/layer-table2.js +126 -165
  80. package/dist/components/locale.js +19 -2
  81. package/dist/components/popupUtils.js +97 -0
  82. package/dist/components/queryUtils.js +1 -1
  83. package/dist/components/solution-spatial-ref2.js +17 -2
  84. package/dist/esm/{ExpandToggle-540998b5.js → ExpandToggle-96688cda.js} +1 -1
  85. package/dist/esm/{ar-35006b74.js → ar-29711364.js} +8 -8
  86. package/dist/esm/basemap-gallery_5.entry.js +565 -0
  87. package/dist/esm/{bg-c289978f.js → bg-c0f5033b.js} +8 -8
  88. package/dist/esm/{bs-6f9fb44a.js → bs-60479ce5.js} +8 -8
  89. package/dist/esm/buffer-tools_3.entry.js +3 -3
  90. package/dist/esm/{ca-7962c8b7.js → ca-4317b986.js} +8 -8
  91. package/dist/esm/calcite-accordion-item.entry.js +1 -1
  92. package/dist/esm/calcite-action-bar.entry.js +251 -0
  93. package/dist/esm/calcite-action-group.entry.js +3 -3
  94. package/dist/esm/calcite-action-menu_2.entry.js +5 -5
  95. package/dist/esm/calcite-action-pad_2.entry.js +4 -4
  96. package/dist/esm/calcite-action_2.entry.js +3 -3
  97. package/dist/esm/calcite-alert_3.entry.js +141 -362
  98. package/dist/esm/calcite-avatar.entry.js +1 -1
  99. package/dist/esm/calcite-block-section.entry.js +3 -3
  100. package/dist/esm/calcite-block_2.entry.js +5 -5
  101. package/dist/esm/calcite-button.entry.js +5 -5
  102. package/dist/esm/calcite-card.entry.js +3 -3
  103. package/dist/esm/calcite-checkbox.entry.js +3 -3
  104. package/dist/esm/calcite-chip-group.entry.js +1 -1
  105. package/dist/esm/calcite-chip.entry.js +3 -3
  106. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  107. package/dist/esm/calcite-color-picker.entry.js +3 -3
  108. package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
  109. package/dist/esm/calcite-combobox_6.entry.js +11 -10
  110. package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
  111. package/dist/esm/calcite-fab.entry.js +1 -1
  112. package/dist/esm/{calcite-action-bar_3.entry.js → calcite-filter_5.entry.js} +363 -204
  113. package/dist/esm/calcite-flow_4.entry.js +651 -0
  114. package/dist/esm/calcite-graph_2.entry.js +4 -4
  115. package/dist/esm/calcite-icon.entry.js +1 -1
  116. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  117. package/dist/esm/calcite-input-date-picker_3.entry.js +31 -20
  118. package/dist/esm/calcite-input-number.entry.js +5 -5
  119. package/dist/esm/calcite-input-text.entry.js +5 -5
  120. package/dist/esm/{calcite-input-time-picker-63439178.js → calcite-input-time-picker-2e1b2157.js} +55 -55
  121. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  122. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  123. package/dist/esm/calcite-input_2.entry.js +5 -5
  124. package/dist/esm/calcite-label.entry.js +2 -2
  125. package/dist/esm/calcite-link.entry.js +1 -1
  126. package/dist/esm/calcite-menu-item.entry.js +3 -3
  127. package/dist/esm/calcite-menu.entry.js +3 -3
  128. package/dist/esm/calcite-meter.entry.js +3 -3
  129. package/dist/esm/calcite-modal.entry.js +4 -4
  130. package/dist/esm/calcite-navigation.entry.js +1 -1
  131. package/dist/esm/calcite-notice.entry.js +3 -3
  132. package/dist/esm/calcite-option_2.entry.js +3 -3
  133. package/dist/esm/calcite-pagination.entry.js +3 -3
  134. package/dist/esm/calcite-panel_2.entry.js +3 -3
  135. package/dist/esm/calcite-pick-list-group.entry.js +1 -1
  136. package/dist/esm/calcite-pick-list-item.entry.js +3 -3
  137. package/dist/esm/calcite-pick-list.entry.js +2 -2
  138. package/dist/esm/calcite-radio-button.entry.js +3 -3
  139. package/dist/esm/calcite-rating.entry.js +5 -5
  140. package/dist/esm/calcite-scrim.entry.js +3 -3
  141. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  142. package/dist/esm/calcite-sheet.entry.js +2 -2
  143. package/dist/esm/calcite-shell-center-row.entry.js +1 -1
  144. package/dist/esm/calcite-shell-panel_14.entry.js +8 -7
  145. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  146. package/dist/esm/calcite-stepper-item.entry.js +3 -3
  147. package/dist/esm/calcite-stepper.entry.js +3 -3
  148. package/dist/esm/calcite-switch.entry.js +3 -3
  149. package/dist/esm/calcite-table-cell_2.entry.js +3 -3
  150. package/dist/esm/calcite-table-row.entry.js +1 -1
  151. package/dist/esm/calcite-table.entry.js +3 -3
  152. package/dist/esm/calcite-text-area.entry.js +5 -5
  153. package/dist/esm/calcite-tile.entry.js +1 -1
  154. package/dist/esm/calcite-time-picker.entry.js +4 -4
  155. package/dist/esm/calcite-tip-manager.entry.js +3 -3
  156. package/dist/esm/calcite-tip.entry.js +3 -3
  157. package/dist/esm/calcite-tooltip.entry.js +2 -2
  158. package/dist/esm/calcite-tree_2.entry.js +1 -1
  159. package/dist/esm/{card-manager_3.entry.js → card-manager_2.entry.js} +51 -270
  160. package/dist/esm/{common-2cf42ac2.js → common-d04ccc0d.js} +1 -1
  161. package/dist/esm/crowdsource-manager.entry.js +19 -4
  162. package/dist/esm/crowdsource-reporter.entry.js +215 -36
  163. package/dist/esm/{cs-6d13069b.js → cs-da404a04.js} +8 -8
  164. package/dist/esm/{da-14097e6c.js → da-1afac3fa.js} +8 -8
  165. package/dist/esm/{date-1743b515.js → date-8b4a8f33.js} +1 -1
  166. package/dist/esm/{de-dff2571b.js → de-98f3129e.js} +8 -8
  167. package/dist/esm/{de-at-b733db65.js → de-at-ed4817af.js} +8 -8
  168. package/dist/esm/{de-ch-5ad0cb74.js → de-ch-556c82c8.js} +8 -8
  169. package/dist/esm/{dom-492b1b24.js → dom-8f926f33.js} +1 -1
  170. package/dist/esm/{downloadUtils-13579d93.js → downloadUtils-067dc2ff.js} +2 -2
  171. package/dist/esm/{el-688e05ba.js → el-394dfd74.js} +8 -8
  172. package/dist/esm/{en-au-357e70d8.js → en-au-6dde1e7e.js} +8 -8
  173. package/dist/esm/{en-ca-1e0b6b47.js → en-ca-420be416.js} +8 -8
  174. package/dist/esm/{en-gb-861a17f2.js → en-gb-0a7caa85.js} +8 -8
  175. package/dist/esm/{es-291ab4bd.js → es-2e1beb99.js} +8 -8
  176. package/dist/esm/{es-mx-0a7283a7.js → es-mx-ef132a24.js} +8 -8
  177. package/dist/esm/{et-addd2617.js → et-83d139c1.js} +8 -8
  178. package/dist/esm/{fi-469884d5.js → fi-8b81ed94.js} +8 -8
  179. package/dist/esm/{floating-ui-03eb4c82.js → floating-ui-c397f653.js} +1 -1
  180. package/dist/esm/{focusTrapComponent-2e7de651.js → focusTrapComponent-14368766.js} +1 -1
  181. package/dist/esm/{form-9bccaf85.js → form-133b00c7.js} +1 -1
  182. package/dist/esm/{fr-f5cb34ca.js → fr-c47c114a.js} +8 -8
  183. package/dist/esm/{fr-ch-115d3fda.js → fr-ch-97635343.js} +8 -8
  184. package/dist/esm/{he-6e5f5c56.js → he-ed2a12b9.js} +8 -8
  185. package/dist/esm/{hi-503240c2.js → hi-a05727ac.js} +8 -8
  186. package/dist/esm/{hr-cc08d6fc.js → hr-d01671ca.js} +8 -8
  187. package/dist/esm/{hu-69ac240d.js → hu-16506ca7.js} +8 -8
  188. package/dist/esm/{id-99547746.js → id-e9367e87.js} +8 -8
  189. package/dist/esm/{index.es-04d2e63e.js → index.es-92e46d8b.js} +3 -3
  190. package/dist/esm/{basemap-gallery_7.entry.js → info-card_4.entry.js} +322 -406
  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 +3 -2
  200. package/dist/esm/loader.js +1 -1
  201. package/dist/esm/{locale-834c52c6.js → locale-13e3c96c.js} +19 -2
  202. package/dist/esm/{locale-8cfa3086.js → locale-6107ef11.js} +1 -1
  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 -4
  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-b71f30fc.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 -4
  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 +4 -3
  221. package/dist/esm/solution-contents_3.entry.js +19 -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 +4 -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 +42 -70
  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-c634d047.entry.js → p-01032eec.entry.js} +2 -18
  243. package/dist/solutions-components/{p-e7951fcb.js → p-0392679d.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-4f71a1a0.js → p-0d774e41.js} +1 -1
  247. package/dist/solutions-components/{p-0e723ffc.js → p-0f6b58b2.js} +1 -1
  248. package/dist/solutions-components/{p-ec8f042e.entry.js → p-10410f92.entry.js} +1 -1
  249. package/dist/solutions-components/{p-6a4b1e48.entry.js → p-10f2d6b0.entry.js} +2 -2
  250. package/dist/solutions-components/{p-5d2ccc75.entry.js → p-13be5cf5.entry.js} +1 -1
  251. package/dist/solutions-components/{p-58054bc2.js → p-14548a83.js} +1 -1
  252. package/dist/solutions-components/{p-c9f87acb.js → p-14ff1465.js} +2 -2
  253. package/dist/solutions-components/{p-026b1345.js → p-17668cb7.js} +3 -3
  254. package/dist/solutions-components/{p-5e530f8c.js → p-1c75bb3d.js} +1 -1
  255. package/dist/solutions-components/p-1f7046e9.entry.js +6 -0
  256. package/dist/solutions-components/{p-121a5dac.entry.js → p-234a8293.entry.js} +1 -1
  257. package/dist/solutions-components/{p-355249fc.js → p-2447b332.js} +1 -1
  258. package/dist/solutions-components/{p-48828002.entry.js → p-24c699b0.entry.js} +1 -1
  259. package/dist/solutions-components/{p-9bcbc1cc.js → p-2592e0dd.js} +1 -1
  260. package/dist/solutions-components/{p-b78a1c21.js → p-28b33708.js} +1 -1
  261. package/dist/solutions-components/{p-fa6ef970.js → p-2d68a6fd.js} +1 -1
  262. package/dist/solutions-components/{p-6437fee1.entry.js → p-2e2d01de.entry.js} +1 -1
  263. package/dist/solutions-components/{p-5e9b05c0.entry.js → p-2f425700.entry.js} +1 -1
  264. package/dist/solutions-components/p-3606c4b8.entry.js +6 -0
  265. package/dist/solutions-components/{p-6c3cdd09.entry.js → p-364486d1.entry.js} +1 -1
  266. package/dist/solutions-components/{p-85a89f1d.entry.js → p-368cbb2c.entry.js} +1 -1
  267. package/dist/solutions-components/{p-c68a6d4f.js → p-36cbf14f.js} +1 -1
  268. package/dist/solutions-components/{p-52ad6ff9.entry.js → p-36f247db.entry.js} +1 -1
  269. package/dist/solutions-components/{p-080249de.js → p-38544b17.js} +1 -1
  270. package/dist/solutions-components/{p-a0be72b6.entry.js → p-3a73ee38.entry.js} +1 -1
  271. package/dist/solutions-components/{p-532b7378.entry.js → p-3ad4426b.entry.js} +1 -1
  272. package/dist/solutions-components/{p-5752785e.entry.js → p-3c10901a.entry.js} +1 -1
  273. package/dist/solutions-components/{p-6e406a7b.js → p-3c7d0eb9.js} +1 -1
  274. package/dist/solutions-components/{p-bf23173c.js → p-411b73a7.js} +1 -1
  275. package/dist/solutions-components/{p-76d60881.entry.js → p-429e1284.entry.js} +1 -1
  276. package/dist/solutions-components/{p-f3d277c2.entry.js → p-42f0e1fa.entry.js} +1 -1
  277. package/dist/solutions-components/{p-1fc220c7.js → p-4416d288.js} +1 -1
  278. package/dist/solutions-components/{p-663a433a.entry.js → p-451b16b3.entry.js} +2 -2
  279. package/dist/solutions-components/{p-b5d1b979.js → p-4566438a.js} +3 -3
  280. package/dist/solutions-components/{p-7a06dcdf.js → p-4647b2a6.js} +1 -1
  281. package/dist/solutions-components/{p-75fbe76c.js → p-480d0789.js} +1 -1
  282. package/dist/solutions-components/p-49b02dda.entry.js +6 -0
  283. package/dist/solutions-components/{p-722ae773.js → p-49fb1bfa.js} +2 -2
  284. package/dist/solutions-components/{p-17183100.js → p-4abf1c34.js} +1 -1
  285. package/dist/solutions-components/p-4ae36626.js +6 -0
  286. package/dist/solutions-components/{p-5c3fd315.entry.js → p-4bff69aa.entry.js} +1 -1
  287. package/dist/solutions-components/{p-f8f18a94.entry.js → p-4ccdac24.entry.js} +1 -1
  288. package/dist/solutions-components/{p-a3a64af2.entry.js → p-4d402bcf.entry.js} +1 -1
  289. package/dist/solutions-components/{p-7e82a730.js → p-4d8fc031.js} +1 -1
  290. package/dist/solutions-components/{p-1c720ed5.entry.js → p-4d99cb49.entry.js} +1 -1
  291. package/dist/solutions-components/p-4fbadb84.entry.js +6 -0
  292. package/dist/solutions-components/{p-e0276e26.entry.js → p-5268d845.entry.js} +2 -2
  293. package/dist/solutions-components/{p-f3f09834.js → p-5e12026e.js} +1 -1
  294. package/dist/solutions-components/p-5e832d65.entry.js +6 -0
  295. package/dist/solutions-components/{p-ffee4847.entry.js → p-5fe99315.entry.js} +1 -1
  296. package/dist/solutions-components/{p-d6208a47.js → p-6105d57c.js} +1 -1
  297. package/dist/solutions-components/{p-f3dfb34f.entry.js → p-613315a7.entry.js} +1 -1
  298. package/dist/solutions-components/{p-0d97c2c5.entry.js → p-62eba559.entry.js} +1 -1
  299. package/dist/solutions-components/{p-40235cb7.entry.js → p-63fa7791.entry.js} +1 -1
  300. package/dist/solutions-components/{p-cfccae7c.js → p-6604ac77.js} +1 -1
  301. package/dist/solutions-components/{p-9b1766ef.entry.js → p-674be06c.entry.js} +1 -1
  302. package/dist/solutions-components/{p-a4aef40c.entry.js → p-67ff8e9a.entry.js} +1 -1
  303. package/dist/solutions-components/{p-16df3a9e.entry.js → p-685257d1.entry.js} +1 -1
  304. package/dist/solutions-components/{p-4647c429.js → p-68e0adcf.js} +1 -1
  305. package/dist/solutions-components/{p-fc8338c6.entry.js → p-68e84199.entry.js} +1 -1
  306. package/dist/solutions-components/{p-aa3092cf.js → p-69763854.js} +1 -1
  307. package/dist/solutions-components/{p-e31754c8.js → p-6ae45648.js} +1 -1
  308. package/dist/solutions-components/{p-98013072.entry.js → p-6cce7009.entry.js} +1 -1
  309. package/dist/solutions-components/{p-34cacf32.js → p-6d511162.js} +1 -1
  310. package/dist/solutions-components/{p-337acb3c.js → p-727596e6.js} +1 -1
  311. package/dist/solutions-components/{p-b170916e.js → p-73100e79.js} +2 -2
  312. package/dist/solutions-components/{p-23662977.entry.js → p-734bc1b0.entry.js} +2 -2
  313. package/dist/solutions-components/{p-f3626331.entry.js → p-752ece4a.entry.js} +2 -2
  314. package/dist/solutions-components/{p-ecdd587c.entry.js → p-75e2a322.entry.js} +3 -3
  315. package/dist/solutions-components/{p-ca33fa09.entry.js → p-787203af.entry.js} +1 -1
  316. package/dist/solutions-components/{p-a9fc934d.js → p-79110824.js} +1 -1
  317. package/dist/solutions-components/{p-b82179c0.js → p-793cad54.js} +1 -1
  318. package/dist/solutions-components/{p-0250dec5.js → p-797aa505.js} +1 -1
  319. package/dist/solutions-components/{p-133de052.entry.js → p-7ebd34df.entry.js} +1 -1
  320. package/dist/solutions-components/{p-8934e858.entry.js → p-809b7e47.entry.js} +2 -2
  321. package/dist/solutions-components/{p-ca97465b.js → p-83fd31d5.js} +1 -1
  322. package/dist/solutions-components/{p-2e1f7c0e.entry.js → p-84378c8d.entry.js} +2 -2
  323. package/dist/solutions-components/p-864b1d72.entry.js +6 -0
  324. package/dist/solutions-components/{p-50ea26de.entry.js → p-8b47b607.entry.js} +1 -1
  325. package/dist/solutions-components/{p-f4e91113.js → p-8d49a084.js} +1 -1
  326. package/dist/solutions-components/{p-f84848b0.entry.js → p-8fabb8a4.entry.js} +1 -1
  327. package/dist/solutions-components/p-8fc072ca.entry.js +6 -0
  328. package/dist/solutions-components/{p-29602eff.entry.js → p-96c2ed64.entry.js} +1 -1
  329. package/dist/solutions-components/{p-b42bde59.entry.js → p-978d936a.entry.js} +1 -1
  330. package/dist/solutions-components/{p-79ba73cb.js → p-981e9549.js} +1 -1
  331. package/dist/solutions-components/{p-02714171.entry.js → p-98308b13.entry.js} +2 -2
  332. package/dist/solutions-components/p-99c5701d.entry.js +6 -0
  333. package/dist/solutions-components/{p-fe68d502.js → p-9cbfd8cd.js} +1 -1
  334. package/dist/solutions-components/{p-8f8fe5d0.entry.js → p-a09c8edf.entry.js} +1 -1
  335. package/dist/solutions-components/p-a2d3df14.entry.js +6 -0
  336. package/dist/solutions-components/{p-ac6a3e13.js → p-a5272d7e.js} +1 -1
  337. package/dist/solutions-components/p-a5c5b24d.js +6 -0
  338. package/dist/solutions-components/{p-5d9ad152.entry.js → p-a5e93c7e.entry.js} +1 -1
  339. package/dist/solutions-components/{p-07b31dc9.js → p-a6bb4148.js} +1 -1
  340. package/dist/solutions-components/{p-11b59592.entry.js → p-a8c9ac0b.entry.js} +2 -2
  341. package/dist/solutions-components/{p-41f7bc94.entry.js → p-a9bd945b.entry.js} +1 -1
  342. package/dist/solutions-components/p-ab006ace.js +21 -0
  343. package/dist/solutions-components/{p-634835fe.js → p-abdd289e.js} +1 -1
  344. package/dist/solutions-components/{p-43e67b3c.entry.js → p-aca29f67.entry.js} +2 -2
  345. package/dist/solutions-components/{p-8118146c.entry.js → p-ad96cd8b.entry.js} +1 -1
  346. package/dist/solutions-components/{p-8772a573.js → p-af1bb992.js} +1 -1
  347. package/dist/solutions-components/{p-36eb8399.js → p-b1b768f7.js} +4 -4
  348. package/dist/solutions-components/{p-dd37c504.js → p-b29677ca.js} +1 -1
  349. package/dist/solutions-components/{p-82b4ab94.js → p-b2c5e62b.js} +1 -1
  350. package/dist/solutions-components/{p-db436a77.entry.js → p-b326b592.entry.js} +1 -1
  351. package/dist/solutions-components/{p-a4772574.js → p-b7285bd5.js} +1 -1
  352. package/dist/solutions-components/{p-8b5b4662.js → p-b8959537.js} +1 -1
  353. package/dist/solutions-components/p-ba56035f.entry.js +6 -0
  354. package/dist/solutions-components/{p-c21f578f.js → p-baf4cb37.js} +1 -1
  355. package/dist/solutions-components/{p-799c3f19.js → p-bfebff0e.js} +1 -1
  356. package/dist/solutions-components/p-c0ed2b83.entry.js +6 -0
  357. package/dist/solutions-components/p-c0f97ed2.entry.js +6 -0
  358. package/dist/solutions-components/{p-4af32c75.js → p-c1cf3ebc.js} +1 -1
  359. package/dist/solutions-components/{p-cfb83693.js → p-c3190f85.js} +1 -1
  360. package/dist/solutions-components/{p-0511c98c.js → p-c4ebb5d1.js} +1 -1
  361. package/dist/solutions-components/p-c56fd16c.entry.js +11 -0
  362. package/dist/solutions-components/{p-2d1b8cfa.js → p-c6b9a129.js} +1 -1
  363. package/dist/solutions-components/{p-1cb4c542.entry.js → p-c7e7da9a.entry.js} +1 -1
  364. package/dist/solutions-components/{p-d8b3d156.entry.js → p-ca4023f4.entry.js} +1 -1
  365. package/dist/solutions-components/p-cb1d29d4.entry.js +17 -0
  366. package/dist/solutions-components/p-cc88bb42.entry.js +6 -0
  367. package/dist/solutions-components/{p-034d43fb.js → p-cdee3846.js} +1 -1
  368. package/dist/solutions-components/{p-c5cb8804.js → p-cfb3d66a.js} +1 -1
  369. package/dist/solutions-components/{p-ebbeec9f.entry.js → p-d2d7d6b4.entry.js} +2 -2
  370. package/dist/solutions-components/{p-dd071507.js → p-d44e2fd7.js} +1 -1
  371. package/dist/solutions-components/{p-48a5ae32.entry.js → p-d50f34c4.entry.js} +1 -1
  372. package/dist/solutions-components/{p-5953ebe8.entry.js → p-d9061e5d.entry.js} +1 -1
  373. package/dist/solutions-components/{p-414240b2.js → p-d9a59fcc.js} +1 -1
  374. package/dist/solutions-components/{p-24286e8c.entry.js → p-db69f4ba.entry.js} +1 -1
  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-e3061220.entry.js +6 -0
  379. package/dist/solutions-components/{p-4613e205.js → p-e6d4bdce.js} +1 -1
  380. package/dist/solutions-components/{p-3c5d3b4a.js → p-e6dfc80f.js} +1 -1
  381. package/dist/solutions-components/{p-92ea9e81.js → p-e834d132.js} +1 -1
  382. package/dist/solutions-components/{p-f9eb2f2d.js → p-ee4e5212.js} +1 -1
  383. package/dist/solutions-components/{p-efce2e85.js → p-ef05dea5.js} +1 -1
  384. package/dist/solutions-components/{p-5fd1eb64.js → p-f0d68a3f.js} +2 -2
  385. package/dist/solutions-components/p-f17941f1.entry.js +6 -0
  386. package/dist/solutions-components/{p-9e3b8632.entry.js → p-f1e6ce96.entry.js} +1 -1
  387. package/dist/solutions-components/p-f54f3719.entry.js +17 -0
  388. package/dist/solutions-components/{p-fdb1ace8.entry.js → p-fb1c6811.entry.js} +2 -2
  389. package/dist/solutions-components/p-fec77450.js +21 -0
  390. package/dist/solutions-components/{p-50764143.entry.js → p-ff460d05.entry.js} +3 -3
  391. package/dist/solutions-components/{p-d1ca57f3.entry.js → p-ff7c9bc3.entry.js} +1 -1
  392. package/dist/solutions-components/{p-0b47b407.js → p-ffa2c430.js} +1 -1
  393. package/dist/solutions-components/{p-89520d31.entry.js → p-ffbed9b2.entry.js} +1 -1
  394. package/dist/solutions-components/solutions-components.esm.js +1 -1
  395. package/dist/solutions-components/utils/interfaces.ts +4 -0
  396. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  397. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +159 -11
  398. package/dist/types/components/delete-button/delete-button.d.ts +120 -0
  399. package/dist/types/components/feature-list/feature-list.d.ts +128 -0
  400. package/dist/types/components/info-card/info-card.d.ts +19 -0
  401. package/dist/types/components/layer-list/layer-list.d.ts +133 -0
  402. package/dist/types/components/layer-table/layer-table.d.ts +12 -40
  403. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +5 -1
  404. package/dist/types/components.d.ts +269 -11
  405. package/dist/types/preact.d.ts +15 -1
  406. package/dist/types/utils/interfaces.d.ts +2 -0
  407. package/package.json +2 -2
  408. package/dist/cjs/calcite-filter_2.cjs.entry.js +0 -237
  409. package/dist/cjs/calcite-flow-item.cjs.entry.js +0 -197
  410. package/dist/cjs/calcite-flow.cjs.entry.js +0 -153
  411. package/dist/cjs/calcite-handle.cjs.entry.js +0 -184
  412. package/dist/cjs/resources-55ba2752.js +0 -29
  413. package/dist/esm/calcite-filter_2.entry.js +0 -232
  414. package/dist/esm/calcite-handle.entry.js +0 -180
  415. package/dist/esm/resources-221791b0.js +0 -26
  416. package/dist/solutions-components/p-0200864c.entry.js +0 -11
  417. package/dist/solutions-components/p-02fad071.entry.js +0 -6
  418. package/dist/solutions-components/p-04f05bc5.entry.js +0 -6
  419. package/dist/solutions-components/p-166d5bcc.entry.js +0 -6
  420. package/dist/solutions-components/p-1711c535.entry.js +0 -6
  421. package/dist/solutions-components/p-1f88a556.entry.js +0 -6
  422. package/dist/solutions-components/p-2ddd9cf8.entry.js +0 -6
  423. package/dist/solutions-components/p-3cf20613.entry.js +0 -17
  424. package/dist/solutions-components/p-43546966.entry.js +0 -6
  425. package/dist/solutions-components/p-6b943f52.js +0 -21
  426. package/dist/solutions-components/p-79f95735.entry.js +0 -11
  427. package/dist/solutions-components/p-7f333e23.js +0 -11
  428. package/dist/solutions-components/p-897037f0.entry.js +0 -6
  429. package/dist/solutions-components/p-8c7fc78f.entry.js +0 -11
  430. package/dist/solutions-components/p-941ab8c0.js +0 -6
  431. package/dist/solutions-components/p-96974e5f.js +0 -6
  432. package/dist/solutions-components/p-a32b61ee.entry.js +0 -6
  433. package/dist/solutions-components/p-ad9fbb2a.entry.js +0 -6
  434. package/dist/solutions-components/p-bacc9b0d.entry.js +0 -6
  435. package/dist/solutions-components/p-c252997f.entry.js +0 -17
  436. package/dist/solutions-components/p-c5db42ad.entry.js +0 -6
  437. package/dist/solutions-components/p-e89c5860.entry.js +0 -6
  438. package/dist/solutions-components/p-eb9b003a.entry.js +0 -11
  439. package/dist/solutions-components/p-eff7f407.entry.js +0 -6
@@ -0,0 +1,303 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /** @license
7
+ * Copyright 2022 Esri
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ import { h } from "@stencil/core";
22
+ import { PopupUtils } from "../../utils/popupUtils";
23
+ import { getFeatureLayerView, getLayerOrTable, highlightFeatures } from "../../utils/mapViewUtils";
24
+ import { getLocaleComponentStrings } from "../../utils/locale";
25
+ export class FeatureList {
26
+ constructor() {
27
+ this.selectedLayerId = undefined;
28
+ this.mapView = undefined;
29
+ this.noFeaturesFoundMsg = undefined;
30
+ this.pageSize = 100;
31
+ this.highlightOnMap = false;
32
+ this._featureItems = [];
33
+ this._featuresCount = 0;
34
+ this._isLoading = false;
35
+ this._translations = undefined;
36
+ }
37
+ //--------------------------------------------------------------------------
38
+ //
39
+ // Functions (lifecycle)
40
+ //
41
+ //--------------------------------------------------------------------------
42
+ /**
43
+ * StencilJS: Called once just after the component is first connected to the DOM.
44
+ * @returns Promise when complete
45
+ */
46
+ async componentWillLoad() {
47
+ await this._getTranslations();
48
+ this._isLoading = true;
49
+ this._popupUtils = new PopupUtils();
50
+ this._selectedLayer = await getLayerOrTable(this.mapView, this.selectedLayerId);
51
+ }
52
+ /**
53
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
54
+ */
55
+ async componentDidLoad() {
56
+ if (this._selectedLayer) {
57
+ this._featureItems = await this.queryPage(0);
58
+ this._featuresCount = await this._selectedLayer.queryFeatureCount();
59
+ this._isLoading = false;
60
+ }
61
+ }
62
+ /**
63
+ * Renders the component.
64
+ */
65
+ render() {
66
+ return (h("calcite-panel", { "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { scale: "m" }), this._featureItems.length === 0 && !this._isLoading && h("calcite-notice", { class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { "selection-appearance": "border", "selection-mode": "single" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
67
+ h("div", { class: "width-full", slot: "footer" }, h("calcite-pagination", { class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, "start-item": "1", "total-items": this._featuresCount }))));
68
+ }
69
+ //--------------------------------------------------------------------------
70
+ //
71
+ // Functions (protected)
72
+ //
73
+ //--------------------------------------------------------------------------
74
+ /**
75
+ * On page change get the next updated feature list
76
+ * @param event page change event
77
+ * @protected
78
+ */
79
+ async pageChanged(event) {
80
+ this._isLoading = true;
81
+ if (this._highlightHandle) {
82
+ this._highlightHandle.remove();
83
+ this._highlightHandle = null;
84
+ }
85
+ const page = event.target.startItem - 1;
86
+ this._featureItems = await this.queryPage(page);
87
+ this._isLoading = false;
88
+ }
89
+ /**
90
+ * On feature click in feature list highlight the feature on the map
91
+ * @param event feature clicked event
92
+ * @protected
93
+ */
94
+ async featureClicked(event, selectedFeature) {
95
+ //clear previous highlight and remove the highlightHandle
96
+ if (this.highlightOnMap && this._highlightHandle) {
97
+ this._highlightHandle.remove();
98
+ this._highlightHandle = null;
99
+ }
100
+ //highlight on map only if it is selected item
101
+ if (event.target.selected) {
102
+ if (this.highlightOnMap) {
103
+ const selectedFeatureObjectId = Number(event.target.value);
104
+ const selectedLayerView = await getFeatureLayerView(this.mapView, this.selectedLayerId);
105
+ this._highlightHandle = await highlightFeatures([selectedFeatureObjectId], selectedLayerView, this.mapView, true);
106
+ }
107
+ this.featureSelect.emit(selectedFeature);
108
+ }
109
+ }
110
+ /**
111
+ * Query the selected feature layer, in descending order of object id's
112
+ * @param page 0th page number in the pagination item
113
+ * @returns List of features items to be rendered
114
+ * @protected
115
+ */
116
+ async queryPage(page) {
117
+ const featureLayer = this._selectedLayer;
118
+ const query = {
119
+ start: page,
120
+ num: this.pageSize,
121
+ outFields: ["*"],
122
+ orderByFields: [featureLayer.objectIdField + " DESC"],
123
+ returnGeometry: true,
124
+ where: featureLayer.definitionExpression
125
+ };
126
+ const featureSet = await featureLayer.queryFeatures(query);
127
+ return await this.createFeatureItem(featureSet);
128
+ }
129
+ /**
130
+ * Creates list of items using the popup titles
131
+ * @param featureSet Queried FeatureSet
132
+ * @returns List of features items to be rendered
133
+ * @protected
134
+ */
135
+ async createFeatureItem(featureSet) {
136
+ const currentFeatures = featureSet === null || featureSet === void 0 ? void 0 : featureSet.features;
137
+ const items = currentFeatures.map(async (feature) => {
138
+ const popupTitle = await this._popupUtils.getPopupTitle(feature);
139
+ return this.getFeatureItem(feature, popupTitle);
140
+ });
141
+ return Promise.all(items);
142
+ }
143
+ /**
144
+ * Get each feature item
145
+ * @param selectedFeature Each individual feature instance to be listed
146
+ * @param popupTitle feature popup title
147
+ * @returns individual feature item to be rendered
148
+ * @protected
149
+ */
150
+ getFeatureItem(selectedFeature, popupTitle) {
151
+ //get the object id value of the feature
152
+ const oId = selectedFeature.attributes[this._selectedLayer.objectIdField].toString();
153
+ //use object id if popupTitle is null or undefined
154
+ popupTitle = popupTitle !== null && popupTitle !== void 0 ? popupTitle : oId;
155
+ return (h("calcite-list-item", { onCalciteListItemSelect: (e) => { void this.featureClicked(e, selectedFeature); }, value: oId }, h("div", { class: "popup-title", slot: "content-start" }, popupTitle), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
156
+ }
157
+ /**
158
+ * Fetches the component's translations
159
+ * @returns Promise when complete
160
+ * @protected
161
+ */
162
+ async _getTranslations() {
163
+ const messages = await getLocaleComponentStrings(this.el);
164
+ this._translations = messages[0];
165
+ }
166
+ static get is() { return "feature-list"; }
167
+ static get originalStyleUrls() {
168
+ return {
169
+ "$": ["feature-list.css"]
170
+ };
171
+ }
172
+ static get styleUrls() {
173
+ return {
174
+ "$": ["feature-list.css"]
175
+ };
176
+ }
177
+ static get properties() {
178
+ return {
179
+ "selectedLayerId": {
180
+ "type": "string",
181
+ "mutable": false,
182
+ "complexType": {
183
+ "original": "string",
184
+ "resolved": "string",
185
+ "references": {}
186
+ },
187
+ "required": false,
188
+ "optional": false,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": "string: Layer id of the feature layer to show the list"
192
+ },
193
+ "attribute": "selected-layer-id",
194
+ "reflect": false
195
+ },
196
+ "mapView": {
197
+ "type": "unknown",
198
+ "mutable": false,
199
+ "complexType": {
200
+ "original": "__esri.MapView",
201
+ "resolved": "MapView",
202
+ "references": {
203
+ "___esri": {
204
+ "location": "global",
205
+ "id": "global::___esri"
206
+ }
207
+ }
208
+ },
209
+ "required": false,
210
+ "optional": false,
211
+ "docs": {
212
+ "tags": [],
213
+ "text": "esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
214
+ }
215
+ },
216
+ "noFeaturesFoundMsg": {
217
+ "type": "string",
218
+ "mutable": false,
219
+ "complexType": {
220
+ "original": "string",
221
+ "resolved": "string",
222
+ "references": {}
223
+ },
224
+ "required": false,
225
+ "optional": true,
226
+ "docs": {
227
+ "tags": [],
228
+ "text": "string: Message to be displayed when features are not found"
229
+ },
230
+ "attribute": "no-features-found-msg",
231
+ "reflect": false
232
+ },
233
+ "pageSize": {
234
+ "type": "number",
235
+ "mutable": false,
236
+ "complexType": {
237
+ "original": "number",
238
+ "resolved": "number",
239
+ "references": {}
240
+ },
241
+ "required": false,
242
+ "optional": true,
243
+ "docs": {
244
+ "tags": [],
245
+ "text": "number: Number features to be fetched per page, by default 100 features will be fetched"
246
+ },
247
+ "attribute": "page-size",
248
+ "reflect": false,
249
+ "defaultValue": "100"
250
+ },
251
+ "highlightOnMap": {
252
+ "type": "boolean",
253
+ "mutable": false,
254
+ "complexType": {
255
+ "original": "boolean",
256
+ "resolved": "boolean",
257
+ "references": {}
258
+ },
259
+ "required": false,
260
+ "optional": true,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "boolean: Highlight feature on map optional (default false) boolean to indicate if we should highlight and zoom to the extent of the feature geometry"
264
+ },
265
+ "attribute": "highlight-on-map",
266
+ "reflect": false,
267
+ "defaultValue": "false"
268
+ }
269
+ };
270
+ }
271
+ static get states() {
272
+ return {
273
+ "_featureItems": {},
274
+ "_featuresCount": {},
275
+ "_isLoading": {},
276
+ "_translations": {}
277
+ };
278
+ }
279
+ static get events() {
280
+ return [{
281
+ "method": "featureSelect",
282
+ "name": "featureSelect",
283
+ "bubbles": true,
284
+ "cancelable": true,
285
+ "composed": true,
286
+ "docs": {
287
+ "tags": [],
288
+ "text": "Emitted on demand when feature is selected using the list"
289
+ },
290
+ "complexType": {
291
+ "original": "__esri.Graphic",
292
+ "resolved": "Graphic",
293
+ "references": {
294
+ "___esri": {
295
+ "location": "global",
296
+ "id": "global::___esri"
297
+ }
298
+ }
299
+ }
300
+ }];
301
+ }
302
+ static get elementRef() { return "el"; }
303
+ }
@@ -29,6 +29,7 @@ export class InfoCard {
29
29
  this.isMobile = undefined;
30
30
  this.mapView = undefined;
31
31
  this.zoomAndScrollToSelected = undefined;
32
+ this.allowEditing = true;
32
33
  this._alertOpen = false;
33
34
  this._count = "";
34
35
  this._editRecordOpen = false;
@@ -45,23 +46,7 @@ export class InfoCard {
45
46
  * Watch for changes to the graphic and update the feature widget
46
47
  */
47
48
  async graphicsWatchHandler() {
48
- var _a;
49
- if (!this._features) {
50
- await this._initFeaturesWidget();
51
- }
52
- if (this.graphics.length > 0) {
53
- const featureLayer = (_a = this.graphics[0]) === null || _a === void 0 ? void 0 : _a.layer;
54
- this._editEnabled = featureLayer.editingEnabled && featureLayer.capabilities.operations.supportsUpdate;
55
- this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
56
- this._features.open({
57
- features: this.graphics
58
- });
59
- }
60
- else {
61
- this._features.clear();
62
- this._features.close();
63
- }
64
- this._count = this._getCount();
49
+ await this.setGraphics();
65
50
  }
66
51
  /**
67
52
  * Watch for changes to the isMobile prop then init the Features widget
@@ -102,9 +87,12 @@ export class InfoCard {
102
87
  * Reset key properties when the layer selection changes
103
88
  */
104
89
  async layerSelectionChange() {
90
+ var _a;
105
91
  this._showListView = false;
106
- this._features.viewModel.featureMenuOpen = false;
107
- this._features.close();
92
+ if ((_a = this._features) === null || _a === void 0 ? void 0 : _a.viewModel) {
93
+ this._features.viewModel.featureMenuOpen = false;
94
+ this._features.close();
95
+ }
108
96
  }
109
97
  /**
110
98
  * Refresh the info-card graphics
@@ -127,11 +115,21 @@ export class InfoCard {
127
115
  await this._getTranslations();
128
116
  this._popupUtils = new PopupUtils();
129
117
  }
118
+ /**
119
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
120
+ * @returns Promise when complete
121
+ */
122
+ async componentDidLoad() {
123
+ var _a;
124
+ if (((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0) {
125
+ await this.setGraphics();
126
+ }
127
+ }
130
128
  /**
131
129
  * Renders the component.
132
130
  */
133
131
  render() {
134
- var _a, _b, _c;
132
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
135
133
  const loadingClass = this.isLoading ? "" : "display-none";
136
134
  const featureNodeClass = this.isLoading || this._editRecordOpen ? "visibility-hidden" : "position-absolute";
137
135
  const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
@@ -139,7 +137,11 @@ export class InfoCard {
139
137
  const nextBackDisabled = ((_b = (_a = this._features) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.length) < 2;
140
138
  const nextBackClass = this.isMobile ? "display-none" : "";
141
139
  const shellClass = this.isMobile && !this._editRecordOpen ? "padding-top-46" : "";
142
- return (h(Host, null, this.isMobile && !this._editRecordOpen ? (h("calcite-panel", null, h("calcite-action", { class: "end-border", icon: "chevron-left", iconFlipRtl: true, onClick: () => this._closePopup(), scale: "s", slot: "header-actions-start", text: "" }), h("span", { class: "font-bold", slot: "header-content" }, this._mobileTitle))) : undefined, h("calcite-shell", { class: shellClass }, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile ? (h("calcite-button", { appearance: "outline", class: "padding-inline-start-1", id: "solutions-cancel", onClick: () => this._closePopup(), width: "full" }, this._translations.cancel)) : undefined, h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit)), this.isMobile ? (h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-cancel" }, h("span", null, this._translations.cancel))) : undefined), h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("div", null, h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._count, textEnabled: true })), h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
140
+ const id = (_d = (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeature) === null || _d === void 0 ? void 0 : _d.getObjectId();
141
+ const ids = parseInt(id === null || id === void 0 ? void 0 : id.toString(), 10) > -1 ? [id] : [];
142
+ const deleteEnabled = ((_e = this._layer) === null || _e === void 0 ? void 0 : _e.editingEnabled) && ((_h = (_g = (_f = this._layer) === null || _f === void 0 ? void 0 : _f.capabilities) === null || _g === void 0 ? void 0 : _g.operations) === null || _h === void 0 ? void 0 : _h.supportsDelete);
143
+ return (h(Host, null, this.isMobile && !this._editRecordOpen ? (h("calcite-panel", null, h("calcite-action", { class: "end-border", icon: "chevron-left", iconFlipRtl: true, onClick: () => this._closePopup(), scale: "s", slot: "header-actions-start", text: "" }), h("span", { class: "font-bold", slot: "header-content" }, this._mobileTitle))) : undefined, h("calcite-shell", { class: shellClass }, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
144
+ h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit)), this.isMobile ? (h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), !nextBackDisabled && h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("div", null, h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._count, textEnabled: true })), h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
143
145
  }
144
146
  //--------------------------------------------------------------------------
145
147
  //
@@ -161,6 +163,30 @@ export class InfoCard {
161
163
  this.Features = Features;
162
164
  this.reactiveUtils = reactiveUtils;
163
165
  }
166
+ /**
167
+ * Initializes the features widget if not created and updates the feature widget and other required states
168
+ *
169
+ * @protected
170
+ */
171
+ async setGraphics() {
172
+ var _a;
173
+ if (!this._features) {
174
+ await this._initFeaturesWidget();
175
+ }
176
+ if (this.graphics.length > 0) {
177
+ this._layer = (_a = this.graphics[0]) === null || _a === void 0 ? void 0 : _a.layer;
178
+ this._editEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsUpdate;
179
+ this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
180
+ this._features.open({
181
+ features: this.graphics
182
+ });
183
+ }
184
+ else {
185
+ this._features.clear();
186
+ this._features.close();
187
+ }
188
+ this._count = this._getCount();
189
+ }
164
190
  /**
165
191
  * Init the Feature widget so we can display the popup content
166
192
  *
@@ -378,6 +404,24 @@ export class InfoCard {
378
404
  },
379
405
  "attribute": "zoom-and-scroll-to-selected",
380
406
  "reflect": false
407
+ },
408
+ "allowEditing": {
409
+ "type": "boolean",
410
+ "mutable": false,
411
+ "complexType": {
412
+ "original": "boolean",
413
+ "resolved": "boolean",
414
+ "references": {}
415
+ },
416
+ "required": false,
417
+ "optional": true,
418
+ "docs": {
419
+ "tags": [],
420
+ "text": "boolean: If true will show edit button"
421
+ },
422
+ "attribute": "allow-editing",
423
+ "reflect": false,
424
+ "defaultValue": "true"
381
425
  }
382
426
  };
383
427
  }
@@ -0,0 +1,28 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ :host {
18
+ display: block;
19
+ }
20
+
21
+ .error-msg {
22
+ padding: 10px;
23
+ }
24
+
25
+ .layer-name {
26
+ font-weight: 500;
27
+ padding: 10px 12px;
28
+ }