@esri/solutions-components 0.7.23 → 0.7.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }