@esri/solutions-components 0.6.12 → 0.6.14

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -19,7 +19,8 @@
19
19
  * limitations under the License.
20
20
  */
21
21
  import { Host, h } from "@stencil/core";
22
- import { getMapLayerHash, getMapLayerIds, getMapTableHash, getMapTableIds } from "../../utils/mapViewUtils";
22
+ import { getLocaleComponentStrings } from "../../utils/locale";
23
+ import { getMapLayerHash, getMapTableHash } from "../../utils/mapViewUtils";
23
24
  import state from "../../utils/publicNotificationStore";
24
25
  export class MapLayerPicker {
25
26
  constructor() {
@@ -27,13 +28,16 @@ export class MapLayerPicker {
27
28
  this.enabledLayerIds = [];
28
29
  this.enabledTableIds = [];
29
30
  this.mapView = undefined;
31
+ this.onlyShowUpdatableLayers = undefined;
30
32
  this.placeholderIcon = "";
31
33
  this.selectedIds = [];
32
34
  this.scale = "m";
33
35
  this.showTables = true;
34
36
  this.type = "select";
37
+ this._hasValidLayers = true;
35
38
  this.ids = [];
36
39
  this.selectedName = "";
40
+ this._translations = undefined;
37
41
  }
38
42
  //--------------------------------------------------------------------------
39
43
  //
@@ -46,10 +50,13 @@ export class MapLayerPicker {
46
50
  */
47
51
  async mapViewWatchHandler() {
48
52
  await this._setLayers();
49
- const hasLayers = Object.keys(state.layerNameHash).length > 0;
50
- const hasTables = Object.keys(state.tableNameHash).length > 0 && this.showTables;
51
- if (hasLayers || hasTables) {
52
- this._setSelectedLayer(this.ids[0], hasLayers ? "layer" : "table");
53
+ if (this.ids.length > 0) {
54
+ this._hasValidLayers = true;
55
+ this._setSelectedLayer(this.ids[0]);
56
+ }
57
+ else {
58
+ this._hasValidLayers = false;
59
+ this.noLayersFound.emit();
53
60
  }
54
61
  }
55
62
  //--------------------------------------------------------------------------
@@ -61,6 +68,7 @@ export class MapLayerPicker {
61
68
  * StencilJS: Called once just after the component is first connected to the DOM.
62
69
  */
63
70
  async componentWillLoad() {
71
+ await this._getTranslations();
64
72
  await this._setLayers();
65
73
  if (this.ids.length > 0 || this.selectedIds.length === 1) {
66
74
  this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
@@ -70,7 +78,7 @@ export class MapLayerPicker {
70
78
  * Renders the component.
71
79
  */
72
80
  render() {
73
- return (h(Host, null, h("div", { class: "map-layer-picker-container" }, h("div", { class: "map-layer-picker" }, this.type === "combobox" ? this._getCombobox() :
81
+ return (h(Host, null, h("div", { class: "map-layer-picker-container" }, h("div", { class: "map-layer-picker" }, !this._hasValidLayers ? this._getInvalidPlaceholder() : this.type === "combobox" ? this._getCombobox() :
74
82
  this.type === "select" ? this._getSelect() : this._getDropdown()))));
75
83
  }
76
84
  /**
@@ -83,9 +91,9 @@ export class MapLayerPicker {
83
91
  this._layerElement.value = id;
84
92
  }
85
93
  else if (this.type === "dropdown") {
86
- this.selectedName = Object.keys(state.layerNameHash).indexOf(id) > -1 ?
87
- state.layerNameHash[id] : Object.keys(state.tableNameHash).indexOf(id) > -1 ?
88
- state.tableNameHash[id] : "";
94
+ this.selectedName = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
95
+ this._layerNameHash[id].name : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
96
+ this._tableNameHash[id].name : "";
89
97
  }
90
98
  }
91
99
  }
@@ -94,6 +102,14 @@ export class MapLayerPicker {
94
102
  // Functions (protected)
95
103
  //
96
104
  //--------------------------------------------------------------------------
105
+ /**
106
+ * Create a notice to inform the user that no layers were found
107
+ *
108
+ * @returns Calcite Notice component with the message
109
+ */
110
+ _getInvalidPlaceholder() {
111
+ return (h("div", null, h("calcite-notice", { class: "height-100", icon: "exclamation-mark-triangle", id: "no-valid-layers", kind: "danger", open: true }, h("div", { slot: "message" }, this._translations.noLayersFound)), h("calcite-tooltip", { label: this._translations.enableEditUpdate, placement: "bottom", "reference-element": "no-valid-layers" }, h("span", null, this._translations.enableEditUpdate))));
112
+ }
97
113
  /**
98
114
  * Create a list of layers from the map
99
115
  *
@@ -144,16 +160,21 @@ export class MapLayerPicker {
144
160
  * @returns A dom node with the name of the layer or table
145
161
  */
146
162
  _getItem(id, itemType) {
147
- const name = itemType === "layer" ? state.layerNameHash[id] : state.tableNameHash[id];
148
- return this.type === "combobox" ? (h("calcite-combobox-item", { textLabel: name, value: id })) :
149
- this.type === "select" ? (h("calcite-option", { label: name, value: id })) :
150
- (h("calcite-dropdown-item", { onClick: () => void this._setSelectedLayer(id, itemType) }, name));
163
+ const item = itemType === "layer" ? this._layerNameHash[id] : this._tableNameHash[id];
164
+ const disabled = this.onlyShowUpdatableLayers ? !item.supportsUpdate : false;
165
+ const name = item.name;
166
+ return this.type === "combobox" ? (h("calcite-combobox-item", { disabled: disabled, textLabel: name, value: id })) :
167
+ this.type === "select" ? (h("calcite-option", { disabled: disabled, label: name, value: id })) :
168
+ (h("calcite-dropdown-item", { disabled: disabled, onClick: disabled ? undefined : () => void this._setSelectedLayer(id) }, name));
151
169
  }
152
170
  /**
153
171
  * Store the layer name based on the user selection
154
172
  */
155
- _setSelectedLayer(id, type) {
156
- this.selectedName = type === "layer" ? state.layerNameHash[id] : state.tableNameHash[id];
173
+ _setSelectedLayer(id) {
174
+ const item = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
175
+ this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
176
+ this._tableNameHash[id] : undefined;
177
+ this.selectedName = item === null || item === void 0 ? void 0 : item.name;
157
178
  this.selectedIds = [id];
158
179
  this.layerSelectionChange.emit(this.selectedIds);
159
180
  }
@@ -164,25 +185,38 @@ export class MapLayerPicker {
164
185
  */
165
186
  async _setLayers() {
166
187
  if (this.mapView) {
167
- const mapLayerIds = await getMapLayerIds(this.mapView);
168
- const mapTableIds = this.showTables ? await getMapTableIds(this.mapView) : [];
188
+ await this._initLayerTableHash();
189
+ const mapLayerIds = this.onlyShowUpdatableLayers ?
190
+ this._getEditableIds(this._layerNameHash) : Object.keys(this._layerNameHash);
191
+ const mapTableIds = this.showTables ? this.onlyShowUpdatableLayers ?
192
+ this._getEditableIds(this._tableNameHash) : Object.keys(this._tableNameHash) : [];
169
193
  this.ids = [
170
194
  ...mapLayerIds.filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.indexOf(n) > -1 : true; }),
171
195
  ...mapTableIds.filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.indexOf(n) > -1 : true; }),
172
196
  ];
173
- await this._initStateHash();
174
197
  }
175
198
  }
199
+ /**
200
+ * Fetch the ids of all layers that support edits with the update capability
201
+ *
202
+ * @returns array of layer ids
203
+ */
204
+ _getEditableIds(hash) {
205
+ return Object.keys(hash).reduce((prev, cur) => {
206
+ if (hash[cur].supportsUpdate) {
207
+ prev.push(cur);
208
+ }
209
+ return prev;
210
+ }, []);
211
+ }
176
212
  /**
177
213
  * Create a layer id:title hash for layer name display
178
214
  *
179
215
  * @returns Promise when the operation has completed
180
216
  */
181
- async _initStateHash() {
182
- if (this.mapView) {
183
- state.layerNameHash = await getMapLayerHash(this.mapView);
184
- state.tableNameHash = this.showTables ? await getMapTableHash(this.mapView) : {};
185
- }
217
+ async _initLayerTableHash() {
218
+ this._layerNameHash = await getMapLayerHash(this.mapView, this.onlyShowUpdatableLayers);
219
+ this._tableNameHash = this.showTables ? await getMapTableHash(this.mapView, this.onlyShowUpdatableLayers) : {};
186
220
  }
187
221
  /**
188
222
  * Evaluate if the id exists in the current hash and verify if it should be excluded
@@ -190,9 +224,10 @@ export class MapLayerPicker {
190
224
  * @returns boolean when true the layer will be used in the current layer picker type
191
225
  */
192
226
  _validLayer(id) {
193
- const name = state.layerNameHash[id];
227
+ var _a;
228
+ const name = (_a = this._layerNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
194
229
  return name && state.managedLayers.indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
195
- this.enabledLayerIds.indexOf(id) > -1 : name);
230
+ this.enabledLayerIds.indexOf(id) > -1 : true);
196
231
  }
197
232
  /**
198
233
  * Evaluate if the id exists in the current hash and verify if it should be excluded
@@ -200,7 +235,8 @@ export class MapLayerPicker {
200
235
  * @returns boolean when true the table will be used in the current layer picker type
201
236
  */
202
237
  _validTable(id) {
203
- const name = state.tableNameHash[id];
238
+ var _a;
239
+ const name = (_a = this._tableNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
204
240
  const validName = name && this.showTables;
205
241
  return validName ? state.managedTables.indexOf(name) < 0 &&
206
242
  (this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
@@ -217,6 +253,16 @@ export class MapLayerPicker {
217
253
  this.layerSelectionChange.emit(this.selectedIds);
218
254
  }
219
255
  }
256
+ /**
257
+ * Fetches the component's translations
258
+ *
259
+ * @returns Promise when complete
260
+ * @protected
261
+ */
262
+ async _getTranslations() {
263
+ const messages = await getLocaleComponentStrings(this.el);
264
+ this._translations = messages[0];
265
+ }
220
266
  static get is() { return "map-layer-picker"; }
221
267
  static get originalStyleUrls() {
222
268
  return {
@@ -300,6 +346,23 @@ export class MapLayerPicker {
300
346
  "text": "esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
301
347
  }
302
348
  },
349
+ "onlyShowUpdatableLayers": {
350
+ "type": "boolean",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "boolean",
354
+ "resolved": "boolean",
355
+ "references": {}
356
+ },
357
+ "required": false,
358
+ "optional": false,
359
+ "docs": {
360
+ "tags": [],
361
+ "text": "boolean: When true only editable layers that support the update capability will be available"
362
+ },
363
+ "attribute": "only-show-updatable-layers",
364
+ "reflect": false
365
+ },
303
366
  "placeholderIcon": {
304
367
  "type": "string",
305
368
  "mutable": false,
@@ -392,12 +455,29 @@ export class MapLayerPicker {
392
455
  }
393
456
  static get states() {
394
457
  return {
458
+ "_hasValidLayers": {},
395
459
  "ids": {},
396
- "selectedName": {}
460
+ "selectedName": {},
461
+ "_translations": {}
397
462
  };
398
463
  }
399
464
  static get events() {
400
465
  return [{
466
+ "method": "noLayersFound",
467
+ "name": "noLayersFound",
468
+ "bubbles": true,
469
+ "cancelable": true,
470
+ "composed": true,
471
+ "docs": {
472
+ "tags": [],
473
+ "text": "Emitted on demand when no valid layers are found"
474
+ },
475
+ "complexType": {
476
+ "original": "void",
477
+ "resolved": "void",
478
+ "references": {}
479
+ }
480
+ }, {
401
481
  "method": "layerSelectionChange",
402
482
  "name": "layerSelectionChange",
403
483
  "bubbles": true,
@@ -48,7 +48,7 @@
48
48
  flex-direction: column;
49
49
  overflow: hidden;
50
50
  animation: calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;
51
- background-color: var(--calcite-scrim-background);
51
+ background-color: var(--calcite-ui-background);
52
52
  z-index: 1000;
53
53
  width: 100%;
54
54
  height: -moz-fit-content;
@@ -62,3 +62,7 @@
62
62
  .action-bar-color {
63
63
  background-color: var(--calcite-ui-border-3) !important;
64
64
  }
65
+
66
+ .align-center {
67
+ align-items: center;
68
+ }
@@ -46,9 +46,9 @@ export class MapPicker {
46
46
  /**
47
47
  * Called each time the mapInfos prop is changed.
48
48
  */
49
- mapInfosWatchHandler(v, oldV) {
49
+ async mapInfosWatchHandler(v, oldV) {
50
50
  if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
51
- this.mapInfoChange.emit(v[0]);
51
+ this._webMapSelected(v[0]);
52
52
  }
53
53
  }
54
54
  //--------------------------------------------------------------------------
@@ -73,7 +73,7 @@ export class MapPicker {
73
73
  /**
74
74
  * Called once after the component has loaded
75
75
  */
76
- componentDidLoad() {
76
+ async componentDidLoad() {
77
77
  const webMapInfo = this.mapInfos && this.mapInfos.length > 0 ? this.mapInfos[0] : undefined;
78
78
  if (webMapInfo) {
79
79
  this._webMapSelected(webMapInfo);
@@ -22,6 +22,11 @@ import { Host, h } from "@stencil/core";
22
22
  import { getLocaleComponentStrings } from "../../utils/locale";
23
23
  export class MapTools {
24
24
  constructor() {
25
+ this.enableLegend = undefined;
26
+ this.enableFullscreen = undefined;
27
+ this.enableSearch = undefined;
28
+ this.enableBasemap = undefined;
29
+ this.basemapConfig = undefined;
25
30
  this.layout = "vertical";
26
31
  this.mapView = undefined;
27
32
  this.searchConfiguration = undefined;
@@ -125,7 +130,16 @@ export class MapTools {
125
130
  const fullscreenIcon = this._showFullscreen ? "full-screen-exit" : "full-screen";
126
131
  const fullscreenTip = this._showFullscreen ? this._translations.exitFullscreen : this._translations.enterFullscreen;
127
132
  const expandTip = this._showTools ? this._translations.collapse : this._translations.expand;
128
- return (h(Host, null, h("div", null, h("div", { class: "box-shadow" }, this._getActionGroup(toggleIcon, false, expandTip, () => this._toggleTools())), h("div", { class: `margin-top-1-2 box-shadow ${toolsClass}` }, this._getActionGroup("legend", false, this._translations.legend, () => this._showLegend()), this._getActionGroup("magnifying-glass", false, this._translations.search, () => this._search()), this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()), this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()))), h("basemap-gallery", { class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } })));
133
+ const containerClass = !this.enableBasemap && !this.enableFullscreen && !this.enableLegend && !this.enableSearch ? "display-none" : "";
134
+ return (h(Host, null, h("div", { class: containerClass }, h("div", { class: "box-shadow" }, this._getActionGroup(toggleIcon, false, expandTip, () => this._toggleTools())), h("div", { class: `margin-top-1-2 box-shadow ${toolsClass}` }, this.enableLegend ?
135
+ this._getActionGroup("legend", false, this._translations.legend, () => this._showLegend()) :
136
+ undefined, this.enableSearch ?
137
+ this._getActionGroup("magnifying-glass", false, this._translations.search, () => this._search()) :
138
+ undefined, this.enableFullscreen ?
139
+ this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()) :
140
+ undefined, this.enableBasemap ?
141
+ this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
142
+ undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } })));
129
143
  }
130
144
  //--------------------------------------------------------------------------
131
145
  //
@@ -217,6 +231,95 @@ export class MapTools {
217
231
  }
218
232
  static get properties() {
219
233
  return {
234
+ "enableLegend": {
235
+ "type": "boolean",
236
+ "mutable": false,
237
+ "complexType": {
238
+ "original": "boolean",
239
+ "resolved": "boolean",
240
+ "references": {}
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": "boolean: when true the legend widget will be available"
247
+ },
248
+ "attribute": "enable-legend",
249
+ "reflect": false
250
+ },
251
+ "enableFullscreen": {
252
+ "type": "boolean",
253
+ "mutable": false,
254
+ "complexType": {
255
+ "original": "boolean",
256
+ "resolved": "boolean",
257
+ "references": {}
258
+ },
259
+ "required": false,
260
+ "optional": false,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "boolean: when true the fullscreen widget will be available"
264
+ },
265
+ "attribute": "enable-fullscreen",
266
+ "reflect": false
267
+ },
268
+ "enableSearch": {
269
+ "type": "boolean",
270
+ "mutable": false,
271
+ "complexType": {
272
+ "original": "boolean",
273
+ "resolved": "boolean",
274
+ "references": {}
275
+ },
276
+ "required": false,
277
+ "optional": false,
278
+ "docs": {
279
+ "tags": [],
280
+ "text": "boolean: when true the search widget will be available"
281
+ },
282
+ "attribute": "enable-search",
283
+ "reflect": false
284
+ },
285
+ "enableBasemap": {
286
+ "type": "boolean",
287
+ "mutable": false,
288
+ "complexType": {
289
+ "original": "boolean",
290
+ "resolved": "boolean",
291
+ "references": {}
292
+ },
293
+ "required": false,
294
+ "optional": false,
295
+ "docs": {
296
+ "tags": [],
297
+ "text": "boolean: when true the basemap widget will be available"
298
+ },
299
+ "attribute": "enable-basemap",
300
+ "reflect": false
301
+ },
302
+ "basemapConfig": {
303
+ "type": "unknown",
304
+ "mutable": false,
305
+ "complexType": {
306
+ "original": "IBasemapConfig",
307
+ "resolved": "IBasemapConfig",
308
+ "references": {
309
+ "IBasemapConfig": {
310
+ "location": "import",
311
+ "path": "../../utils/interfaces",
312
+ "id": "src/utils/interfaces.ts::IBasemapConfig"
313
+ }
314
+ }
315
+ },
316
+ "required": false,
317
+ "optional": false,
318
+ "docs": {
319
+ "tags": [],
320
+ "text": "IBasemapConfig: List of any basemaps to filter out from the basemap widget"
321
+ }
322
+ },
220
323
  "layout": {
221
324
  "type": "string",
222
325
  "mutable": false,
@@ -43,27 +43,29 @@ export class PdfDownload {
43
43
  /**
44
44
  * Downloads csv of mailing labels for the provided list of ids
45
45
  *
46
+ * @param webmap Webmap containing layer
46
47
  * @param exportInfos Information about items to be exported
47
48
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
48
49
  * @param addColumnTitle Indicates if column headings should be included in output
49
50
  * @returns Promise resolving when function is done
50
51
  */
51
- async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
52
- return downloadUtils.downloadCSV(exportInfos, true, // formatUsingLayerPopup
52
+ async downloadCSV(webmap, exportInfos, removeDuplicates, addColumnTitle = true) {
53
+ return downloadUtils.downloadCSV(webmap, exportInfos, true, // formatUsingLayerPopup
53
54
  removeDuplicates, addColumnTitle);
54
55
  }
55
56
  /**
56
57
  * Downloads pdf of mailing labels for the provided list of ids
57
58
  *
59
+ * @param webmap Webmap containing layer
58
60
  * @param exportInfos Information about items to be exported
59
61
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
60
62
  * @param title Title for each page
61
63
  * @param initialImageDataUrl Data URL of image for first page
62
64
  * @returns Promise resolving when function is done
63
65
  */
64
- async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
66
+ async downloadPDF(webmap, exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
65
67
  var _c;
66
- return downloadUtils.downloadPDF(exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
68
+ return downloadUtils.downloadPDF(webmap, exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
67
69
  }
68
70
  //--------------------------------------------------------------------------
69
71
  //
@@ -217,8 +219,14 @@ export class PdfDownload {
217
219
  return {
218
220
  "downloadCSV": {
219
221
  "complexType": {
220
- "signature": "(exportInfos: IExportInfos, removeDuplicates: boolean, addColumnTitle?: boolean) => Promise<void>",
222
+ "signature": "(webmap: __esri.Map, exportInfos: IExportInfos, removeDuplicates: boolean, addColumnTitle?: boolean) => Promise<void>",
221
223
  "parameters": [{
224
+ "tags": [{
225
+ "name": "param",
226
+ "text": "webmap Webmap containing layer"
227
+ }],
228
+ "text": "Webmap containing layer"
229
+ }, {
222
230
  "tags": [{
223
231
  "name": "param",
224
232
  "text": "exportInfos Information about items to be exported"
@@ -242,6 +250,10 @@ export class PdfDownload {
242
250
  "location": "global",
243
251
  "id": "global::Promise"
244
252
  },
253
+ "___esri": {
254
+ "location": "global",
255
+ "id": "global::___esri"
256
+ },
245
257
  "IExportInfos": {
246
258
  "location": "import",
247
259
  "path": "../../utils/interfaces",
@@ -253,6 +265,9 @@ export class PdfDownload {
253
265
  "docs": {
254
266
  "text": "Downloads csv of mailing labels for the provided list of ids",
255
267
  "tags": [{
268
+ "name": "param",
269
+ "text": "webmap Webmap containing layer"
270
+ }, {
256
271
  "name": "param",
257
272
  "text": "exportInfos Information about items to be exported"
258
273
  }, {
@@ -269,8 +284,14 @@ export class PdfDownload {
269
284
  },
270
285
  "downloadPDF": {
271
286
  "complexType": {
272
- "signature": "(exportInfos: IExportInfos, removeDuplicates?: boolean, title?: string, initialImageDataUrl?: string) => Promise<void>",
287
+ "signature": "(webmap: __esri.Map, exportInfos: IExportInfos, removeDuplicates?: boolean, title?: string, initialImageDataUrl?: string) => Promise<void>",
273
288
  "parameters": [{
289
+ "tags": [{
290
+ "name": "param",
291
+ "text": "webmap Webmap containing layer"
292
+ }],
293
+ "text": "Webmap containing layer"
294
+ }, {
274
295
  "tags": [{
275
296
  "name": "param",
276
297
  "text": "exportInfos Information about items to be exported"
@@ -300,6 +321,10 @@ export class PdfDownload {
300
321
  "location": "global",
301
322
  "id": "global::Promise"
302
323
  },
324
+ "___esri": {
325
+ "location": "global",
326
+ "id": "global::___esri"
327
+ },
303
328
  "IExportInfos": {
304
329
  "location": "import",
305
330
  "path": "../../utils/interfaces",
@@ -315,6 +340,9 @@ export class PdfDownload {
315
340
  "docs": {
316
341
  "text": "Downloads pdf of mailing labels for the provided list of ids",
317
342
  "tags": [{
343
+ "name": "param",
344
+ "text": "webmap Webmap containing layer"
345
+ }, {
318
346
  "name": "param",
319
347
  "text": "exportInfos Information about items to be exported"
320
348
  }, {
@@ -422,7 +422,7 @@ export class PublicNotification {
422
422
  */
423
423
  async _getNumDuplicates() {
424
424
  const exportInfos = this._getExportInfos();
425
- const labels = await consolidateLabels(exportInfos);
425
+ const labels = await consolidateLabels(this.mapView.map, exportInfos);
426
426
  const duplicatesRemoved = removeDuplicateLabels(labels);
427
427
  return labels.length - duplicatesRemoved.length;
428
428
  }
@@ -633,12 +633,12 @@ export class PublicNotification {
633
633
  }
634
634
  this._fetchingData = true;
635
635
  // Create the labels for each selection set
636
- await this._downloadTools.downloadPDF(exportInfos, this._removeDuplicates.checked, this._addTitle ? this._titleElement.value : "", initialImageDataUrl);
636
+ await this._downloadTools.downloadPDF(this.mapView.map, exportInfos, this._removeDuplicates.checked, this._addTitle ? this._titleElement.value : "", initialImageDataUrl);
637
637
  this._fetchingData = false;
638
638
  }
639
639
  if (this._exportType === EExportType.CSV) {
640
640
  this._fetchingData = true;
641
- await this._downloadTools.downloadCSV(exportInfos, this._removeDuplicates.checked);
641
+ await this._downloadTools.downloadCSV(this.mapView.map, exportInfos, this._removeDuplicates.checked);
642
642
  this._fetchingData = false;
643
643
  }
644
644
  }