@esri/solutions-components 0.6.12 → 0.6.14

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 (394) hide show
  1. package/dist/assets/t9n/layer-table/resources.json +4 -3
  2. package/dist/assets/t9n/layer-table/resources_en.json +4 -3
  3. package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
  4. package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
  5. package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
  6. package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
  7. package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
  8. package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
  9. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -1
  10. package/dist/cjs/card-manager_3.cjs.entry.js +169 -79
  11. package/dist/cjs/clean-url-d5326abb.js +573 -0
  12. package/dist/cjs/crowdsource-manager.cjs.entry.js +22 -7
  13. package/dist/cjs/{downloadUtils-43f5be48.js → downloadUtils-34a515ad.js} +297 -52
  14. package/dist/cjs/edit-card_2.cjs.entry.js +8 -3
  15. package/dist/cjs/{index.es-8da43c21.js → index.es-0ba11065.js} +3 -2
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/map-select-tools_3.cjs.entry.js +10 -7
  18. package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
  19. package/dist/cjs/public-notification.cjs.entry.js +7 -6
  20. package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
  21. package/dist/cjs/solution-configuration.cjs.entry.js +44 -43
  22. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -1
  23. package/dist/cjs/{solution-store-3cd104d8.js → solution-store-c443e657.js} +7 -572
  24. package/dist/cjs/solutions-components.cjs.js +1 -1
  25. package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
  26. package/dist/collection/components/card-manager/card-manager.css +0 -5
  27. package/dist/collection/components/card-manager/card-manager.js +3 -3
  28. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +2 -2
  29. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +210 -6
  30. package/dist/collection/components/edit-card/edit-card.css +8 -0
  31. package/dist/collection/components/edit-card/edit-card.js +19 -0
  32. package/dist/collection/components/info-card/info-card.css +14 -14
  33. package/dist/collection/components/info-card/info-card.js +1 -1
  34. package/dist/collection/components/layer-table/layer-table.css +12 -0
  35. package/dist/collection/components/layer-table/layer-table.js +215 -69
  36. package/dist/collection/components/map-card/map-card.js +115 -5
  37. package/dist/collection/components/map-layer-picker/map-layer-picker.css +4 -0
  38. package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
  39. package/dist/collection/components/map-picker/map-picker.css +5 -1
  40. package/dist/collection/components/map-picker/map-picker.js +3 -3
  41. package/dist/collection/components/map-tools/map-tools.js +104 -1
  42. package/dist/collection/components/pdf-download/pdf-download.js +34 -6
  43. package/dist/collection/components/public-notification/public-notification.js +3 -3
  44. package/dist/collection/utils/downloadUtils.js +208 -82
  45. package/dist/collection/utils/downloadUtils.ts +257 -85
  46. package/dist/collection/utils/interfaces.ts +12 -1
  47. package/dist/collection/utils/mapViewUtils.js +38 -52
  48. package/dist/collection/utils/mapViewUtils.ts +41 -57
  49. package/dist/collection/utils/publicNotificationStore.js +0 -4
  50. package/dist/collection/utils/publicNotificationStore.ts +0 -4
  51. package/dist/collection/utils/test/downloadUtils.spec.js +163 -134
  52. package/dist/collection/utils/test/downloadUtils.spec.tsx +2 -0
  53. package/dist/components/basemap-gallery2.js +2 -0
  54. package/dist/components/calcite-modal.js +1 -409
  55. package/dist/components/card-manager2.js +4 -4
  56. package/dist/components/clean-url.js +567 -0
  57. package/dist/components/crowdsource-manager.js +42 -17
  58. package/dist/components/downloadUtils.js +295 -50
  59. package/dist/components/edit-card2.js +6 -1
  60. package/dist/components/info-card2.js +2 -2
  61. package/dist/components/layer-table2.js +194 -102
  62. package/dist/components/map-card2.js +17 -5
  63. package/dist/components/map-layer-picker2.js +114 -52
  64. package/dist/components/map-picker2.js +4 -4
  65. package/dist/components/map-select-tools2.js +55 -43
  66. package/dist/components/map-tools2.js +20 -1
  67. package/dist/components/mapViewUtils.js +39 -53
  68. package/dist/components/modal.js +416 -0
  69. package/dist/components/pdf-download2.js +6 -4
  70. package/dist/components/public-notification.js +4 -4
  71. package/dist/components/publicNotificationStore.js +0 -4
  72. package/dist/components/refine-selection2.js +61 -49
  73. package/dist/components/solution-configuration.js +25 -24
  74. package/dist/components/solution-store.js +2 -562
  75. package/dist/esm/{ExpandToggle-86761b28.js → ExpandToggle-e614e3e4.js} +1 -1
  76. package/dist/esm/{ar-4a5375c6.js → ar-2f678abc.js} +8 -8
  77. package/dist/esm/basemap-gallery_6.entry.js +20 -5
  78. package/dist/esm/{bg-b25e4b7a.js → bg-e514c4d7.js} +8 -8
  79. package/dist/esm/{bs-2485dfed.js → bs-81584b09.js} +8 -8
  80. package/dist/esm/buffer-tools_4.entry.js +5 -5
  81. package/dist/esm/{ca-bba36d26.js → ca-e8c40e21.js} +8 -8
  82. package/dist/esm/calcite-accordion-item.entry.js +1 -1
  83. package/dist/esm/calcite-action-bar_3.entry.js +5 -5
  84. package/dist/esm/calcite-action-group_2.entry.js +3 -3
  85. package/dist/esm/calcite-action-pad.entry.js +4 -4
  86. package/dist/esm/calcite-action_2.entry.js +5 -5
  87. package/dist/esm/calcite-alert.entry.js +3 -3
  88. package/dist/esm/calcite-avatar.entry.js +1 -1
  89. package/dist/esm/calcite-block-section.entry.js +3 -3
  90. package/dist/esm/calcite-block.entry.js +3 -3
  91. package/dist/esm/calcite-button.entry.js +5 -5
  92. package/dist/esm/calcite-card.entry.js +3 -3
  93. package/dist/esm/calcite-checkbox.entry.js +3 -3
  94. package/dist/esm/calcite-chip-group.entry.js +1 -1
  95. package/dist/esm/calcite-chip_3.entry.js +797 -0
  96. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  97. package/dist/esm/calcite-color-picker.entry.js +3 -3
  98. package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
  99. package/dist/esm/calcite-combobox_6.entry.js +83 -35
  100. package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
  101. package/dist/esm/calcite-date-picker.entry.js +5 -5
  102. package/dist/esm/calcite-fab.entry.js +1 -1
  103. package/dist/esm/calcite-filter_3.entry.js +3 -3
  104. package/dist/esm/calcite-flow-item.entry.js +3 -3
  105. package/dist/esm/calcite-icon.entry.js +1 -1
  106. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  107. package/dist/esm/calcite-input-date-picker.entry.js +9 -9
  108. package/dist/esm/calcite-input-number_2.entry.js +5 -5
  109. package/dist/esm/{calcite-input-time-picker-7da2e80a.js → calcite-input-time-picker-fe6e499a.js} +55 -55
  110. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  111. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  112. package/dist/esm/calcite-input_2.entry.js +5 -5
  113. package/dist/esm/calcite-label.entry.js +2 -2
  114. package/dist/esm/calcite-link.entry.js +1 -1
  115. package/dist/esm/calcite-menu-item.entry.js +3 -3
  116. package/dist/esm/calcite-menu.entry.js +3 -3
  117. package/dist/esm/calcite-modal.entry.js +4 -4
  118. package/dist/esm/calcite-navigation.entry.js +1 -1
  119. package/dist/esm/calcite-option_2.entry.js +3 -3
  120. package/dist/esm/calcite-pagination.entry.js +3 -3
  121. package/dist/esm/calcite-panel_2.entry.js +3 -3
  122. package/dist/esm/calcite-pick-list-group.entry.js +1 -1
  123. package/dist/esm/calcite-pick-list-item.entry.js +3 -3
  124. package/dist/esm/calcite-pick-list.entry.js +2 -2
  125. package/dist/esm/calcite-radio-button.entry.js +3 -3
  126. package/dist/esm/calcite-rating.entry.js +5 -5
  127. package/dist/esm/calcite-scrim.entry.js +3 -3
  128. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  129. package/dist/esm/calcite-shell-center-row.entry.js +1 -1
  130. package/dist/esm/calcite-shell-panel_14.entry.js +7 -6
  131. package/dist/esm/calcite-sortable-list.entry.js +2 -2
  132. package/dist/esm/calcite-stepper-item.entry.js +2 -2
  133. package/dist/esm/calcite-stepper.entry.js +1 -1
  134. package/dist/esm/calcite-switch.entry.js +3 -3
  135. package/dist/esm/calcite-text-area.entry.js +5 -5
  136. package/dist/esm/calcite-tile.entry.js +1 -1
  137. package/dist/esm/calcite-time-picker.entry.js +4 -4
  138. package/dist/esm/calcite-tip-manager.entry.js +3 -3
  139. package/dist/esm/calcite-tip.entry.js +3 -3
  140. package/dist/esm/calcite-tree_3.entry.js +1 -1
  141. package/dist/esm/card-manager_3.entry.js +169 -79
  142. package/dist/esm/clean-url-bce022e6.js +567 -0
  143. package/dist/esm/crowdsource-manager.entry.js +22 -7
  144. package/dist/esm/{cs-1052c5ac.js → cs-af5f115e.js} +8 -8
  145. package/dist/esm/{da-b7ed9204.js → da-06d9e22c.js} +8 -8
  146. package/dist/esm/{date-bd5b879c.js → date-641ae749.js} +1 -1
  147. package/dist/esm/{de-at-a993e5ae.js → de-at-f55a700a.js} +8 -8
  148. package/dist/esm/{de-ch-acff745d.js → de-ch-7307675f.js} +8 -8
  149. package/dist/esm/{de-bb68e752.js → de-dc98363f.js} +8 -8
  150. package/dist/esm/{dom-37f2dec9.js → dom-2b326ec3.js} +1 -1
  151. package/dist/esm/{downloadUtils-42156cd8.js → downloadUtils-ac67a786.js} +297 -52
  152. package/dist/esm/edit-card_2.entry.js +8 -3
  153. package/dist/esm/{el-9de96ff0.js → el-91c64808.js} +8 -8
  154. package/dist/esm/{en-au-f68b6bde.js → en-au-df08cc25.js} +8 -8
  155. package/dist/esm/{en-ca-5360517e.js → en-ca-175f7c0f.js} +8 -8
  156. package/dist/esm/{en-gb-de0b3125.js → en-gb-90a08c7f.js} +8 -8
  157. package/dist/esm/{es-5ecbba77.js → es-5cb54b05.js} +8 -8
  158. package/dist/esm/{es-mx-aa126462.js → es-mx-3a0cb804.js} +8 -8
  159. package/dist/esm/{et-7113eeb8.js → et-eceac6dc.js} +8 -8
  160. package/dist/esm/{fi-ffa60f15.js → fi-26e1c14f.js} +8 -8
  161. package/dist/esm/{floating-ui-7cde67cf.js → floating-ui-9f8e4ed4.js} +1 -1
  162. package/dist/esm/{focusTrapComponent-ec344399.js → focusTrapComponent-ad2c3a31.js} +1 -1
  163. package/dist/esm/{form-24e6ef1d.js → form-0871d2c6.js} +1 -1
  164. package/dist/esm/{fr-681c5bf6.js → fr-12a5b0f7.js} +8 -8
  165. package/dist/esm/{fr-ch-9af1f8b1.js → fr-ch-e3406887.js} +8 -8
  166. package/dist/esm/{he-5188f277.js → he-61eba811.js} +8 -8
  167. package/dist/esm/{hi-6a31e3a4.js → hi-a50282b5.js} +8 -8
  168. package/dist/esm/{hr-0598e59d.js → hr-da8bffaf.js} +8 -8
  169. package/dist/esm/{hu-13cb9f41.js → hu-dab932f1.js} +8 -8
  170. package/dist/esm/{id-7f342499.js → id-de468947.js} +8 -8
  171. package/dist/esm/{index.es-f47c4153.js → index.es-f553598f.js} +3 -2
  172. package/dist/esm/{it-57d790f2.js → it-375d9936.js} +8 -8
  173. package/dist/esm/{it-ch-081af760.js → it-ch-7e663d63.js} +8 -8
  174. package/dist/esm/{ja-3affb68e.js → ja-36dbe39d.js} +8 -8
  175. package/dist/esm/{ko-736632aa.js → ko-858bc871.js} +8 -8
  176. package/dist/esm/{label-b6dfb4d5.js → label-b8caf984.js} +1 -1
  177. package/dist/esm/loader.js +1 -1
  178. package/dist/esm/{locale-146251f7.js → locale-00000ab4.js} +1 -1
  179. package/dist/esm/{lt-e7d9b1c3.js → lt-d6dfa7e4.js} +8 -8
  180. package/dist/esm/{lv-4d1a507e.js → lv-facd25c5.js} +8 -8
  181. package/dist/esm/map-select-tools_3.entry.js +10 -7
  182. package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
  183. package/dist/esm/{mk-f960312d.js → mk-5ed05b6a.js} +8 -8
  184. package/dist/esm/{nb-4556b5e9.js → nb-936fc687.js} +8 -8
  185. package/dist/esm/{nl-8e281c01.js → nl-a923d626.js} +8 -8
  186. package/dist/esm/{pl-1460fd5a.js → pl-b1426275.js} +8 -8
  187. package/dist/esm/{pt-660332b6.js → pt-1ac2453f.js} +8 -8
  188. package/dist/esm/{pt-br-dba48f49.js → pt-br-7194cc5f.js} +8 -8
  189. package/dist/esm/public-notification.entry.js +7 -6
  190. package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
  191. package/dist/esm/{ro-ac18f292.js → ro-518aaed1.js} +8 -8
  192. package/dist/esm/{ru-b914f6b7.js → ru-762127a3.js} +8 -8
  193. package/dist/esm/{shared-list-render-cc889757.js → shared-list-render-ec232615.js} +1 -1
  194. package/dist/esm/{sk-1be12963.js → sk-f367b7ba.js} +8 -8
  195. package/dist/esm/{sl-5d47e4e4.js → sl-052fd4d2.js} +8 -8
  196. package/dist/esm/solution-configuration.entry.js +25 -24
  197. package/dist/esm/solution-contents_3.entry.js +2 -1
  198. package/dist/esm/{solution-store-cf902566.js → solution-store-b29d50f7.js} +2 -562
  199. package/dist/esm/solutions-components.js +1 -1
  200. package/dist/esm/{sortableComponent-8a84709a.js → sortableComponent-ebd6bb72.js} +1 -1
  201. package/dist/esm/{sr-3281c92d.js → sr-4dc0fdb9.js} +8 -8
  202. package/dist/esm/{sv-e5169404.js → sv-bdc87a4d.js} +8 -8
  203. package/dist/esm/{t9n-d9c203e4.js → t9n-9791aa0c.js} +1 -1
  204. package/dist/esm/{th-937796b8.js → th-d9df674c.js} +8 -8
  205. package/dist/esm/{time-fa1151aa.js → time-73378c4a.js} +1 -1
  206. package/dist/esm/{tr-6d3b100b.js → tr-61e134eb.js} +8 -8
  207. package/dist/esm/{uk-a6edcacf.js → uk-ea3d8da7.js} +8 -8
  208. package/dist/esm/{utils-667cc396.js → utils-593fafd7.js} +1 -1
  209. package/dist/esm/{utils-24a35b5a.js → utils-bd52db7d.js} +2 -2
  210. package/dist/esm/{vi-bf4c179c.js → vi-ade1c25b.js} +8 -8
  211. package/dist/esm/{zh-cn-de1858cb.js → zh-cn-b8756118.js} +8 -8
  212. package/dist/esm/{zh-hk-12fa404f.js → zh-hk-d18c05d9.js} +8 -8
  213. package/dist/esm/{zh-tw-5c4220e5.js → zh-tw-9c98ff7c.js} +8 -8
  214. package/dist/solutions-components/{p-3b891cc4.entry.js → p-01fea8d5.entry.js} +1 -1
  215. package/dist/solutions-components/{p-65022e7f.entry.js → p-02ff64f4.entry.js} +1 -1
  216. package/dist/solutions-components/p-062254a6.entry.js +6 -0
  217. package/dist/solutions-components/{p-bff158ff.js → p-062d2f9a.js} +1 -1
  218. package/dist/solutions-components/{p-f4e5b7e5.entry.js → p-084bced1.entry.js} +1 -1
  219. package/dist/solutions-components/{p-c261335b.entry.js → p-088e4cfc.entry.js} +1 -1
  220. package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
  221. package/dist/solutions-components/{p-96239d0d.js → p-08e35485.js} +1 -1
  222. package/dist/solutions-components/{p-3d3772fb.js → p-0d14d33a.js} +1 -1
  223. package/dist/solutions-components/{p-7f271c31.js → p-11550b3c.js} +3 -3
  224. package/dist/solutions-components/{p-ad19f9b0.entry.js → p-120c4098.entry.js} +1 -1
  225. package/dist/solutions-components/{p-45419d93.entry.js → p-12bcd474.entry.js} +1 -1
  226. package/dist/solutions-components/{p-bd82849c.entry.js → p-1597ec4b.entry.js} +1 -1
  227. package/dist/solutions-components/p-16362eb4.js +36 -0
  228. package/dist/solutions-components/{p-afb35c95.js → p-17d176b5.js} +14 -43
  229. package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
  230. package/dist/solutions-components/{p-127c3866.js → p-1c5787b1.js} +1 -1
  231. package/dist/solutions-components/{p-b97886b3.entry.js → p-1d9a5198.entry.js} +1 -1
  232. package/dist/solutions-components/{p-8e3e1ce8.entry.js → p-1dd5c4e6.entry.js} +1 -1
  233. package/dist/solutions-components/{p-97b69f54.entry.js → p-1e62d118.entry.js} +1 -1
  234. package/dist/solutions-components/{p-537c34a4.entry.js → p-1fae3819.entry.js} +1 -1
  235. package/dist/solutions-components/{p-82f0b25b.js → p-21aa112d.js} +1 -1
  236. package/dist/solutions-components/{p-f8944f59.entry.js → p-252a9a7f.entry.js} +1 -1
  237. package/dist/solutions-components/{p-80ea5869.js → p-26b28806.js} +1 -1
  238. package/dist/solutions-components/{p-dac10448.js → p-280fd963.js} +3 -3
  239. package/dist/solutions-components/{p-79d7f324.js → p-29049359.js} +1 -1
  240. package/dist/solutions-components/{p-c033b8ec.entry.js → p-2b378389.entry.js} +1 -1
  241. package/dist/solutions-components/{p-19ec0463.js → p-2bdd1a5d.js} +1 -1
  242. package/dist/solutions-components/{p-cacfa6ae.js → p-2ee21e9d.js} +1 -1
  243. package/dist/solutions-components/{p-300f4299.js → p-2f42ae51.js} +1 -1
  244. package/dist/solutions-components/{p-418be467.js → p-30b3261c.js} +1 -1
  245. package/dist/solutions-components/{p-4d91443a.entry.js → p-32ba2223.entry.js} +1 -1
  246. package/dist/solutions-components/{p-702c6093.js → p-34673137.js} +1 -1
  247. package/dist/solutions-components/{p-61af54b9.entry.js → p-3566ee69.entry.js} +1 -1
  248. package/dist/solutions-components/{p-90a9126f.js → p-358b9cc8.js} +1 -1
  249. package/dist/solutions-components/p-3a8d82a2.js +11 -0
  250. package/dist/solutions-components/{p-628c170b.entry.js → p-3ab94526.entry.js} +1 -1
  251. package/dist/solutions-components/{p-9791fbf1.entry.js → p-3d7aa1b2.entry.js} +1 -1
  252. package/dist/solutions-components/{p-b1daad7e.js → p-3f7119c1.js} +1 -1
  253. package/dist/solutions-components/{p-f0f5ecb2.js → p-3fcd035e.js} +1 -1
  254. package/dist/solutions-components/{p-3766be72.js → p-419c9d89.js} +1 -1
  255. package/dist/solutions-components/p-453d1b31.entry.js +6 -0
  256. package/dist/solutions-components/{p-337f6adf.js → p-46918548.js} +1 -1
  257. package/dist/solutions-components/p-49e9e4e3.js +12 -0
  258. package/dist/solutions-components/p-4d942b0f.entry.js +36 -0
  259. package/dist/solutions-components/{p-85e0d2a3.js → p-4fc92419.js} +1 -1
  260. package/dist/solutions-components/{p-0d08a75d.entry.js → p-52afbe07.entry.js} +1 -1
  261. package/dist/solutions-components/{p-9391bb74.js → p-573d0763.js} +1 -1
  262. package/dist/solutions-components/p-57cf6784.entry.js +6 -0
  263. package/dist/solutions-components/{p-87971116.entry.js → p-59ef9461.entry.js} +1 -1
  264. package/dist/solutions-components/{p-25718b9f.entry.js → p-5e5749c0.entry.js} +1 -1
  265. package/dist/solutions-components/{p-54064b61.entry.js → p-5ff22d2e.entry.js} +1 -1
  266. package/dist/solutions-components/{p-4bd793ef.entry.js → p-617f32a0.entry.js} +1 -1
  267. package/dist/solutions-components/p-64b22d57.entry.js +6 -0
  268. package/dist/solutions-components/{p-747a1293.js → p-6510c06c.js} +1 -1
  269. package/dist/solutions-components/p-654dd5df.entry.js +6 -0
  270. package/dist/solutions-components/{p-1f69762c.js → p-65ba4d10.js} +1 -1
  271. package/dist/solutions-components/{p-4cb7cdb7.entry.js → p-65ffe4b0.entry.js} +1 -1
  272. package/dist/solutions-components/{p-1b4d6511.js → p-68007503.js} +1 -1
  273. package/dist/solutions-components/{p-e849d2ba.entry.js → p-6ba8483c.entry.js} +2 -2
  274. package/dist/solutions-components/{p-9961a2f9.entry.js → p-6c8c7b98.entry.js} +2 -2
  275. package/dist/solutions-components/{p-ff863f3d.entry.js → p-6e5d9ae9.entry.js} +1 -1
  276. package/dist/solutions-components/{p-b6a1c34f.entry.js → p-6ebf870c.entry.js} +1 -1
  277. package/dist/solutions-components/{p-d2d3e4b5.js → p-72f34a0a.js} +1 -1
  278. package/dist/solutions-components/{p-981fc8e4.entry.js → p-7359a6ac.entry.js} +1 -1
  279. package/dist/solutions-components/{p-9abb1c4c.entry.js → p-73fe6f7e.entry.js} +1 -1
  280. package/dist/solutions-components/{p-62e3adbb.js → p-7452d79a.js} +1 -1
  281. package/dist/solutions-components/{p-34169501.js → p-76c2c379.js} +1 -1
  282. package/dist/solutions-components/{p-941721ba.js → p-788aa5d7.js} +1 -1
  283. package/dist/solutions-components/{p-557d4cc5.js → p-79cc0531.js} +2 -2
  284. package/dist/solutions-components/{p-a19d8147.js → p-7a0fa011.js} +1 -1
  285. package/dist/solutions-components/{p-019fe9fe.entry.js → p-7a55cee6.entry.js} +3 -3
  286. package/dist/solutions-components/{p-48329056.entry.js → p-7bc63171.entry.js} +1 -1
  287. package/dist/solutions-components/{p-e7304151.entry.js → p-81664d83.entry.js} +1 -1
  288. package/dist/solutions-components/{p-9504c1b7.js → p-8354f486.js} +1 -1
  289. package/dist/solutions-components/{p-f812e3ee.entry.js → p-84dff306.entry.js} +1 -1
  290. package/dist/solutions-components/{p-a59dba2f.js → p-8594fe6b.js} +1 -1
  291. package/dist/solutions-components/{p-ae3ec77d.js → p-8b2d396e.js} +1 -1
  292. package/dist/solutions-components/{p-38cc8a4d.js → p-8ec6ea34.js} +1 -1
  293. package/dist/solutions-components/{p-da760d1d.entry.js → p-8ee00658.entry.js} +1 -1
  294. package/dist/solutions-components/{p-38211628.js → p-905fcf73.js} +1 -1
  295. package/dist/solutions-components/{p-e502ccce.entry.js → p-929909bc.entry.js} +1 -1
  296. package/dist/solutions-components/{p-dd5f68f2.js → p-948b5722.js} +1 -1
  297. package/dist/solutions-components/{p-39fe9a4c.js → p-956f3207.js} +1 -1
  298. package/dist/solutions-components/{p-f7aa542c.js → p-96287d23.js} +1 -1
  299. package/dist/solutions-components/{p-68630513.entry.js → p-964c0e7d.entry.js} +1 -1
  300. package/dist/solutions-components/{p-b09d8c0e.entry.js → p-98051370.entry.js} +1 -1
  301. package/dist/solutions-components/{p-efd70bf7.entry.js → p-9a94f48c.entry.js} +2 -2
  302. package/dist/solutions-components/{p-318790b8.js → p-9b94501c.js} +1 -1
  303. package/dist/solutions-components/{p-69e26726.js → p-9d4467a3.js} +1 -1
  304. package/dist/solutions-components/{p-f6cf9943.js → p-9e3c9cd2.js} +1 -1
  305. package/dist/solutions-components/{p-30542275.js → p-9fd59203.js} +1 -1
  306. package/dist/solutions-components/{p-d902b790.js → p-a201bffc.js} +1 -1
  307. package/dist/solutions-components/{p-89cbb86a.js → p-a26711e8.js} +3 -3
  308. package/dist/solutions-components/{p-1552c479.entry.js → p-a3729795.entry.js} +1 -1
  309. package/dist/solutions-components/{p-ae4ad673.entry.js → p-a47ed290.entry.js} +2 -2
  310. package/dist/solutions-components/{p-ca5be55f.entry.js → p-a5ef322f.entry.js} +2 -2
  311. package/dist/solutions-components/{p-3658ebd8.entry.js → p-a97e8d6a.entry.js} +1 -1
  312. package/dist/solutions-components/{p-2937523d.js → p-aaea9203.js} +1 -1
  313. package/dist/solutions-components/{p-b7093e6d.entry.js → p-ad1d56b1.entry.js} +1 -1
  314. package/dist/solutions-components/{p-0ca528ec.js → p-adeb0e8f.js} +1 -1
  315. package/dist/solutions-components/{p-31d2a105.entry.js → p-af63959a.entry.js} +1 -1
  316. package/dist/solutions-components/{p-fbd71543.entry.js → p-b1125581.entry.js} +2 -2
  317. package/dist/solutions-components/p-b1c8c6d7.entry.js +6 -0
  318. package/dist/solutions-components/{p-b029c6d8.js → p-b20a31c8.js} +1 -1
  319. package/dist/solutions-components/{p-71400268.js → p-b81131b3.js} +1 -1
  320. package/dist/solutions-components/{p-cc624b0c.entry.js → p-b89c5865.entry.js} +1 -1
  321. package/dist/solutions-components/{p-245d667e.js → p-b9b52743.js} +1 -1
  322. package/dist/solutions-components/p-b9d29f30.entry.js +6 -0
  323. package/dist/solutions-components/{p-0870f436.entry.js → p-ba99e562.entry.js} +1 -1
  324. package/dist/solutions-components/{p-2d614afc.js → p-bc548c06.js} +1 -1
  325. package/dist/solutions-components/{p-29b2f046.js → p-bccbdeb5.js} +1 -1
  326. package/dist/solutions-components/{p-f72e0965.entry.js → p-bd318e33.entry.js} +1 -1
  327. package/dist/solutions-components/{p-74aa84f6.js → p-bd766e49.js} +1 -1
  328. package/dist/solutions-components/{p-9b75102b.entry.js → p-c073d2d6.entry.js} +1 -1
  329. package/dist/solutions-components/p-c6b7e7ff.js +11 -0
  330. package/dist/solutions-components/{p-0503c78d.js → p-c8d0ce92.js} +44 -29
  331. package/dist/solutions-components/{p-dc80cb69.entry.js → p-ca0b3a2b.entry.js} +1 -1
  332. package/dist/solutions-components/{p-e9fcf408.js → p-d5228aed.js} +1 -1
  333. package/dist/solutions-components/{p-80b87453.js → p-d98caa4c.js} +1 -1
  334. package/dist/solutions-components/{p-45b829b5.js → p-dd9c065e.js} +1 -1
  335. package/dist/solutions-components/{p-05b2bdf9.js → p-dedc167c.js} +1 -1
  336. package/dist/solutions-components/{p-a16feeec.js → p-e4f9b782.js} +1 -1
  337. package/dist/solutions-components/{p-ac1bd870.entry.js → p-e572a692.entry.js} +1 -1
  338. package/dist/solutions-components/{p-74521615.entry.js → p-e5dda947.entry.js} +1 -1
  339. package/dist/solutions-components/{p-d793ec96.entry.js → p-e76949eb.entry.js} +5 -5
  340. package/dist/solutions-components/{p-bbfc2724.js → p-e7fbf2fe.js} +1 -1
  341. package/dist/solutions-components/{p-dda325a4.entry.js → p-e9ba0c7f.entry.js} +1 -1
  342. package/dist/solutions-components/{p-75e707d1.js → p-eb60ec2a.js} +1 -1
  343. package/dist/solutions-components/p-ecc95259.js +20 -0
  344. package/dist/solutions-components/{p-85791b16.entry.js → p-ee144348.entry.js} +1 -1
  345. package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
  346. package/dist/solutions-components/{p-4b4559f9.js → p-f03bed0c.js} +1 -1
  347. package/dist/solutions-components/{p-7a11983d.js → p-f5028a8e.js} +1 -1
  348. package/dist/solutions-components/{p-fb23ba4a.entry.js → p-f50cf603.entry.js} +1 -1
  349. package/dist/solutions-components/{p-f7b520ae.js → p-f7d8b6b3.js} +1 -1
  350. package/dist/solutions-components/{p-792fcd62.entry.js → p-fb0f2016.entry.js} +1 -1
  351. package/dist/solutions-components/solutions-components.esm.js +1 -1
  352. package/dist/solutions-components/utils/downloadUtils.ts +257 -85
  353. package/dist/solutions-components/utils/interfaces.ts +12 -1
  354. package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
  355. package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
  356. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +2 -0
  357. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
  358. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +45 -1
  359. package/dist/types/components/edit-card/edit-card.d.ts +8 -0
  360. package/dist/types/components/layer-table/layer-table.d.ts +82 -26
  361. package/dist/types/components/map-card/map-card.d.ts +25 -1
  362. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
  363. package/dist/types/components/map-picker/map-picker.d.ts +2 -2
  364. package/dist/types/components/map-tools/map-tools.d.ts +21 -1
  365. package/dist/types/components/pdf-download/pdf-download.d.ts +4 -2
  366. package/dist/types/components.d.ts +218 -4
  367. package/dist/types/preact.d.ts +6 -3
  368. package/dist/types/utils/downloadUtils.d.ts +34 -16
  369. package/dist/types/utils/interfaces.d.ts +10 -1
  370. package/dist/types/utils/mapViewUtils.d.ts +8 -24
  371. package/dist/types/utils/publicNotificationStore.d.ts +0 -2
  372. package/package.json +8 -9
  373. package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
  374. package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
  375. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
  376. package/dist/esm/calcite-chip.entry.js +0 -255
  377. package/dist/esm/calcite-notice.entry.js +0 -135
  378. package/dist/esm/calcite-tooltip.entry.js +0 -435
  379. package/dist/solutions-components/p-06712292.js +0 -11
  380. package/dist/solutions-components/p-0a0c3764.js +0 -11
  381. package/dist/solutions-components/p-12a7c2db.entry.js +0 -6
  382. package/dist/solutions-components/p-1a47516a.entry.js +0 -22
  383. package/dist/solutions-components/p-2cff8331.entry.js +0 -6
  384. package/dist/solutions-components/p-3a7cd2b0.entry.js +0 -37
  385. package/dist/solutions-components/p-3e9fc0aa.entry.js +0 -11
  386. package/dist/solutions-components/p-712ea336.entry.js +0 -11
  387. package/dist/solutions-components/p-767002cd.js +0 -36
  388. package/dist/solutions-components/p-8e9d9e6a.js +0 -12
  389. package/dist/solutions-components/p-97088307.entry.js +0 -6
  390. package/dist/solutions-components/p-a16e6f5f.entry.js +0 -6
  391. package/dist/solutions-components/p-d118a76e.entry.js +0 -6
  392. package/dist/solutions-components/p-d54c2dfd.entry.js +0 -6
  393. package/dist/solutions-components/p-d7d466e8.entry.js +0 -6
  394. package/dist/solutions-components/p-ffbe89cf.entry.js +0 -6
@@ -9,13 +9,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-ee37804b.js');
11
11
  const locale = require('./locale-67f5f6b6.js');
12
- const mapViewUtils = require('./mapViewUtils-a4dd36ec.js');
12
+ const mapViewUtils = require('./mapViewUtils-a2884698.js');
13
13
  const loadModules = require('./loadModules-f6df8d6a.js');
14
- const downloadUtils = require('./downloadUtils-43f5be48.js');
14
+ const downloadUtils = require('./downloadUtils-34a515ad.js');
15
15
  require('./_commonjsHelpers-384729db.js');
16
16
  require('./interfaces-000be6de.js');
17
+ require('./clean-url-d5326abb.js');
17
18
 
18
- const cardManagerCss = ":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.border-rounded{border:1px solid var(--calcite-ui-border-2);border-radius:5px}.height-full{height:100%}card-manager{display:block}";
19
+ const cardManagerCss = ":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.height-full{height:100%}card-manager{display:block}";
19
20
 
20
21
  const CardManager = class {
21
22
  constructor(hostRef) {
@@ -58,7 +59,7 @@ const CardManager = class {
58
59
  */
59
60
  async layerSelectionChange(evt) {
60
61
  const id = evt.detail[0];
61
- this.layer = await mapViewUtils.getLayer(this.mapView, id);
62
+ this.layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
62
63
  }
63
64
  //--------------------------------------------------------------------------
64
65
  //
@@ -80,7 +81,7 @@ const CardManager = class {
80
81
  var _a, _b;
81
82
  const featuresClass = ((_a = this._graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "" : "display-none";
82
83
  const messageClass = ((_b = this._graphics) === null || _b === void 0 ? void 0 : _b.length) > 0 ? "display-none" : "";
83
- return (index.h(index.Host, null, index.h("div", { class: "border-rounded overflow-auto height-full" }, index.h("calcite-shell", { class: "position-relative " + featuresClass }, index.h("div", null, index.h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), index.h("div", { class: "padding-1 " + messageClass }, index.h("calcite-notice", { icon: "table", open: true }, index.h("div", { slot: "message" }, this._translations.selectFeaturesToStart))))));
84
+ return (index.h(index.Host, null, index.h("div", { class: "overflow-auto height-full" }, index.h("calcite-shell", { class: "position-relative " + featuresClass }, index.h("div", null, index.h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), index.h("div", { class: "padding-1 " + messageClass }, index.h("calcite-notice", { icon: "table", open: true }, index.h("div", { slot: "message" }, this._translations.selectFeaturesToStart))))));
84
85
  }
85
86
  //--------------------------------------------------------------------------
86
87
  //
@@ -101,7 +102,7 @@ const CardManager = class {
101
102
  };
102
103
  CardManager.style = cardManagerCss;
103
104
 
104
- const layerTableCss = ":host{display:block}.height-full{height:100%}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.height-51{height:51px}.bottom-left{position:absolute;left:0;bottom:0}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}";
105
+ const layerTableCss = ":host{display:block}.height-full{height:100%}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.bottom-left{position:absolute;left:0;bottom:0}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-ui-danger)}";
105
106
 
106
107
  const LayerTable = class {
107
108
  constructor(hostRef) {
@@ -126,12 +127,16 @@ const LayerTable = class {
126
127
  this.onTableNodeCreate = (node) => {
127
128
  this._tableNode = node;
128
129
  };
130
+ this.enableAutoRefresh = undefined;
131
+ this.enableInlineEdit = undefined;
129
132
  this.mapInfo = undefined;
130
133
  this.mapView = undefined;
134
+ this.onlyShowUpdatableLayers = undefined;
131
135
  this.showNewestFirst = undefined;
132
136
  this.zoomAndScrollToSelected = undefined;
133
137
  this._alertOpen = false;
134
138
  this._fetchingData = false;
139
+ this._isDeleting = false;
135
140
  this._layer = undefined;
136
141
  this._selectedIndexes = [];
137
142
  this._showOnlySelected = false;
@@ -147,13 +152,12 @@ const LayerTable = class {
147
152
  * watch for changes in map view and get the first layer
148
153
  */
149
154
  async mapViewWatchHandler() {
150
- this._fetchingData = true;
151
- const mapLayerIds = await mapViewUtils.getMapLayerIds(this.mapView);
152
- this._layer = await mapViewUtils.getLayer(this.mapView, mapLayerIds[0]);
153
- this.reactiveUtils.on(() => this.mapView, "click", (event) => {
155
+ if (this._mapClickHandle) {
156
+ this._mapClickHandle.remove();
157
+ }
158
+ this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
154
159
  void this._mapClicked(event);
155
160
  });
156
- this._fetchingData = false;
157
161
  }
158
162
  /**
159
163
  * watch for changes in layer view and verify if it has editing enabled
@@ -210,6 +214,22 @@ const LayerTable = class {
210
214
  }
211
215
  }
212
216
  }
217
+ /**
218
+ * Refresh the table when edits are completed
219
+ *
220
+ */
221
+ editsComplete() {
222
+ this._refresh();
223
+ }
224
+ /**
225
+ * Refresh the table when edits are completed
226
+ *
227
+ */
228
+ noLayersFound() {
229
+ this._layer = undefined;
230
+ this._allIds = [];
231
+ this._clearSelection();
232
+ }
213
233
  //--------------------------------------------------------------------------
214
234
  //
215
235
  // Functions (lifecycle)
@@ -228,17 +248,13 @@ const LayerTable = class {
228
248
  * Renders the component.
229
249
  */
230
250
  render() {
231
- if (!this._layer) {
232
- return null;
233
- }
234
251
  const tableNodeClass = this._fetchingData ? "display-none" : "";
235
252
  const loadingClass = this._fetchingData ? "" : "display-none";
236
- const alertActionClass = this._alertShowAction ? "" : "display-none";
237
253
  const total = this._allIds.length.toString();
238
254
  const selected = this._selectedIndexes.length.toString();
239
255
  return (index.h(index.Host, null, index.h("calcite-shell", null, this._getTableControlRow("header"), index.h("div", { class: "height-full width-full" }, index.h("calcite-panel", { class: "height-full width-full" }, index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { class: tableNodeClass, ref: this.onTableNodeCreate })), index.h("div", { class: "bottom-left background text-color" }, this._translations.recordsSelected
240
256
  .replace("{{total}}", total)
241
- .replace("{{selected}}", selected))), index.h("calcite-alert", { icon: this._alertIcon, kind: this._alertKind, label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._alertTitle), index.h("div", { slot: "message" }, this._alertMessage), index.h("calcite-link", { class: alertActionClass, onClick: this._alertActionFunction, slot: "link" }, this._alertActionText)))));
257
+ .replace("{{selected}}", selected))), this._getEditDisabledWarning()), this._deleteMessage()));
242
258
  }
243
259
  //--------------------------------------------------------------------------
244
260
  //
@@ -269,9 +285,37 @@ const LayerTable = class {
269
285
  */
270
286
  _getTableControlRow(slot) {
271
287
  const featuresSelected = this._selectedIndexes.length > 0;
272
- return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "magnifying-glass", id: "magnifying-glass", label: this._translations.zoom, onClick: () => this._zoom(), text: this._translations.zoom, textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, index.h("span", null, this._translations.zoom)), index.h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, index.h("span", null, this._translations.filters)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, index.h("span", null, this._translations.delete)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "erase", id: "erase", onClick: () => this._clearSelection(), text: this._translations.clearSelection, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "erase" }, index.h("span", null, this._translations.clearSelection))), index.h("calcite-dropdown", null, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
288
+ return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", type: "dropdown" })), this._getAction("zoom-to-object", this._translations.zoom, () => this._zoom(), !featuresSelected), this._getAction("filter", this._translations.filters, () => this._filter(), false), this._deleteEnabled ? this._getDangerAction("trash", this._translations.delete, () => this._delete(), !featuresSelected) : undefined, this._getAction("erase", this._translations.clearSelection, () => this._clearSelection(), !featuresSelected)), index.h("calcite-dropdown", { disabled: this._layer === undefined }, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
273
289
  this._translations.showSelected), index.h("calcite-dropdown-item", { iconStart: "compare", onClick: () => this._switchSelected() }, this._translations.switchSelected), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), index.h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
274
290
  }
291
+ /**
292
+ * Get an action and tooltip
293
+ *
294
+ * @param icon string the name of the icon to display, will also be used as the id
295
+ * @param label string the text to display and label the action
296
+ * @param func any the function to execute
297
+ * @param disabled boolean when true the user will not be able to interact with the action
298
+ *
299
+ * @returns VNode The node representing the DOM element that will contain the action
300
+ */
301
+ _getAction(icon, label, func, disabled) {
302
+ const _disabled = this._layer === undefined ? true : disabled;
303
+ return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, icon: icon, id: icon, label: label, onClick: func, text: label, textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
304
+ }
305
+ /**
306
+ * Get an action with danger color icon and text
307
+ *
308
+ * @param icon string the name of the icon to display, will also be used as the id
309
+ * @param label string the text to display and label the action
310
+ * @param func any the function to execute
311
+ * @param disabled boolean when true the user will not be able to interact with the action
312
+ *
313
+ * @returns VNode The node representing the DOM element that will contain the action
314
+ */
315
+ _getDangerAction(icon, label, func, disabled) {
316
+ const _disabled = this._layer === undefined ? true : disabled;
317
+ return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
318
+ }
275
319
  /**
276
320
  * Initialize the FeatureTable
277
321
  *
@@ -281,11 +325,12 @@ const LayerTable = class {
281
325
  */
282
326
  async _getTable(node, columnTemplates) {
283
327
  if (this._layer) {
284
- await this._layer.when(async () => {
328
+ await this._layer.when(() => {
285
329
  this._table = new this.FeatureTable({
330
+ autoRefreshEnabled: this.enableAutoRefresh,
286
331
  layer: this._layer,
287
332
  view: this.mapView,
288
- //editingEnabled: this._editEnabled,
333
+ editingEnabled: this._editEnabled && this.enableInlineEdit,
289
334
  highlightEnabled: true,
290
335
  multiSortEnabled: false,
291
336
  visibleElements: {
@@ -297,24 +342,25 @@ const LayerTable = class {
297
342
  },
298
343
  container: node
299
344
  });
300
- await this._table.when(async () => {
301
- this._table.highlightIds.on("change", () => {
302
- this._selectedIndexes = this._table.highlightIds.toArray();
303
- if (this._showOnlySelected) {
304
- if (this._selectedIndexes.length > 0) {
305
- this._table.filterBySelection();
306
- }
307
- else {
308
- this._toggleShowSelected();
309
- }
345
+ });
346
+ this._checkEditEnabled();
347
+ await this._table.when(() => {
348
+ this._table.highlightIds.on("change", () => {
349
+ this._selectedIndexes = this._table.highlightIds.toArray();
350
+ if (this._showOnlySelected) {
351
+ if (this._selectedIndexes.length > 0) {
352
+ this._table.filterBySelection();
310
353
  }
311
- this.featureSelectionChange.emit(this._selectedIndexes);
312
- });
313
- this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
314
- var _a, _b, _c, _d;
315
- this._sortActive = (sortOrders.length > 0 && ((_a = sortOrders[0]) === null || _a === void 0 ? void 0 : _a.direction) === "asc" || ((_b = sortOrders[0]) === null || _b === void 0 ? void 0 : _b.direction) === "desc") ||
316
- ((_c = sortOrders[0]) === null || _c === void 0 ? void 0 : _c.direction) === null && ((_d = sortOrders[0]) === null || _d === void 0 ? void 0 : _d.fieldName) === this._layer.objectIdField;
317
- });
354
+ else {
355
+ this._toggleShowSelected();
356
+ }
357
+ }
358
+ this.featureSelectionChange.emit(this._selectedIndexes);
359
+ });
360
+ this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
361
+ var _a, _b, _c, _d;
362
+ this._sortActive = this._layer ? (sortOrders.length > 0 && ((_a = sortOrders[0]) === null || _a === void 0 ? void 0 : _a.direction) === "asc" || ((_b = sortOrders[0]) === null || _b === void 0 ? void 0 : _b.direction) === "desc") ||
363
+ ((_c = sortOrders[0]) === null || _c === void 0 ? void 0 : _c.direction) === null && ((_d = sortOrders[0]) === null || _d === void 0 ? void 0 : _d.fieldName) === this._layer.objectIdField : false;
318
364
  });
319
365
  });
320
366
  }
@@ -325,22 +371,41 @@ const LayerTable = class {
325
371
  * @returns void
326
372
  */
327
373
  async _resetTable() {
328
- if (this._layer && this._table) {
374
+ if (this._table) {
329
375
  this._clearSelection();
330
376
  this._allIds = [];
331
377
  this.featureSelectionChange.emit(this._selectedIndexes);
332
- const columnTemplates = this._getColumnTemplates(this._layer.id);
333
- this._table.layer = this._layer;
334
- this._table.tableTemplate.columnTemplates = columnTemplates;
335
- this._editEnabled = this._layer.editingEnabled;
336
- this._table.view = this.mapView;
337
- this._table.editingEnabled = this._editEnabled;
338
- this._table.clearSelectionFilter();
339
- this._showOnlySelected = false;
340
- this._sortActive = false;
341
- await this._sortTable();
378
+ if (this._layer) {
379
+ await this._layer.when(() => {
380
+ const columnTemplates = this._getColumnTemplates(this._layer.id);
381
+ this._table.layer = this._layer;
382
+ this._table.tableTemplate.columnTemplates = columnTemplates;
383
+ this._table.view = this.mapView;
384
+ this._checkEditEnabled();
385
+ this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
386
+ });
387
+ await this._table.when(() => {
388
+ this._table.clearSelectionFilter();
389
+ });
390
+ this._showOnlySelected = false;
391
+ this._sortActive = false;
392
+ await this._sortTable();
393
+ }
394
+ else {
395
+ this._table.view = this.mapView;
396
+ this._table.layer = this._layer;
397
+ }
342
398
  }
343
399
  }
400
+ /**
401
+ * Verify edit capabilities of the layer
402
+ *
403
+ * @returns void
404
+ */
405
+ _checkEditEnabled() {
406
+ this._editEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsUpdate;
407
+ this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
408
+ }
344
409
  /**
345
410
  * Sort the objectid field in descending order
346
411
  *
@@ -350,15 +415,48 @@ const LayerTable = class {
350
415
  if (this._table && this._layer && !this._sortActive) {
351
416
  if (!this._tableSorting && this.showNewestFirst) {
352
417
  this._tableSorting = true;
353
- await this._table.when(async () => {
354
- await this._layer.when(async () => {
355
- this._table.sortColumn(this._layer.objectIdField, "desc");
356
- this._tableSorting = false;
357
- });
418
+ await this._table.when();
419
+ await this._layer.when(() => {
420
+ this._table.sortColumn(this._layer.objectIdField, "desc");
421
+ this._tableSorting = false;
358
422
  });
359
423
  }
360
424
  }
361
425
  }
426
+ /**
427
+ * Show warning when editing is disabled
428
+ *
429
+ * @returns node with warning message
430
+ */
431
+ _getEditDisabledWarning() {
432
+ return (index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen && !this._confirmDelete, placement: "top" }, index.h("div", { slot: "title" }, this._translations.deleteDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)));
433
+ }
434
+ /**
435
+ * Show delete confirmation message
436
+ *
437
+ * @returns node to confirm or deny the delete operation
438
+ */
439
+ _deleteMessage() {
440
+ return (index.h("calcite-modal", { "aria-labelledby": "modal-title", kind: "danger", open: this._confirmDelete }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, index.h("calcite-icon", { "aria-hidden": "true", class: "padding-end-1 danger-color", icon: "exclamation-mark-triangle", scale: "m" }), this._translations.deleteFeature), index.h("div", { slot: "content" }, this._translations.confirm), index.h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._alertClosed(), slot: "secondary", width: "full" }, this._translations.cancel), index.h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
441
+ }
442
+ /**
443
+ * Delete the currently selected features
444
+ *
445
+ * @returns void
446
+ */
447
+ async _deleteFeatures() {
448
+ this._isDeleting = true;
449
+ const deleteFeatures = this._table.highlightIds.toArray().map((objectId) => {
450
+ return { objectId };
451
+ });
452
+ await this._layer.applyEdits({
453
+ deleteFeatures
454
+ });
455
+ await this._table.refresh();
456
+ this._allIds = await mapViewUtils.queryAllIds(this._layer);
457
+ this._isDeleting = false;
458
+ this._alertClosed();
459
+ }
362
460
  /**
363
461
  * Handle map click events to keep table and map click selection in sync
364
462
  *
@@ -394,6 +492,7 @@ const LayerTable = class {
394
492
  */
395
493
  _alertClosed() {
396
494
  this._alertOpen = false;
495
+ this._confirmDelete = false;
397
496
  }
398
497
  /**
399
498
  * Select or deselect all rows
@@ -467,7 +566,8 @@ const LayerTable = class {
467
566
  ids,
468
567
  layer: this._layer
469
568
  };
470
- void downloadUtils.downloadCSV(exportInfos, false, // formatUsingLayerPopup
569
+ void downloadUtils.downloadCSV(null, //???
570
+ exportInfos, false, // formatUsingLayerPopup
471
571
  false, // removeDuplicates
472
572
  true);
473
573
  }
@@ -494,25 +594,7 @@ const LayerTable = class {
494
594
  */
495
595
  _delete() {
496
596
  if (this._editEnabled) {
497
- this._alertIcon = "trash";
498
- this._alertTitle = this._translations.deleteRows;
499
- this._alertActionText = this._translations.delete;
500
- this._alertShowAction = true;
501
- this._alertMessage = this._translations.confirm;
502
- this._alertKind = "danger";
503
- this._alertActionFunction = () => {
504
- void this._layer.applyEdits({
505
- deleteFeatures: this._table.highlightIds.toArray()
506
- });
507
- this._alertOpen = false;
508
- };
509
- }
510
- else {
511
- this._alertIcon = "layer-broken";
512
- this._alertTitle = this._translations.deleteDisabled;
513
- this._alertShowAction = false;
514
- this._alertMessage = this._translations.enableEditing;
515
- this._alertKind = "warning";
597
+ this._confirmDelete = true;
516
598
  }
517
599
  this._alertOpen = true;
518
600
  }
@@ -534,11 +616,12 @@ const LayerTable = class {
534
616
  * @returns a promise that will resolve when the operation is complete
535
617
  */
536
618
  async _layerSelectionChanged(evt) {
619
+ var _a;
537
620
  const id = evt.detail[0];
538
- if (id !== this._layer.id || this._allIds.length === 0) {
621
+ if (id !== ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id) || this._allIds.length === 0) {
539
622
  this._fetchingData = true;
540
623
  const columnTemplates = this._getColumnTemplates(id);
541
- this._layer = await mapViewUtils.getLayer(this.mapView, id);
624
+ this._layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
542
625
  this._allIds = await mapViewUtils.queryAllIds(this._layer);
543
626
  if (!this._table) {
544
627
  await this._getTable(this._tableNode, columnTemplates);
@@ -600,10 +683,16 @@ const MapCard = class {
600
683
  constructor(hostRef) {
601
684
  index.registerInstance(this, hostRef);
602
685
  this.mapChanged = index.createEvent(this, "mapChanged", 7);
686
+ this.beforeMapChanged = index.createEvent(this, "beforeMapChanged", 7);
603
687
  /**
604
688
  * string: the id of map currently displayed
605
689
  */
606
690
  this._loadedId = "";
691
+ this.enableLegend = undefined;
692
+ this.enableFullscreen = undefined;
693
+ this.enableSearch = undefined;
694
+ this.enableBasemap = undefined;
695
+ this.basemapConfig = undefined;
607
696
  this.mapInfos = [];
608
697
  this.mapView = undefined;
609
698
  this._searchConfiguration = undefined;
@@ -630,7 +719,7 @@ const MapCard = class {
630
719
  * Renders the component.
631
720
  */
632
721
  render() {
633
- return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { class: "box-shadow", mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
722
+ return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
634
723
  }
635
724
  //--------------------------------------------------------------------------
636
725
  //
@@ -680,16 +769,17 @@ const MapCard = class {
680
769
  });
681
770
  this._loadedId = id;
682
771
  this._searchConfiguration = this._webMapInfo.searchConfiguration;
683
- this.mapChanged.emit({
684
- id: id,
685
- mapView: this.mapView
686
- });
772
+ this.beforeMapChanged.emit();
687
773
  await this.mapView.when(() => {
688
774
  const home = new this.Home({
689
775
  view: this.mapView
690
776
  });
691
777
  this.mapView.ui.add(home, { position: "top-left", index: 3 });
692
778
  this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
779
+ this.mapChanged.emit({
780
+ id: id,
781
+ mapView: this.mapView
782
+ });
693
783
  });
694
784
  }
695
785
  }