@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,288 @@
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, Fragment } from "@stencil/core";
22
+ import { getAllLayers, getMapLayerHash } from "../../utils/mapViewUtils";
23
+ import { getLocaleComponentStrings } from "../../utils/locale";
24
+ import { formatNumber } from "../../utils/languageUtil";
25
+ export class LayerList {
26
+ constructor() {
27
+ this.mapView = undefined;
28
+ this.layers = undefined;
29
+ this.noLayerErrorMsg = undefined;
30
+ this._noLayersToDisplay = false;
31
+ this._mapLayerIds = [];
32
+ this._isLoading = false;
33
+ this._translations = undefined;
34
+ }
35
+ //--------------------------------------------------------------------------
36
+ //
37
+ // Functions (lifecycle)
38
+ //
39
+ //--------------------------------------------------------------------------
40
+ /**
41
+ * StencilJS: Called once just after the component is first connected to the DOM.
42
+ * @returns Promise when complete
43
+ */
44
+ async componentWillLoad() {
45
+ await this._getTranslations();
46
+ this._isLoading = true;
47
+ }
48
+ /**
49
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
50
+ */
51
+ async componentDidLoad() {
52
+ await this.setLayers();
53
+ this._isLoading = false;
54
+ }
55
+ /**
56
+ * Renders the component.
57
+ */
58
+ render() {
59
+ return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay && h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
60
+ h("calcite-list", null, this.renderLayerList())));
61
+ }
62
+ //--------------------------------------------------------------------------
63
+ //
64
+ // Functions (protected)
65
+ //
66
+ //--------------------------------------------------------------------------
67
+ /**
68
+ * Fetch the ids of the layers from the map
69
+ * @returns Promise when the operation has completed
70
+ * @protected
71
+ */
72
+ async setLayers() {
73
+ if (this.mapView) {
74
+ await this.initLayerHash();
75
+ }
76
+ }
77
+ /**
78
+ * Create a layer hash for layer name display
79
+ * @returns Promise when the operation has completed
80
+ * @protected
81
+ */
82
+ async initLayerHash() {
83
+ const def = [];
84
+ this._layerItemsHash = await getMapLayerHash(this.mapView, true);
85
+ const allMapLayers = await getAllLayers(this.mapView);
86
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
87
+ allMapLayers.forEach(async (eachLayer) => {
88
+ var _a, _b;
89
+ //TODO: checking editable condition could be configurable
90
+ if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsUpdate)) {
91
+ const q = eachLayer.createQuery();
92
+ const result = eachLayer.queryFeatureCount(q);
93
+ def.push(result);
94
+ void result.then(async (resCount) => {
95
+ const formattedCount = !isNaN(resCount) ? await formatNumber(resCount, {
96
+ places: 0,
97
+ api: 4,
98
+ type: "decimal"
99
+ }) : "";
100
+ this._layerItemsHash[eachLayer.id].formattedFeatureCount = formattedCount;
101
+ });
102
+ }
103
+ });
104
+ await Promise.all(def).then(() => {
105
+ const editableLayerIds = this.getEditableIds(this._layerItemsHash);
106
+ this._mapLayerIds = editableLayerIds.reverse();
107
+ this.handleNoLayersToDisplay();
108
+ }, () => {
109
+ this._mapLayerIds = [];
110
+ this.handleNoLayersToDisplay();
111
+ });
112
+ }
113
+ /**
114
+ * Set no layers to display state and emit event
115
+ */
116
+ handleNoLayersToDisplay() {
117
+ this._noLayersToDisplay = !(this._mapLayerIds.length > 0);
118
+ this.layersListLoaded.emit(this._mapLayerIds);
119
+ }
120
+ /**
121
+ * Returns the ids of all OR configured layers that support edits with the update capability
122
+ * @param hash each layer item details
123
+ * @returns array of layer ids
124
+ */
125
+ getEditableIds(hash) {
126
+ var _a;
127
+ const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
128
+ return Object.keys(hash).reduce((prev, cur) => {
129
+ let showLayer = hash[cur].supportsUpdate;
130
+ if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
131
+ showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].supportsUpdate : false;
132
+ }
133
+ if (showLayer) {
134
+ prev.push(cur);
135
+ }
136
+ return prev;
137
+ }, []);
138
+ }
139
+ /**
140
+ * Render feature layer list
141
+ * @returns layer list
142
+ * @protected
143
+ */
144
+ renderLayerList() {
145
+ return this._mapLayerIds.length > 0 && this._mapLayerIds.reduce((prev, layerId) => {
146
+ if (this._layerItemsHash[layerId]) {
147
+ prev.push(this.getLayerListItem(layerId));
148
+ }
149
+ return prev;
150
+ }, []);
151
+ }
152
+ /**
153
+ * Get each item
154
+ * @param layerId Layer id
155
+ * @returns individual item
156
+ * @protected
157
+ */
158
+ getLayerListItem(layerId) {
159
+ const layerName = this._layerItemsHash[layerId].name;
160
+ const featureCount = this._layerItemsHash[layerId].formattedFeatureCount;
161
+ return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.showFeaturesList(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), featureCount !== "" && h("div", { slot: "content-end" }, "(" + featureCount + ")"), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
162
+ }
163
+ /**On click of layer list item show feature list
164
+ * @param layerId Layer id
165
+ * @protected
166
+ */
167
+ showFeaturesList(layerId) {
168
+ this.layerSelect.emit({ layerId, layerName: this._layerItemsHash[layerId].name });
169
+ }
170
+ /**
171
+ * Fetches the component's translations
172
+ * @returns Promise when complete
173
+ * @protected
174
+ */
175
+ async _getTranslations() {
176
+ const messages = await getLocaleComponentStrings(this.el);
177
+ this._translations = messages[0];
178
+ }
179
+ static get is() { return "layer-list"; }
180
+ static get originalStyleUrls() {
181
+ return {
182
+ "$": ["layer-list.css"]
183
+ };
184
+ }
185
+ static get styleUrls() {
186
+ return {
187
+ "$": ["layer-list.css"]
188
+ };
189
+ }
190
+ static get properties() {
191
+ return {
192
+ "mapView": {
193
+ "type": "unknown",
194
+ "mutable": false,
195
+ "complexType": {
196
+ "original": "__esri.MapView",
197
+ "resolved": "MapView",
198
+ "references": {
199
+ "___esri": {
200
+ "location": "global",
201
+ "id": "global::___esri"
202
+ }
203
+ }
204
+ },
205
+ "required": false,
206
+ "optional": false,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
210
+ }
211
+ },
212
+ "layers": {
213
+ "type": "unknown",
214
+ "mutable": false,
215
+ "complexType": {
216
+ "original": "string[]",
217
+ "resolved": "string[]",
218
+ "references": {}
219
+ },
220
+ "required": false,
221
+ "optional": false,
222
+ "docs": {
223
+ "tags": [],
224
+ "text": "string[]: If passed will show only these layers in the list if they are present in map and are editable"
225
+ }
226
+ },
227
+ "noLayerErrorMsg": {
228
+ "type": "string",
229
+ "mutable": false,
230
+ "complexType": {
231
+ "original": "string",
232
+ "resolved": "string",
233
+ "references": {}
234
+ },
235
+ "required": false,
236
+ "optional": true,
237
+ "docs": {
238
+ "tags": [],
239
+ "text": "string: Error message to be displayed when no layers found"
240
+ },
241
+ "attribute": "no-layer-error-msg",
242
+ "reflect": false
243
+ }
244
+ };
245
+ }
246
+ static get states() {
247
+ return {
248
+ "_noLayersToDisplay": {},
249
+ "_mapLayerIds": {},
250
+ "_isLoading": {},
251
+ "_translations": {}
252
+ };
253
+ }
254
+ static get events() {
255
+ return [{
256
+ "method": "layerSelect",
257
+ "name": "layerSelect",
258
+ "bubbles": true,
259
+ "cancelable": true,
260
+ "composed": true,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "Emitted on demand when feature layer clicked with details layerId and layerName"
264
+ },
265
+ "complexType": {
266
+ "original": "{ layerId: string, layerName: string }",
267
+ "resolved": "{ layerId: string; layerName: string; }",
268
+ "references": {}
269
+ }
270
+ }, {
271
+ "method": "layersListLoaded",
272
+ "name": "layersListLoaded",
273
+ "bubbles": true,
274
+ "cancelable": true,
275
+ "composed": true,
276
+ "docs": {
277
+ "tags": [],
278
+ "text": "Emitted on demand when list of layers to be listed are created.\r\nWhen empty array received in this event means no valid layers are found to be listed"
279
+ },
280
+ "complexType": {
281
+ "original": "string[]",
282
+ "resolved": "string[]",
283
+ "references": {}
284
+ }
285
+ }];
286
+ }
287
+ static get elementRef() { return "el"; }
288
+ }
@@ -85,19 +85,17 @@ export class LayerTable {
85
85
  this.mapInfo = undefined;
86
86
  this.mapView = undefined;
87
87
  this.onlyShowUpdatableLayers = undefined;
88
+ this.selectedIds = [];
88
89
  this.shareIncludeEmbed = undefined;
89
90
  this.shareIncludeSocial = undefined;
90
91
  this.showNewestFirst = undefined;
91
92
  this.zoomAndScrollToSelected = undefined;
92
- this._confirmDelete = false;
93
93
  this._controlsThatFit = undefined;
94
94
  this._fetchingData = false;
95
95
  this._filterActive = false;
96
96
  this._filterOpen = false;
97
- this._isDeleting = false;
98
97
  this._layer = undefined;
99
98
  this._selectAllActive = false;
100
- this._selectedIndexes = [];
101
99
  this._showHideOpen = false;
102
100
  this._showOnlySelected = false;
103
101
  this._sortActive = false;
@@ -190,10 +188,10 @@ export class LayerTable {
190
188
  /**
191
189
  * watch for selection changes
192
190
  */
193
- async _selectedIndexesWatchHandler() {
191
+ async _selectedIdsWatchHandler() {
194
192
  this._updateShareUrl();
195
193
  this._validateEnabledActions();
196
- if (this._selectAllActive && this._selectedIndexes.length !== this._allIds.length) {
194
+ if (this._selectAllActive && this.selectedIds.length !== this._allIds.length) {
197
195
  this._selectAllActive = false;
198
196
  }
199
197
  }
@@ -205,19 +203,6 @@ export class LayerTable {
205
203
  await this._sortTable();
206
204
  }
207
205
  }
208
- //--------------------------------------------------------------------------
209
- //
210
- // Methods (public)
211
- //
212
- //--------------------------------------------------------------------------
213
- /**
214
- * Delete currently selected features
215
- *
216
- * @returns Promise resolving when the process is complete
217
- */
218
- async deleteFeatures() {
219
- return this._delete();
220
- }
221
206
  /**
222
207
  * Scroll and zoom to the selected feature from the Features widget.
223
208
  *
@@ -246,7 +231,11 @@ export class LayerTable {
246
231
  /**
247
232
  * Refresh the table when edits are completed
248
233
  */
249
- async editsComplete() {
234
+ async editsComplete(evt) {
235
+ const editType = evt.detail;
236
+ if (editType === "delete" || editType === "add") {
237
+ this._allIds = await queryAllIds(this._layer);
238
+ }
250
239
  await this._refresh();
251
240
  }
252
241
  /**
@@ -289,12 +278,12 @@ export class LayerTable {
289
278
  const tableNodeClass = this._fetchingData ? "display-none" : "";
290
279
  const loadingClass = this._fetchingData ? "" : "display-none";
291
280
  const total = this._allIds.length.toString();
292
- const selected = this._selectedIndexes.length.toString();
281
+ const selected = this.selectedIds.length.toString();
293
282
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
294
283
  this._validateActiveActions();
295
284
  return (h(Host, null, h("calcite-shell", null, this._getTableControlRow("header"), h("div", { class: `width-full ${tableHeightClass}` }, h("calcite-panel", { class: "height-full width-full" }, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
296
285
  .replace("{{total}}", total)
297
- .replace("{{selected}}", selected))) : undefined)), this._deleteMessage(), this._filterModal()));
286
+ .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
298
287
  }
299
288
  /**
300
289
  * Called once after the component is loaded
@@ -472,11 +461,11 @@ export class LayerTable {
472
461
  isOverflow: false
473
462
  } : undefined,
474
463
  this._deleteEnabled ? {
475
- active: false,
464
+ active: undefined,
476
465
  icon: "trash",
477
- indicator: false,
478
- label: this._translations.delete,
479
- func: () => this._delete(),
466
+ indicator: undefined,
467
+ label: undefined,
468
+ func: undefined,
480
469
  disabled: !featuresSelected,
481
470
  isDanger: true,
482
471
  isOverflow: false
@@ -558,7 +547,7 @@ export class LayerTable {
558
547
  * @returns boolean
559
548
  */
560
549
  _featuresSelected() {
561
- return this._selectedIndexes.length > 0;
550
+ return this.selectedIds.length > 0;
562
551
  }
563
552
  /**
564
553
  * Return true when we have no features
@@ -770,8 +759,8 @@ export class LayerTable {
770
759
  else {
771
760
  urlObj.searchParams.delete("layer");
772
761
  }
773
- if (((_d = this._selectedIndexes) === null || _d === void 0 ? void 0 : _d.length) > 0) {
774
- urlObj.searchParams.set("oid", this._selectedIndexes.join(","));
762
+ if (((_d = this.selectedIds) === null || _d === void 0 ? void 0 : _d.length) > 0) {
763
+ urlObj.searchParams.set("oid", this.selectedIds.join(","));
775
764
  }
776
765
  else {
777
766
  urlObj.searchParams.delete("oid");
@@ -793,7 +782,6 @@ export class LayerTable {
793
782
  urlObj.searchParams.delete("filter");
794
783
  }
795
784
  this._shareNode.shareUrl = urlObj.href;
796
- history.pushState(history.state, document.title, urlObj.href);
797
785
  }
798
786
  /**
799
787
  * Get a tooltip
@@ -830,7 +818,15 @@ export class LayerTable {
830
818
  */
831
819
  _getDangerAction(icon, label, func, disabled) {
832
820
  const _disabled = this._layer === undefined ? true : disabled;
833
- return (h("div", { class: "display-flex", id: this._getId(icon) }, h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), this._getToolTip("bottom", icon, label)));
821
+ return (h("div", { class: "display-flex", id: this._getId(icon) }, icon === "trash" ? (h("delete-button", { buttonType: "action", class: "display-flex", disabled: _disabled, icon: icon, ids: this._getIds(), layer: this._layer })) : (h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label))), this._getToolTip("bottom", icon, label)));
822
+ }
823
+ /**
824
+ * Return all currently selected IDs from the table
825
+ *
826
+ * @param number[] the selected ids
827
+ */
828
+ _getIds() {
829
+ return this._table.highlightIds.toArray();
834
830
  }
835
831
  /**
836
832
  * Initialize the FeatureTable
@@ -876,15 +872,15 @@ export class LayerTable {
876
872
  const ids = [...this._table.highlightIds.toArray()];
877
873
  if (!this._skipOnChange) {
878
874
  if (!this._ctrlIsPressed && !this._shiftIsPressed) {
879
- if (this._selectedIndexes.length > 0) {
875
+ if (this.selectedIds.length > 0) {
880
876
  this._skipOnChange = true;
881
877
  // only readd in specific case where we have multiple selected and then click one of the currently selected
882
- const reAdd = this._selectedIndexes.length > 1 && evt.removed.length === 1;
883
- const newIndexes = reAdd ? evt.removed : ids.filter(id => this._selectedIndexes.indexOf(id) < 0);
878
+ const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
879
+ const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
884
880
  this._clearSelection();
885
- this._selectedIndexes = [...newIndexes];
886
- if (newIndexes.length > 0) {
887
- this._table.highlightIds.add(newIndexes[0]);
881
+ this.selectedIds = [...newIds];
882
+ if (newIds.length > 0) {
883
+ this._table.highlightIds.add(newIds[0]);
888
884
  }
889
885
  else {
890
886
  this._skipOnChange = false;
@@ -892,11 +888,11 @@ export class LayerTable {
892
888
  }
893
889
  else {
894
890
  // https://github.com/Esri/solutions-components/issues/365
895
- this._selectedIndexes = ids.reverse();
891
+ this.selectedIds = ids.reverse();
896
892
  }
897
893
  }
898
894
  else if (this._ctrlIsPressed) {
899
- this._selectedIndexes = ids.reverse();
895
+ this.selectedIds = ids.reverse();
900
896
  }
901
897
  else if (this._shiftIsPressed) {
902
898
  this._skipOnChange = true;
@@ -915,7 +911,7 @@ export class LayerTable {
915
911
  const startIndex = _start < _end ? _start : _end;
916
912
  const endIndex = _end > _start ? _end : _start;
917
913
  this._skipOnChange = startIndex + 1 !== endIndex;
918
- const selectedIndexes = oids.reduce((prev, cur) => {
914
+ const selectedIds = oids.reduce((prev, cur) => {
919
915
  const id = cur;
920
916
  const index = this._table.viewModel.getObjectIdIndex(id);
921
917
  if ((id === this._currentId || id === this._previousCurrentId)) {
@@ -932,13 +928,13 @@ export class LayerTable {
932
928
  }
933
929
  // Also add index based check.
934
930
  // In some cases the FeatureTable and Layer query will have differences in how null/undefined field values are sorted
935
- if ((this._selectedIndexes.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
931
+ if ((this.selectedIds.indexOf(id) > -1 || (index >= startIndex && index <= endIndex)) && prev.indexOf(id) < 0 && index > -1) {
936
932
  prev.push(id);
937
933
  }
938
934
  return prev;
939
935
  }, []);
940
- this._selectedIndexes = _start < _end ? selectedIndexes.reverse() : selectedIndexes;
941
- this._table.highlightIds.addMany(this._selectedIndexes.filter(i => ids.indexOf(i) < 0));
936
+ this.selectedIds = _start < _end ? selectedIds.reverse() : selectedIds;
937
+ this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
942
938
  }
943
939
  }
944
940
  this._finishOnChange();
@@ -960,7 +956,7 @@ export class LayerTable {
960
956
  this._toggleShowSelected();
961
957
  }
962
958
  }
963
- this.featureSelectionChange.emit(this._selectedIndexes);
959
+ this.featureSelectionChange.emit(this.selectedIds);
964
960
  }
965
961
  /**
966
962
  * Reset basic table props
@@ -969,7 +965,7 @@ export class LayerTable {
969
965
  var _a;
970
966
  this._clearSelection();
971
967
  this._allIds = [];
972
- this.featureSelectionChange.emit(this._selectedIndexes);
968
+ this.featureSelectionChange.emit(this.selectedIds);
973
969
  const columnTemplates = this._getColumnTemplates(this._layer.id, (_a = this._layer) === null || _a === void 0 ? void 0 : _a.fields);
974
970
  this._allIds = await queryAllIds(this._layer);
975
971
  if (!this._table) {
@@ -1139,30 +1135,6 @@ export class LayerTable {
1139
1135
  this._filterOpen = false;
1140
1136
  }
1141
1137
  }
1142
- /**
1143
- * Show delete confirmation message
1144
- *
1145
- * @returns node to confirm or deny the delete operation
1146
- */
1147
- _deleteMessage() {
1148
- return (h("calcite-modal", { "aria-labelledby": "modal-title", kind: "danger", onCalciteModalClose: () => this._deleteClosed(), open: this._confirmDelete }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations.deleteFeature), h("div", { slot: "content" }, this._translations.confirm), h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._deleteClosed(), slot: "secondary", width: "full" }, this._translations.cancel), h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
1149
- }
1150
- /**
1151
- * Delete the currently selected features
1152
- */
1153
- async _deleteFeatures() {
1154
- this._isDeleting = true;
1155
- const deleteFeatures = this._table.highlightIds.toArray().map((objectId) => {
1156
- return { objectId };
1157
- });
1158
- await this._layer.applyEdits({
1159
- deleteFeatures
1160
- });
1161
- await this._table.refresh();
1162
- this._allIds = await queryAllIds(this._layer);
1163
- this._isDeleting = false;
1164
- this._deleteClosed();
1165
- }
1166
1138
  /**
1167
1139
  * Handle map click events to keep table and map click selection in sync
1168
1140
  *
@@ -1190,12 +1162,6 @@ export class LayerTable {
1190
1162
  }
1191
1163
  }
1192
1164
  }
1193
- /**
1194
- * Set the alertOpen member to false when the alert is closed
1195
- */
1196
- _deleteClosed() {
1197
- this._confirmDelete = false;
1198
- }
1199
1165
  /**
1200
1166
  * Select or deselect all rows
1201
1167
  */
@@ -1204,7 +1170,7 @@ export class LayerTable {
1204
1170
  this._table.highlightIds.removeAll();
1205
1171
  this._skipOnChange = true;
1206
1172
  this._table.highlightIds.addMany(ids);
1207
- this._selectedIndexes = ids;
1173
+ this.selectedIds = ids;
1208
1174
  this._finishOnChange();
1209
1175
  this._selectAllActive = true;
1210
1176
  }
@@ -1226,7 +1192,7 @@ export class LayerTable {
1226
1192
  */
1227
1193
  _clearSelection() {
1228
1194
  var _a;
1229
- this._selectedIndexes = [];
1195
+ this.selectedIds = [];
1230
1196
  (_a = this._table) === null || _a === void 0 ? void 0 : _a.highlightIds.removeAll();
1231
1197
  this._finishOnChange();
1232
1198
  }
@@ -1249,7 +1215,7 @@ export class LayerTable {
1249
1215
  * Select all rows that are not currently selectd
1250
1216
  */
1251
1217
  _switchSelected() {
1252
- const currentIndexes = [...this._selectedIndexes];
1218
+ const currentIndexes = [...this.selectedIds];
1253
1219
  this._table.highlightIds.removeAll();
1254
1220
  const ids = this._allIds.reduce((prev, _cur) => {
1255
1221
  if (currentIndexes.indexOf(_cur) < 0) {
@@ -1259,7 +1225,7 @@ export class LayerTable {
1259
1225
  }, []).sort((a, b) => a - b);
1260
1226
  this._skipOnChange = true;
1261
1227
  this._table.highlightIds.addMany(ids);
1262
- this._selectedIndexes = ids;
1228
+ this.selectedIds = ids;
1263
1229
  this._finishOnChange();
1264
1230
  }
1265
1231
  /**
@@ -1292,7 +1258,7 @@ export class LayerTable {
1292
1258
  */
1293
1259
  async _refresh() {
1294
1260
  await this._table.refresh();
1295
- this.featureSelectionChange.emit(this._selectedIndexes);
1261
+ this.featureSelectionChange.emit(this.selectedIds);
1296
1262
  }
1297
1263
  /**
1298
1264
  * Zoom to all selected features
@@ -1302,14 +1268,6 @@ export class LayerTable {
1302
1268
  _zoom() {
1303
1269
  this._table.zoomToSelection();
1304
1270
  }
1305
- /**
1306
- * Delete all selected records or shows an alert if the layer does not have editing enabled
1307
- *
1308
- * @returns a promise that will resolve when the operation is complete
1309
- */
1310
- _delete() {
1311
- this._confirmDelete = true;
1312
- }
1313
1271
  /**
1314
1272
  * Handles layer selection change to show new table
1315
1273
  *
@@ -1648,6 +1606,22 @@ export class LayerTable {
1648
1606
  "attribute": "only-show-updatable-layers",
1649
1607
  "reflect": false
1650
1608
  },
1609
+ "selectedIds": {
1610
+ "type": "unknown",
1611
+ "mutable": false,
1612
+ "complexType": {
1613
+ "original": "number[]",
1614
+ "resolved": "number[]",
1615
+ "references": {}
1616
+ },
1617
+ "required": false,
1618
+ "optional": false,
1619
+ "docs": {
1620
+ "tags": [],
1621
+ "text": "number[]: A list of ids that are currently selected"
1622
+ },
1623
+ "defaultValue": "[]"
1624
+ },
1651
1625
  "shareIncludeEmbed": {
1652
1626
  "type": "boolean",
1653
1627
  "mutable": false,
@@ -1720,15 +1694,12 @@ export class LayerTable {
1720
1694
  }
1721
1695
  static get states() {
1722
1696
  return {
1723
- "_confirmDelete": {},
1724
1697
  "_controlsThatFit": {},
1725
1698
  "_fetchingData": {},
1726
1699
  "_filterActive": {},
1727
1700
  "_filterOpen": {},
1728
- "_isDeleting": {},
1729
1701
  "_layer": {},
1730
1702
  "_selectAllActive": {},
1731
- "_selectedIndexes": {},
1732
1703
  "_showHideOpen": {},
1733
1704
  "_showOnlySelected": {},
1734
1705
  "_sortActive": {},
@@ -1753,30 +1724,6 @@ export class LayerTable {
1753
1724
  }
1754
1725
  }];
1755
1726
  }
1756
- static get methods() {
1757
- return {
1758
- "deleteFeatures": {
1759
- "complexType": {
1760
- "signature": "() => Promise<void>",
1761
- "parameters": [],
1762
- "references": {
1763
- "Promise": {
1764
- "location": "global",
1765
- "id": "global::Promise"
1766
- }
1767
- },
1768
- "return": "Promise<void>"
1769
- },
1770
- "docs": {
1771
- "text": "Delete currently selected features",
1772
- "tags": [{
1773
- "name": "returns",
1774
- "text": "Promise resolving when the process is complete"
1775
- }]
1776
- }
1777
- }
1778
- };
1779
- }
1780
1727
  static get elementRef() { return "el"; }
1781
1728
  static get watchers() {
1782
1729
  return [{
@@ -1801,8 +1748,8 @@ export class LayerTable {
1801
1748
  "propName": "_layer",
1802
1749
  "methodName": "_layerWatchHandler"
1803
1750
  }, {
1804
- "propName": "_selectedIndexes",
1805
- "methodName": "_selectedIndexesWatchHandler"
1751
+ "propName": "_selectedIds",
1752
+ "methodName": "_selectedIdsWatchHandler"
1806
1753
  }, {
1807
1754
  "propName": "_sortActive",
1808
1755
  "methodName": "_sortActiveWatchHandler"