@esri/solutions-components 0.6.11 → 0.6.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (589) 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-select-tools/resources.json +2 -1
  4. package/dist/assets/t9n/map-select-tools/resources_en.json +2 -1
  5. package/dist/assets/t9n/map-tools/resources.json +4 -1
  6. package/dist/assets/t9n/map-tools/resources_en.json +4 -1
  7. package/dist/cjs/{ExpandToggle-c5690e14.js → ExpandToggle-511435d5.js} +1 -1
  8. package/dist/cjs/{FloatingArrow-675171a6.js → FloatingArrow-88e3f797.js} +1 -1
  9. package/dist/cjs/{Heading-3712677d.js → Heading-0da2a025.js} +1 -1
  10. package/dist/cjs/{ar-1dc23c0a.js → ar-0a371029.js} +5 -5
  11. package/dist/cjs/{basemap-gallery_5.cjs.entry.js → basemap-gallery_6.cjs.entry.js} +139 -10
  12. package/dist/cjs/{bg-4024b354.js → bg-f7538b74.js} +5 -5
  13. package/dist/cjs/{bs-3134d711.js → bs-6560857c.js} +5 -5
  14. package/dist/cjs/buffer-tools_4.cjs.entry.js +8 -8
  15. package/dist/cjs/{ca-8d6647d3.js → ca-d74198eb.js} +5 -5
  16. package/dist/cjs/calcite-accordion-item.cjs.entry.js +2 -2
  17. package/dist/cjs/calcite-accordion.cjs.entry.js +1 -1
  18. package/dist/cjs/{calcite-filter_5.cjs.entry.js → calcite-action-bar_3.cjs.entry.js} +168 -322
  19. package/dist/cjs/calcite-action-group_2.cjs.entry.js +4 -4
  20. package/dist/cjs/calcite-action-pad.cjs.entry.js +5 -5
  21. package/dist/cjs/calcite-action_2.cjs.entry.js +6 -6
  22. package/dist/cjs/calcite-alert.cjs.entry.js +4 -4
  23. package/dist/cjs/calcite-avatar.cjs.entry.js +1 -1
  24. package/dist/cjs/calcite-block-section.cjs.entry.js +3 -3
  25. package/dist/cjs/calcite-block.cjs.entry.js +5 -5
  26. package/dist/cjs/calcite-button.cjs.entry.js +4 -4
  27. package/dist/cjs/calcite-card.cjs.entry.js +3 -3
  28. package/dist/cjs/calcite-checkbox.cjs.entry.js +3 -3
  29. package/dist/cjs/calcite-chip-group.cjs.entry.js +2 -2
  30. package/dist/cjs/calcite-chip.cjs.entry.js +4 -4
  31. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +2 -2
  32. package/dist/cjs/calcite-color-picker.cjs.entry.js +3 -3
  33. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +1 -1
  34. package/dist/cjs/calcite-combobox_6.cjs.entry.js +10 -10
  35. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +2 -2
  36. package/dist/cjs/calcite-date-picker.cjs.entry.js +4 -4
  37. package/dist/cjs/calcite-fab.cjs.entry.js +2 -2
  38. package/dist/cjs/calcite-filter_3.cjs.entry.js +387 -0
  39. package/dist/cjs/calcite-flow-item.cjs.entry.js +3 -3
  40. package/dist/cjs/calcite-flow.cjs.entry.js +2 -2
  41. package/dist/cjs/calcite-graph.cjs.entry.js +1 -1
  42. package/dist/cjs/calcite-icon.cjs.entry.js +1 -1
  43. package/dist/cjs/calcite-inline-editable.cjs.entry.js +3 -3
  44. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +6 -6
  45. package/dist/cjs/calcite-input-number_2.cjs.entry.js +4 -4
  46. package/dist/cjs/{calcite-input-time-picker-4efcd55d.js → calcite-input-time-picker-188356eb.js} +53 -53
  47. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +5 -5
  48. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +4 -4
  49. package/dist/cjs/calcite-input_2.cjs.entry.js +4 -4
  50. package/dist/cjs/calcite-label.cjs.entry.js +1 -1
  51. package/dist/cjs/calcite-link.cjs.entry.js +2 -2
  52. package/dist/cjs/calcite-list-item-group.cjs.entry.js +1 -1
  53. package/dist/cjs/calcite-loader.cjs.entry.js +1 -1
  54. package/dist/cjs/calcite-menu-item.cjs.entry.js +3 -3
  55. package/dist/cjs/calcite-menu.cjs.entry.js +3 -3
  56. package/dist/cjs/calcite-modal.cjs.entry.js +5 -5
  57. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  58. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  59. package/dist/cjs/calcite-navigation.cjs.entry.js +2 -2
  60. package/dist/cjs/calcite-notice.cjs.entry.js +4 -4
  61. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  62. package/dist/cjs/calcite-option_2.cjs.entry.js +3 -3
  63. package/dist/cjs/calcite-pagination.cjs.entry.js +3 -3
  64. package/dist/cjs/calcite-panel_2.cjs.entry.js +5 -5
  65. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +3 -3
  66. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +4 -4
  67. package/dist/cjs/calcite-pick-list.cjs.entry.js +3 -3
  68. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +2 -2
  69. package/dist/cjs/calcite-radio-button.cjs.entry.js +3 -3
  70. package/dist/cjs/calcite-rating.cjs.entry.js +4 -4
  71. package/dist/cjs/calcite-scrim.cjs.entry.js +2 -2
  72. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +3 -3
  73. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +2 -2
  74. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +10 -9
  75. package/dist/cjs/calcite-sortable-list.cjs.entry.js +1 -1
  76. package/dist/cjs/calcite-split-button.cjs.entry.js +2 -2
  77. package/dist/cjs/calcite-stepper-item.cjs.entry.js +2 -2
  78. package/dist/cjs/calcite-stepper.cjs.entry.js +1 -1
  79. package/dist/cjs/calcite-switch.cjs.entry.js +3 -3
  80. package/dist/cjs/calcite-text-area.cjs.entry.js +4 -4
  81. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +1 -1
  82. package/dist/cjs/calcite-tile-select.cjs.entry.js +2 -2
  83. package/dist/cjs/calcite-tile.cjs.entry.js +2 -2
  84. package/dist/cjs/calcite-time-picker.cjs.entry.js +3 -3
  85. package/dist/cjs/calcite-tip-group.cjs.entry.js +1 -1
  86. package/dist/cjs/calcite-tip-manager.cjs.entry.js +3 -3
  87. package/dist/cjs/calcite-tip.cjs.entry.js +4 -4
  88. package/dist/cjs/calcite-tooltip.cjs.entry.js +3 -3
  89. package/dist/cjs/calcite-tree_3.cjs.entry.js +2 -2
  90. package/dist/cjs/card-manager_3.cjs.entry.js +70 -37
  91. package/dist/cjs/clean-url-d5326abb.js +573 -0
  92. package/dist/cjs/{conditionalSlot-126d557f.js → conditionalSlot-f10611d3.js} +1 -1
  93. package/dist/cjs/crowdsource-manager.cjs.entry.js +41 -13
  94. package/dist/cjs/crowdsource-reporter.cjs.entry.js +1 -1
  95. package/dist/cjs/{cs-b24cd994.js → cs-bdf9949e.js} +5 -5
  96. package/dist/cjs/{da-9dee3a1f.js → da-ab198f94.js} +5 -5
  97. package/dist/cjs/{de-1a98b964.js → de-a859739c.js} +5 -5
  98. package/dist/cjs/{de-at-782e6c7f.js → de-at-126e66a1.js} +5 -5
  99. package/dist/cjs/{de-ch-d5c95469.js → de-ch-25eb45ed.js} +5 -5
  100. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  101. package/dist/cjs/{downloadUtils-471a6a2d.js → downloadUtils-fb4744e0.js} +299 -54
  102. package/dist/cjs/edit-card_2.cjs.entry.js +30 -27
  103. package/dist/cjs/{el-af28cafa.js → el-9abbc3f2.js} +5 -5
  104. package/dist/cjs/{en-au-109f3119.js → en-au-8835d481.js} +5 -5
  105. package/dist/cjs/{en-ca-22890a25.js → en-ca-a8f1a438.js} +5 -5
  106. package/dist/cjs/{en-gb-dc23c9dd.js → en-gb-e8098e8c.js} +5 -5
  107. package/dist/cjs/{es-3f353355.js → es-bc99e2ad.js} +5 -5
  108. package/dist/cjs/{es-mx-ccb57857.js → es-mx-71461470.js} +5 -5
  109. package/dist/cjs/{et-119c047b.js → et-8fa437ac.js} +5 -5
  110. package/dist/cjs/{fi-13096d81.js → fi-1284d381.js} +5 -5
  111. package/dist/cjs/{form-7c6054c3.js → form-28bc6597.js} +1 -1
  112. package/dist/cjs/{fr-563dfcd5.js → fr-635089b1.js} +5 -5
  113. package/dist/cjs/{fr-ch-f66cfd49.js → fr-ch-09392bdc.js} +5 -5
  114. package/dist/cjs/{he-d8253a1a.js → he-44a07bad.js} +5 -5
  115. package/dist/cjs/{hi-58c7c3b5.js → hi-9bba524d.js} +5 -5
  116. package/dist/cjs/{hr-5aba114a.js → hr-fc0a64fd.js} +5 -5
  117. package/dist/cjs/{hu-38c15915.js → hu-b900be50.js} +5 -5
  118. package/dist/cjs/{id-3a94c080.js → id-d20a381a.js} +5 -5
  119. package/dist/cjs/{index-0e50040c.js → index-ee37804b.js} +3 -0
  120. package/dist/cjs/{index-2b60e135.js → index-feeb7b6a.js} +1 -1
  121. package/dist/cjs/{index.es-33154f03.js → index.es-372e33de.js} +7 -6
  122. package/dist/cjs/{interfaces-d539e30c.js → interfaces-000be6de.js} +0 -5
  123. package/dist/cjs/{it-ch-970563cd.js → it-ch-e6bfb280.js} +5 -5
  124. package/dist/cjs/{it-88834555.js → it-d07dffbe.js} +5 -5
  125. package/dist/cjs/{ja-13d4b1ae.js → ja-3fac4cb9.js} +5 -5
  126. package/dist/cjs/{ko-10cbdd98.js → ko-7df47ba4.js} +5 -5
  127. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  128. package/dist/cjs/list-item.cjs.entry.js +1 -1
  129. package/dist/cjs/{loadModules-c5490589.js → loadModules-f6df8d6a.js} +1 -1
  130. package/dist/cjs/{loadable-6925d840.js → loadable-13605f73.js} +1 -1
  131. package/dist/cjs/loader.cjs.js +2 -2
  132. package/dist/cjs/{locale-88c21da2.js → locale-67f5f6b6.js} +1 -1
  133. package/dist/cjs/{lt-3fc5017a.js → lt-32e0b838.js} +5 -5
  134. package/dist/cjs/{lv-9d9cf999.js → lv-5822b401.js} +5 -5
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +23 -14
  136. package/dist/cjs/{mapViewUtils-9da2dddd.js → mapViewUtils-a4dd36ec.js} +1 -1
  137. package/dist/cjs/{mk-9f79812b.js → mk-76494f34.js} +5 -5
  138. package/dist/cjs/{nb-673fe3fd.js → nb-3ec52247.js} +5 -5
  139. package/dist/cjs/{nl-4dc0504f.js → nl-fe9ffca9.js} +5 -5
  140. package/dist/cjs/{openCloseComponent-05cb01ff.js → openCloseComponent-359d855c.js} +1 -1
  141. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  142. package/dist/cjs/{pl-d809a6c3.js → pl-13049aa3.js} +5 -5
  143. package/dist/cjs/{pt-br-55f1893a.js → pt-br-f222c9e6.js} +5 -5
  144. package/dist/cjs/{pt-78eefbc7.js → pt-ef1645ab.js} +5 -5
  145. package/dist/cjs/public-notification.cjs.entry.js +12 -11
  146. package/dist/cjs/{publicNotificationStore-55edd658.js → publicNotificationStore-b69862af.js} +1 -1
  147. package/dist/cjs/resources-f15abc99.js +29 -0
  148. package/dist/cjs/{ro-f0cff196.js → ro-712f9cbb.js} +5 -5
  149. package/dist/cjs/{ru-5e9b37f9.js → ru-45b18030.js} +5 -5
  150. package/dist/cjs/{shared-list-render-9bbcb306.js → shared-list-render-e5821654.js} +1 -1
  151. package/dist/cjs/{sk-322cd349.js → sk-db642b5a.js} +5 -5
  152. package/dist/cjs/{sl-fd948e50.js → sl-51811e20.js} +5 -5
  153. package/dist/cjs/solution-configuration.cjs.entry.js +48 -47
  154. package/dist/cjs/solution-contents_3.cjs.entry.js +6 -5
  155. package/dist/cjs/{solution-store-0004e4e6.js → solution-store-c443e657.js} +9 -574
  156. package/dist/cjs/solutions-components.cjs.js +2 -2
  157. package/dist/cjs/{sr-f0058b24.js → sr-c248524c.js} +5 -5
  158. package/dist/cjs/store-manager.cjs.entry.js +1 -1
  159. package/dist/cjs/{sv-8a8378bf.js → sv-67777565.js} +5 -5
  160. package/dist/cjs/{t9n-62d807df.js → t9n-58d20225.js} +1 -1
  161. package/dist/cjs/{th-f219fad6.js → th-81fb9eb1.js} +5 -5
  162. package/dist/cjs/{tr-03109641.js → tr-b5da4c5c.js} +5 -5
  163. package/dist/cjs/{uk-dde46112.js → uk-e8ad8b3b.js} +5 -5
  164. package/dist/cjs/{utils-651e6663.js → utils-fddf1c6b.js} +1 -1
  165. package/dist/cjs/{vi-60ed6e30.js → vi-0b26505a.js} +5 -5
  166. package/dist/cjs/{zh-cn-a2f6f51d.js → zh-cn-40d02fac.js} +5 -5
  167. package/dist/cjs/{zh-hk-e14e2fc0.js → zh-hk-d1a89b9e.js} +5 -5
  168. package/dist/cjs/{zh-tw-7ea0d7e4.js → zh-tw-5691adb2.js} +5 -5
  169. package/dist/collection/collection-manifest.json +1 -0
  170. package/dist/collection/components/card-manager/card-manager.css +0 -5
  171. package/dist/collection/components/card-manager/card-manager.js +1 -1
  172. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +2 -2
  173. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +73 -9
  174. package/dist/collection/components/edit-card/edit-card.css +8 -0
  175. package/dist/collection/components/info-card/info-card.css +14 -14
  176. package/dist/collection/components/info-card/info-card.js +25 -22
  177. package/dist/collection/components/layer-table/layer-table.css +12 -0
  178. package/dist/collection/components/layer-table/layer-table.js +93 -26
  179. package/dist/collection/components/map-card/map-card.css +4 -0
  180. package/dist/collection/components/map-card/map-card.js +1 -1
  181. package/dist/collection/components/map-fullscreen/map-fullscreen.css +19 -0
  182. package/dist/collection/components/map-fullscreen/map-fullscreen.js +178 -0
  183. package/dist/collection/components/map-fullscreen/test/map-fullscreen.e2e.js +29 -0
  184. package/dist/collection/components/map-fullscreen/test/map-fullscreen.spec.js +37 -0
  185. package/dist/collection/components/map-select-tools/map-select-tools.js +7 -1
  186. package/dist/collection/components/map-tools/map-tools.css +8 -4
  187. package/dist/collection/components/map-tools/map-tools.js +35 -29
  188. package/dist/collection/components/pdf-download/pdf-download.js +35 -7
  189. package/dist/collection/components/public-notification/public-notification.js +3 -3
  190. package/dist/collection/utils/downloadUtils.js +208 -82
  191. package/dist/collection/utils/downloadUtils.ts +257 -85
  192. package/dist/collection/utils/interfaces.js +0 -5
  193. package/dist/collection/utils/interfaces.ts +0 -5
  194. package/dist/collection/utils/test/downloadUtils.spec.js +163 -134
  195. package/dist/collection/utils/test/downloadUtils.spec.tsx +2 -0
  196. package/dist/components/calcite-modal.js +1 -409
  197. package/dist/components/card-manager2.js +2 -2
  198. package/dist/components/clean-url.js +567 -0
  199. package/dist/components/crowdsource-manager.js +118 -82
  200. package/dist/components/downloadUtils.js +295 -50
  201. package/dist/components/edit-card2.js +1 -1
  202. package/dist/components/info-card2.js +26 -23
  203. package/dist/components/interfaces.js +1 -6
  204. package/dist/components/layer-table2.js +68 -33
  205. package/dist/components/map-card2.js +44 -38
  206. package/dist/components/map-draw-tools2.js +1 -1
  207. package/dist/components/map-fullscreen.d.ts +11 -0
  208. package/dist/components/map-fullscreen.js +11 -0
  209. package/dist/components/map-fullscreen2.js +130 -0
  210. package/dist/components/map-select-tools2.js +7 -1
  211. package/dist/components/map-tools2.js +43 -34
  212. package/dist/components/modal.js +416 -0
  213. package/dist/components/pdf-download2.js +7 -5
  214. package/dist/components/public-notification.js +4 -4
  215. package/dist/components/refine-selection2.js +1 -1
  216. package/dist/components/solution-configuration.js +25 -24
  217. package/dist/components/solution-resource-item2.js +1 -1
  218. package/dist/components/solution-store.js +3 -563
  219. package/dist/esm/{ExpandToggle-3bfcb842.js → ExpandToggle-e614e3e4.js} +2 -2
  220. package/dist/esm/{FloatingArrow-cf140d6b.js → FloatingArrow-4a1b35d6.js} +1 -1
  221. package/dist/esm/{Heading-140d10ff.js → Heading-5258553c.js} +1 -1
  222. package/dist/esm/{ar-45abeb31.js → ar-2f678abc.js} +10 -10
  223. package/dist/esm/{basemap-gallery_5.entry.js → basemap-gallery_6.entry.js} +139 -11
  224. package/dist/esm/{bg-af759e86.js → bg-e514c4d7.js} +10 -10
  225. package/dist/esm/{bs-20d012de.js → bs-81584b09.js} +10 -10
  226. package/dist/esm/buffer-tools_4.entry.js +11 -11
  227. package/dist/esm/{ca-1498df65.js → ca-e8c40e21.js} +10 -10
  228. package/dist/esm/calcite-accordion-item.entry.js +3 -3
  229. package/dist/esm/calcite-accordion.entry.js +1 -1
  230. package/dist/esm/{calcite-filter_5.entry.js → calcite-action-bar_3.entry.js} +193 -345
  231. package/dist/esm/calcite-action-group_2.entry.js +6 -6
  232. package/dist/esm/calcite-action-pad.entry.js +7 -7
  233. package/dist/esm/calcite-action_2.entry.js +10 -10
  234. package/dist/esm/calcite-alert.entry.js +6 -6
  235. package/dist/esm/calcite-avatar.entry.js +2 -2
  236. package/dist/esm/calcite-block-section.entry.js +5 -5
  237. package/dist/esm/calcite-block.entry.js +7 -7
  238. package/dist/esm/calcite-button.entry.js +7 -7
  239. package/dist/esm/calcite-card.entry.js +5 -5
  240. package/dist/esm/calcite-checkbox.entry.js +5 -5
  241. package/dist/esm/calcite-chip-group.entry.js +3 -3
  242. package/dist/esm/calcite-chip.entry.js +6 -6
  243. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +3 -3
  244. package/dist/esm/calcite-color-picker.entry.js +5 -5
  245. package/dist/esm/calcite-combobox-item-group.entry.js +3 -3
  246. package/dist/esm/calcite-combobox_6.entry.js +15 -15
  247. package/dist/esm/calcite-date-picker-day_3.entry.js +5 -5
  248. package/dist/esm/calcite-date-picker.entry.js +7 -7
  249. package/dist/esm/calcite-fab.entry.js +3 -3
  250. package/dist/esm/calcite-filter_3.entry.js +381 -0
  251. package/dist/esm/calcite-flow-item.entry.js +5 -5
  252. package/dist/esm/calcite-flow.entry.js +2 -2
  253. package/dist/esm/calcite-graph.entry.js +1 -1
  254. package/dist/esm/calcite-icon.entry.js +2 -2
  255. package/dist/esm/calcite-inline-editable.entry.js +6 -6
  256. package/dist/esm/calcite-input-date-picker.entry.js +12 -12
  257. package/dist/esm/calcite-input-number_2.entry.js +7 -7
  258. package/dist/esm/{calcite-input-time-picker-227e60c3.js → calcite-input-time-picker-fe6e499a.js} +57 -57
  259. package/dist/esm/calcite-input-time-picker.entry.js +10 -10
  260. package/dist/esm/calcite-input-time-zone.entry.js +7 -7
  261. package/dist/esm/calcite-input_2.entry.js +7 -7
  262. package/dist/esm/calcite-label.entry.js +3 -3
  263. package/dist/esm/calcite-link.entry.js +3 -3
  264. package/dist/esm/calcite-list-item-group.entry.js +1 -1
  265. package/dist/esm/calcite-loader.entry.js +1 -1
  266. package/dist/esm/calcite-menu-item.entry.js +5 -5
  267. package/dist/esm/calcite-menu.entry.js +5 -5
  268. package/dist/esm/calcite-modal.entry.js +8 -8
  269. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  270. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  271. package/dist/esm/calcite-navigation.entry.js +3 -3
  272. package/dist/esm/calcite-notice.entry.js +6 -6
  273. package/dist/esm/calcite-option-group.entry.js +1 -1
  274. package/dist/esm/calcite-option_2.entry.js +5 -5
  275. package/dist/esm/calcite-pagination.entry.js +5 -5
  276. package/dist/esm/calcite-panel_2.entry.js +7 -7
  277. package/dist/esm/calcite-pick-list-group.entry.js +4 -4
  278. package/dist/esm/calcite-pick-list-item.entry.js +6 -6
  279. package/dist/esm/calcite-pick-list.entry.js +4 -4
  280. package/dist/esm/calcite-radio-button-group.entry.js +2 -2
  281. package/dist/esm/calcite-radio-button.entry.js +5 -5
  282. package/dist/esm/calcite-rating.entry.js +7 -7
  283. package/dist/esm/calcite-scrim.entry.js +4 -4
  284. package/dist/esm/calcite-segmented-control_2.entry.js +5 -5
  285. package/dist/esm/calcite-shell-center-row.entry.js +3 -3
  286. package/dist/esm/calcite-shell-panel_14.entry.js +13 -12
  287. package/dist/esm/calcite-sortable-list.entry.js +3 -3
  288. package/dist/esm/calcite-split-button.entry.js +2 -2
  289. package/dist/esm/calcite-stepper-item.entry.js +4 -4
  290. package/dist/esm/calcite-stepper.entry.js +2 -2
  291. package/dist/esm/calcite-switch.entry.js +5 -5
  292. package/dist/esm/calcite-text-area.entry.js +7 -7
  293. package/dist/esm/calcite-tile-select-group.entry.js +1 -1
  294. package/dist/esm/calcite-tile-select.entry.js +2 -2
  295. package/dist/esm/calcite-tile.entry.js +3 -3
  296. package/dist/esm/calcite-time-picker.entry.js +6 -6
  297. package/dist/esm/calcite-tip-group.entry.js +1 -1
  298. package/dist/esm/calcite-tip-manager.entry.js +5 -5
  299. package/dist/esm/calcite-tip.entry.js +6 -6
  300. package/dist/esm/calcite-tooltip.entry.js +5 -5
  301. package/dist/esm/calcite-tree_3.entry.js +3 -3
  302. package/dist/esm/card-manager_3.entry.js +70 -37
  303. package/dist/esm/clean-url-bce022e6.js +567 -0
  304. package/dist/esm/{conditionalSlot-55a14abd.js → conditionalSlot-dff8f839.js} +1 -1
  305. package/dist/esm/crowdsource-manager.entry.js +41 -13
  306. package/dist/esm/crowdsource-reporter.entry.js +1 -1
  307. package/dist/esm/{cs-3bd67855.js → cs-af5f115e.js} +10 -10
  308. package/dist/esm/{da-7a76e131.js → da-06d9e22c.js} +10 -10
  309. package/dist/esm/{date-bd5b879c.js → date-641ae749.js} +1 -1
  310. package/dist/esm/{de-at-0b6874cb.js → de-at-f55a700a.js} +10 -10
  311. package/dist/esm/{de-ch-c9d429dd.js → de-ch-7307675f.js} +10 -10
  312. package/dist/esm/{de-0808a43e.js → de-dc98363f.js} +10 -10
  313. package/dist/esm/deduct-calculator.entry.js +1 -1
  314. package/dist/esm/{dom-37f2dec9.js → dom-2b326ec3.js} +1 -1
  315. package/dist/esm/{downloadUtils-8d4c13bb.js → downloadUtils-67c7a6c8.js} +299 -54
  316. package/dist/esm/edit-card_2.entry.js +30 -27
  317. package/dist/esm/{el-66001281.js → el-91c64808.js} +10 -10
  318. package/dist/esm/{en-au-6424fec0.js → en-au-df08cc25.js} +10 -10
  319. package/dist/esm/{en-ca-f5f1659d.js → en-ca-175f7c0f.js} +10 -10
  320. package/dist/esm/{en-gb-796beadd.js → en-gb-90a08c7f.js} +10 -10
  321. package/dist/esm/{es-cd139926.js → es-5cb54b05.js} +10 -10
  322. package/dist/esm/{es-mx-854dc3e4.js → es-mx-3a0cb804.js} +10 -10
  323. package/dist/esm/{et-2aa6782d.js → et-eceac6dc.js} +10 -10
  324. package/dist/esm/{fi-965727bd.js → fi-26e1c14f.js} +10 -10
  325. package/dist/esm/{floating-ui-7cde67cf.js → floating-ui-9f8e4ed4.js} +1 -1
  326. package/dist/esm/{focusTrapComponent-ec344399.js → focusTrapComponent-ad2c3a31.js} +1 -1
  327. package/dist/esm/{form-04d47b0b.js → form-0871d2c6.js} +2 -2
  328. package/dist/esm/{fr-c1884e89.js → fr-12a5b0f7.js} +10 -10
  329. package/dist/esm/{fr-ch-1fd8dd3a.js → fr-ch-e3406887.js} +10 -10
  330. package/dist/esm/{he-0d7b78b4.js → he-61eba811.js} +10 -10
  331. package/dist/esm/{hi-0376c82d.js → hi-a50282b5.js} +10 -10
  332. package/dist/esm/{hr-28a64903.js → hr-da8bffaf.js} +10 -10
  333. package/dist/esm/{hu-44a02ff7.js → hu-dab932f1.js} +10 -10
  334. package/dist/esm/{id-034fc4a5.js → id-de468947.js} +10 -10
  335. package/dist/esm/{index-b5d9d795.js → index-c7de2486.js} +3 -0
  336. package/dist/esm/{index-b91c174c.js → index-f4bd5aa3.js} +1 -1
  337. package/dist/esm/{index.es-065c3035.js → index.es-59a67d3d.js} +7 -6
  338. package/dist/esm/{interfaces-5a2fe8b4.js → interfaces-7470d906.js} +1 -6
  339. package/dist/esm/{it-56e52026.js → it-375d9936.js} +10 -10
  340. package/dist/esm/{it-ch-a4a0e136.js → it-ch-7e663d63.js} +10 -10
  341. package/dist/esm/{ja-f2365272.js → ja-36dbe39d.js} +10 -10
  342. package/dist/esm/{ko-e7650b4c.js → ko-858bc871.js} +10 -10
  343. package/dist/esm/{label-b6dfb4d5.js → label-b8caf984.js} +1 -1
  344. package/dist/esm/layout-manager.entry.js +3 -3
  345. package/dist/esm/list-item.entry.js +1 -1
  346. package/dist/esm/{loadModules-f5f910b6.js → loadModules-2880c7e3.js} +1 -1
  347. package/dist/esm/{loadable-47170cb6.js → loadable-f848be11.js} +1 -1
  348. package/dist/esm/loader.js +3 -3
  349. package/dist/esm/{locale-146251f7.js → locale-00000ab4.js} +1 -1
  350. package/dist/esm/{locale-efad8f83.js → locale-9624832c.js} +1 -1
  351. package/dist/esm/{lt-1577a952.js → lt-d6dfa7e4.js} +10 -10
  352. package/dist/esm/{lv-9ef7e4f6.js → lv-facd25c5.js} +10 -10
  353. package/dist/esm/map-select-tools_3.entry.js +23 -14
  354. package/dist/esm/{mapViewUtils-f0c04325.js → mapViewUtils-00a04d52.js} +1 -1
  355. package/dist/esm/{mk-94264e08.js → mk-5ed05b6a.js} +10 -10
  356. package/dist/esm/{nb-fa24d5b2.js → nb-936fc687.js} +10 -10
  357. package/dist/esm/{nl-33f10900.js → nl-a923d626.js} +10 -10
  358. package/dist/esm/{openCloseComponent-10efeff3.js → openCloseComponent-9fce341c.js} +1 -1
  359. package/dist/esm/pci-calculator.entry.js +1 -1
  360. package/dist/esm/{pl-9ed16565.js → pl-b1426275.js} +10 -10
  361. package/dist/esm/{pt-52731ddf.js → pt-1ac2453f.js} +10 -10
  362. package/dist/esm/{pt-br-8de51ff4.js → pt-br-7194cc5f.js} +10 -10
  363. package/dist/esm/public-notification.entry.js +12 -11
  364. package/dist/esm/{publicNotificationStore-ade82148.js → publicNotificationStore-90a6a274.js} +1 -1
  365. package/dist/esm/resources-74ea5c42.js +26 -0
  366. package/dist/esm/{ro-99f009ad.js → ro-518aaed1.js} +10 -10
  367. package/dist/esm/{ru-592ffaf0.js → ru-762127a3.js} +10 -10
  368. package/dist/esm/{shared-list-render-4f0f6af8.js → shared-list-render-ec232615.js} +2 -2
  369. package/dist/esm/{sk-44f7bd19.js → sk-f367b7ba.js} +10 -10
  370. package/dist/esm/{sl-08cad9bd.js → sl-052fd4d2.js} +10 -10
  371. package/dist/esm/solution-configuration.entry.js +29 -28
  372. package/dist/esm/solution-contents_3.entry.js +6 -5
  373. package/dist/esm/{solution-store-46bc46a5.js → solution-store-b29d50f7.js} +4 -564
  374. package/dist/esm/solutions-components.js +3 -3
  375. package/dist/esm/{sortableComponent-8a84709a.js → sortableComponent-ebd6bb72.js} +1 -1
  376. package/dist/esm/{sr-84f261fc.js → sr-4dc0fdb9.js} +10 -10
  377. package/dist/esm/store-manager.entry.js +1 -1
  378. package/dist/esm/{sv-d0d7bc1e.js → sv-bdc87a4d.js} +10 -10
  379. package/dist/esm/{t9n-5f748619.js → t9n-9791aa0c.js} +2 -2
  380. package/dist/esm/{th-a5149d44.js → th-d9df674c.js} +10 -10
  381. package/dist/esm/{time-fa1151aa.js → time-73378c4a.js} +1 -1
  382. package/dist/esm/{tr-feb0cad4.js → tr-61e134eb.js} +10 -10
  383. package/dist/esm/{uk-c9ba62a0.js → uk-ea3d8da7.js} +10 -10
  384. package/dist/esm/{utils-667cc396.js → utils-593fafd7.js} +1 -1
  385. package/dist/esm/{utils-0a5c1a07.js → utils-bd52db7d.js} +3 -3
  386. package/dist/esm/{vi-788dcb99.js → vi-ade1c25b.js} +10 -10
  387. package/dist/esm/{zh-cn-3ccfb820.js → zh-cn-b8756118.js} +10 -10
  388. package/dist/esm/{zh-hk-b29b61e8.js → zh-hk-d18c05d9.js} +10 -10
  389. package/dist/esm/{zh-tw-2bdbc6eb.js → zh-tw-9c98ff7c.js} +10 -10
  390. package/dist/solutions-components/{p-ca3d7edd.entry.js → p-01fea8d5.entry.js} +1 -1
  391. package/dist/solutions-components/{p-0c2e392e.entry.js → p-0219a1a9.entry.js} +5 -5
  392. package/dist/solutions-components/{p-3ce89910.entry.js → p-02ff64f4.entry.js} +1 -1
  393. package/dist/solutions-components/p-062254a6.entry.js +6 -0
  394. package/dist/solutions-components/{p-cd673260.js → p-062d2f9a.js} +1 -1
  395. package/dist/solutions-components/{p-082365d6.entry.js → p-084bced1.entry.js} +1 -1
  396. package/dist/solutions-components/{p-feff224c.entry.js → p-088e4cfc.entry.js} +1 -1
  397. package/dist/solutions-components/{p-96239d0d.js → p-08e35485.js} +1 -1
  398. package/dist/solutions-components/{p-1bcfca9b.entry.js → p-0a883f51.entry.js} +1 -1
  399. package/dist/solutions-components/{p-8f8d2861.js → p-0d14d33a.js} +1 -1
  400. package/dist/solutions-components/{p-0266ca81.js → p-0dab4c93.js} +1 -1
  401. package/dist/solutions-components/{p-f815b5ef.entry.js → p-0de1df10.entry.js} +1 -1
  402. package/dist/solutions-components/{p-7f271c31.js → p-11550b3c.js} +3 -3
  403. package/dist/solutions-components/{p-9370bb48.entry.js → p-120c4098.entry.js} +1 -1
  404. package/dist/solutions-components/{p-586f0e3d.entry.js → p-12bcd474.entry.js} +1 -1
  405. package/dist/solutions-components/{p-149b4d3c.entry.js → p-1597ec4b.entry.js} +1 -1
  406. package/dist/solutions-components/{p-dc9dad31.entry.js → p-15a9fe95.entry.js} +1 -1
  407. package/dist/solutions-components/{p-13290851.js → p-17d176b5.js} +14 -43
  408. package/dist/solutions-components/{p-95c11620.js → p-1b41181b.js} +44 -29
  409. package/dist/solutions-components/{p-138cf009.js → p-1c5787b1.js} +1 -1
  410. package/dist/solutions-components/{p-01c83b8c.entry.js → p-1d9a5198.entry.js} +1 -1
  411. package/dist/solutions-components/{p-ec378ea0.entry.js → p-1dd5c4e6.entry.js} +1 -1
  412. package/dist/solutions-components/{p-6295e168.entry.js → p-1e62d118.entry.js} +1 -1
  413. package/dist/solutions-components/{p-b25005cf.entry.js → p-1ed80742.entry.js} +1 -1
  414. package/dist/solutions-components/{p-da6acb22.entry.js → p-1fae3819.entry.js} +1 -1
  415. package/dist/solutions-components/{p-5e08d4de.js → p-21aa112d.js} +1 -1
  416. package/dist/solutions-components/{p-7f9642d5.js → p-22833bd3.js} +1 -1
  417. package/dist/solutions-components/{p-66b5211f.entry.js → p-252a9a7f.entry.js} +1 -1
  418. package/dist/solutions-components/{p-80ea5869.js → p-26b28806.js} +1 -1
  419. package/dist/solutions-components/{p-0f85fa4b.js → p-2723beaa.js} +1 -1
  420. package/dist/solutions-components/{p-cee23126.js → p-280fd963.js} +3 -3
  421. package/dist/solutions-components/{p-ae6a7b3b.entry.js → p-2821ab80.entry.js} +1 -1
  422. package/dist/solutions-components/{p-d864b7e3.js → p-29049359.js} +1 -1
  423. package/dist/solutions-components/p-2a58e378.js +21 -0
  424. package/dist/solutions-components/{p-879d6377.entry.js → p-2b378389.entry.js} +1 -1
  425. package/dist/solutions-components/{p-2bf63e2e.js → p-2bdd1a5d.js} +1 -1
  426. package/dist/solutions-components/p-2cff8331.entry.js +6 -0
  427. package/dist/solutions-components/{p-cacfa6ae.js → p-2ee21e9d.js} +1 -1
  428. package/dist/solutions-components/{p-aea37c90.js → p-2f42ae51.js} +1 -1
  429. package/dist/solutions-components/{p-635bbbd4.js → p-30b3261c.js} +1 -1
  430. package/dist/solutions-components/{p-e4253e1b.entry.js → p-31c9aa38.entry.js} +1 -1
  431. package/dist/solutions-components/{p-0f77e83c.entry.js → p-32ba2223.entry.js} +2 -2
  432. package/dist/solutions-components/p-33613993.js +7 -0
  433. package/dist/solutions-components/{p-636f4631.js → p-34673137.js} +1 -1
  434. package/dist/solutions-components/{p-8f68f1d3.entry.js → p-3566ee69.entry.js} +1 -1
  435. package/dist/solutions-components/{p-a287be8b.js → p-358b9cc8.js} +1 -1
  436. package/dist/solutions-components/{p-3445a8c6.js → p-3691a072.js} +1 -1
  437. package/dist/solutions-components/p-3a6c8fc3.entry.js +6 -0
  438. package/dist/solutions-components/{p-e4d2fcc5.js → p-3a8d82a2.js} +2 -2
  439. package/dist/solutions-components/{p-0109bef4.entry.js → p-3ab94526.entry.js} +1 -1
  440. package/dist/solutions-components/p-3b1fc7a2.entry.js +6 -0
  441. package/dist/solutions-components/{p-0f8440bb.entry.js → p-3cc30e11.entry.js} +1 -1
  442. package/dist/solutions-components/{p-c1dcc1e7.js → p-3f7119c1.js} +1 -1
  443. package/dist/solutions-components/{p-be146646.js → p-3fcd035e.js} +1 -1
  444. package/dist/solutions-components/{p-3766be72.js → p-419c9d89.js} +1 -1
  445. package/dist/solutions-components/p-453d1b31.entry.js +6 -0
  446. package/dist/solutions-components/{p-7060caf6.js → p-46918548.js} +1 -1
  447. package/dist/solutions-components/p-49e9e4e3.js +12 -0
  448. package/dist/solutions-components/p-4d942b0f.entry.js +36 -0
  449. package/dist/solutions-components/{p-0ecd7346.js → p-4fc92419.js} +1 -1
  450. package/dist/solutions-components/{p-456f5afe.entry.js → p-52afbe07.entry.js} +1 -1
  451. package/dist/solutions-components/{p-6ce7b446.entry.js → p-52ec0b32.entry.js} +1 -1
  452. package/dist/solutions-components/{p-60c15592.js → p-54cc02c9.js} +1 -1
  453. package/dist/solutions-components/{p-8c61431d.js → p-573d0763.js} +1 -1
  454. package/dist/solutions-components/{p-6ddc9567.entry.js → p-59ef9461.entry.js} +2 -2
  455. package/dist/solutions-components/{p-c9df539a.entry.js → p-5e5749c0.entry.js} +1 -1
  456. package/dist/solutions-components/{p-7a027758.entry.js → p-5ff22d2e.entry.js} +1 -1
  457. package/dist/solutions-components/{p-8544d557.entry.js → p-617f32a0.entry.js} +1 -1
  458. package/dist/solutions-components/{p-1e7a31c1.entry.js → p-64541510.entry.js} +1 -1
  459. package/dist/solutions-components/{p-5c9fa0e7.js → p-6510c06c.js} +1 -1
  460. package/dist/solutions-components/{p-ec889511.js → p-65ba4d10.js} +1 -1
  461. package/dist/solutions-components/{p-cec47579.entry.js → p-65ffe4b0.entry.js} +1 -1
  462. package/dist/solutions-components/{p-bbb0d957.entry.js → p-66dd455f.entry.js} +1 -1
  463. package/dist/solutions-components/{p-3c15959e.js → p-68007503.js} +1 -1
  464. package/dist/solutions-components/{p-ac0abf04.entry.js → p-6ba8483c.entry.js} +2 -2
  465. package/dist/solutions-components/{p-1fba74a5.entry.js → p-6c8c7b98.entry.js} +2 -2
  466. package/dist/solutions-components/{p-29efbf76.entry.js → p-6e5d9ae9.entry.js} +1 -1
  467. package/dist/solutions-components/p-6ebf870c.entry.js +17 -0
  468. package/dist/solutions-components/{p-78a40191.entry.js → p-701409be.entry.js} +2 -2
  469. package/dist/solutions-components/{p-d2d3e4b5.js → p-72f34a0a.js} +1 -1
  470. package/dist/solutions-components/{p-261394d7.entry.js → p-7359a6ac.entry.js} +1 -1
  471. package/dist/solutions-components/{p-7a8d99fe.entry.js → p-73ab9d9a.entry.js} +1 -1
  472. package/dist/solutions-components/{p-3cfaf52b.entry.js → p-73fe6f7e.entry.js} +2 -2
  473. package/dist/solutions-components/{p-e0c011b8.js → p-7452d79a.js} +1 -1
  474. package/dist/solutions-components/{p-57c08531.entry.js → p-753da967.entry.js} +1 -1
  475. package/dist/solutions-components/{p-f8dd2784.js → p-767002cd.js} +2 -2
  476. package/dist/solutions-components/{p-5ceef49b.js → p-76c2c379.js} +1 -1
  477. package/dist/solutions-components/{p-2154de6d.js → p-788aa5d7.js} +1 -1
  478. package/dist/solutions-components/{p-2592c0b8.js → p-79cc0531.js} +2 -2
  479. package/dist/solutions-components/{p-167eb73b.js → p-7a0fa011.js} +1 -1
  480. package/dist/solutions-components/{p-1efcac52.entry.js → p-7a55cee6.entry.js} +1 -1
  481. package/dist/solutions-components/{p-58167087.entry.js → p-7bc63171.entry.js} +1 -1
  482. package/dist/solutions-components/{p-864c190b.entry.js → p-8150ad0e.entry.js} +1 -1
  483. package/dist/solutions-components/{p-5d62566c.entry.js → p-81664d83.entry.js} +1 -1
  484. package/dist/solutions-components/{p-38f906f2.js → p-8354f486.js} +1 -1
  485. package/dist/solutions-components/p-84dff306.entry.js +17 -0
  486. package/dist/solutions-components/{p-31aaa60f.js → p-8594fe6b.js} +1 -1
  487. package/dist/solutions-components/{p-c79c7978.entry.js → p-89617f30.entry.js} +1 -1
  488. package/dist/solutions-components/{p-ced11bea.entry.js → p-8a91195f.entry.js} +1 -1
  489. package/dist/solutions-components/{p-9a35ef8e.js → p-8b2d396e.js} +1 -1
  490. package/dist/solutions-components/{p-34ef43ce.entry.js → p-8b2e460e.entry.js} +1 -1
  491. package/dist/solutions-components/{p-e2637fe6.js → p-8ec6ea34.js} +1 -1
  492. package/dist/solutions-components/{p-e3d72832.entry.js → p-8ee00658.entry.js} +2 -2
  493. package/dist/solutions-components/{p-28b5a7cf.js → p-905fcf73.js} +1 -1
  494. package/dist/solutions-components/{p-410068d9.entry.js → p-929909bc.entry.js} +1 -1
  495. package/dist/solutions-components/{p-9b76bf3d.js → p-948b5722.js} +1 -1
  496. package/dist/solutions-components/{p-0fa3d1aa.js → p-956f3207.js} +1 -1
  497. package/dist/solutions-components/{p-b28ff52c.js → p-96287d23.js} +1 -1
  498. package/dist/solutions-components/{p-f596eabd.entry.js → p-964c0e7d.entry.js} +1 -1
  499. package/dist/solutions-components/{p-80cb42e4.entry.js → p-98051370.entry.js} +1 -1
  500. package/dist/solutions-components/p-9a8c51bf.entry.js +6 -0
  501. package/dist/solutions-components/{p-42f9ab43.entry.js → p-9a94f48c.entry.js} +1 -1
  502. package/dist/solutions-components/{p-688f6a0a.js → p-9b94501c.js} +1 -1
  503. package/dist/solutions-components/{p-1cebde99.js → p-9d4467a3.js} +1 -1
  504. package/dist/solutions-components/{p-872036a8.js → p-9e3c9cd2.js} +1 -1
  505. package/dist/solutions-components/{p-64e2c099.js → p-9fd59203.js} +1 -1
  506. package/dist/solutions-components/{p-7bb12deb.js → p-a097edf0.js} +1 -1
  507. package/dist/solutions-components/{p-27e0f599.js → p-a201bffc.js} +1 -1
  508. package/dist/solutions-components/{p-d6f68a4e.entry.js → p-a3729795.entry.js} +1 -1
  509. package/dist/solutions-components/{p-56f1d66b.entry.js → p-a47ed290.entry.js} +1 -1
  510. package/dist/solutions-components/{p-10e1ebe4.entry.js → p-a5ef322f.entry.js} +1 -1
  511. package/dist/solutions-components/p-a776b7e6.entry.js +6 -0
  512. package/dist/solutions-components/{p-4d76eaf6.entry.js → p-a97e8d6a.entry.js} +1 -1
  513. package/dist/solutions-components/{p-7262469a.js → p-aaea9203.js} +1 -1
  514. package/dist/solutions-components/{p-f153f1c9.entry.js → p-ad1d56b1.entry.js} +1 -1
  515. package/dist/solutions-components/{p-3948a96c.js → p-adeb0e8f.js} +1 -1
  516. package/dist/solutions-components/{p-446ab7f8.entry.js → p-af63959a.entry.js} +1 -1
  517. package/dist/solutions-components/{p-46e0ce0c.entry.js → p-b1125581.entry.js} +2 -2
  518. package/dist/solutions-components/{p-ebbff02e.js → p-b20a31c8.js} +1 -1
  519. package/dist/solutions-components/{p-7b2314ac.js → p-b81131b3.js} +1 -1
  520. package/dist/solutions-components/p-b892e595.entry.js +6 -0
  521. package/dist/solutions-components/{p-cc2393c3.entry.js → p-b89c5865.entry.js} +1 -1
  522. package/dist/solutions-components/{p-5958dad9.js → p-b9b52743.js} +1 -1
  523. package/dist/solutions-components/{p-5eaaf6ea.entry.js → p-ba99e562.entry.js} +1 -1
  524. package/dist/solutions-components/{p-0b8463d6.js → p-bc548c06.js} +1 -1
  525. package/dist/solutions-components/{p-bde323ec.js → p-bccbdeb5.js} +1 -1
  526. package/dist/solutions-components/{p-c968f9aa.entry.js → p-bd318e33.entry.js} +1 -1
  527. package/dist/solutions-components/{p-8927339d.js → p-bd766e49.js} +1 -1
  528. package/dist/solutions-components/{p-651459e2.entry.js → p-be36d5ed.entry.js} +2 -2
  529. package/dist/solutions-components/{p-c3ab7439.js → p-bfc78840.js} +1 -1
  530. package/dist/solutions-components/{p-452850b4.entry.js → p-c073d2d6.entry.js} +1 -1
  531. package/dist/solutions-components/{p-1dbaff04.entry.js → p-c644edf5.entry.js} +1 -1
  532. package/dist/solutions-components/p-c6b7e7ff.js +11 -0
  533. package/dist/solutions-components/{p-8b74f5bb.entry.js → p-ca0b3a2b.entry.js} +1 -1
  534. package/dist/solutions-components/{p-2c0dc7b1.js → p-cc462e38.js} +1 -1
  535. package/dist/solutions-components/{p-667e7134.entry.js → p-cfd88a2f.entry.js} +1 -1
  536. package/dist/solutions-components/{p-73220ff1.js → p-d5228aed.js} +1 -1
  537. package/dist/solutions-components/{p-476e5302.js → p-d74e95e5.js} +1 -1
  538. package/dist/solutions-components/{p-ea285144.js → p-d98caa4c.js} +1 -1
  539. package/dist/solutions-components/{p-a46f1b45.js → p-dd9c065e.js} +1 -1
  540. package/dist/solutions-components/{p-05b2bdf9.js → p-dedc167c.js} +1 -1
  541. package/dist/solutions-components/{p-a16feeec.js → p-e4f9b782.js} +1 -1
  542. package/dist/solutions-components/{p-8af52074.entry.js → p-e572a692.entry.js} +1 -1
  543. package/dist/solutions-components/{p-89504313.entry.js → p-e5dda947.entry.js} +1 -1
  544. package/dist/solutions-components/{p-8d00a17e.js → p-e7fbf2fe.js} +1 -1
  545. package/dist/solutions-components/{p-470a9ec4.entry.js → p-e9ba0c7f.entry.js} +1 -1
  546. package/dist/solutions-components/{p-28d2670f.entry.js → p-eb58da32.entry.js} +1 -1
  547. package/dist/solutions-components/{p-168a7d63.js → p-eb60ec2a.js} +1 -1
  548. package/dist/solutions-components/p-ecc95259.js +20 -0
  549. package/dist/solutions-components/{p-e2eb4fd3.entry.js → p-ee144348.entry.js} +1 -1
  550. package/dist/solutions-components/{p-6be3c411.js → p-f03bed0c.js} +1 -1
  551. package/dist/solutions-components/{p-b28b6d40.js → p-f5028a8e.js} +1 -1
  552. package/dist/solutions-components/{p-a1c6db13.entry.js → p-f50cf603.entry.js} +1 -1
  553. package/dist/solutions-components/{p-c70392c4.entry.js → p-f524cc5b.entry.js} +1 -1
  554. package/dist/solutions-components/{p-81814234.entry.js → p-f6b19af7.entry.js} +1 -1
  555. package/dist/solutions-components/{p-f7b520ae.js → p-f7d8b6b3.js} +1 -1
  556. package/dist/solutions-components/{p-6eb4ba8f.js → p-f9166fcb.js} +3 -3
  557. package/dist/solutions-components/{p-17a29fa6.entry.js → p-fb0f2016.entry.js} +1 -1
  558. package/dist/solutions-components/p-fb74e4a9.js +11 -0
  559. package/dist/solutions-components/solutions-components.esm.js +1 -1
  560. package/dist/solutions-components/utils/downloadUtils.ts +257 -85
  561. package/dist/solutions-components/utils/interfaces.ts +0 -5
  562. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +2 -0
  563. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +29 -1
  564. package/dist/types/components/layer-table/layer-table.d.ts +42 -26
  565. package/dist/types/components/map-fullscreen/map-fullscreen.d.ts +71 -0
  566. package/dist/types/components/map-tools/map-tools.d.ts +15 -7
  567. package/dist/types/components/pdf-download/pdf-download.d.ts +5 -3
  568. package/dist/types/components.d.ts +67 -12
  569. package/dist/types/preact.d.ts +3 -3
  570. package/dist/types/utils/downloadUtils.d.ts +34 -16
  571. package/dist/types/utils/interfaces.d.ts +0 -4
  572. package/package.json +8 -9
  573. package/dist/cjs/calcite-action-bar.cjs.entry.js +0 -250
  574. package/dist/esm/calcite-action-bar.entry.js +0 -246
  575. package/dist/solutions-components/p-072155f9.js +0 -12
  576. package/dist/solutions-components/p-0dd8368d.entry.js +0 -6
  577. package/dist/solutions-components/p-18538cd9.entry.js +0 -11
  578. package/dist/solutions-components/p-46352a57.entry.js +0 -6
  579. package/dist/solutions-components/p-4f9f97b2.entry.js +0 -37
  580. package/dist/solutions-components/p-868df4a0.js +0 -21
  581. package/dist/solutions-components/p-869d4521.entry.js +0 -6
  582. package/dist/solutions-components/p-90cef98d.entry.js +0 -6
  583. package/dist/solutions-components/p-9310b882.js +0 -7
  584. package/dist/solutions-components/p-99891e57.js +0 -11
  585. package/dist/solutions-components/p-9eba78eb.entry.js +0 -6
  586. package/dist/solutions-components/p-c26cd409.entry.js +0 -6
  587. package/dist/solutions-components/p-d4cb29ed.entry.js +0 -6
  588. package/dist/solutions-components/p-fb7ca639.entry.js +0 -6
  589. package/dist/solutions-components/p-fe96e0d9.entry.js +0 -23
@@ -21,9 +21,20 @@ import { ILabel, exportPDF } from "./pdfUtils";
21
21
  import { loadModules } from "./loadModules";
22
22
  import { queryFeaturesByID } from "./queryUtils";
23
23
  import { IExportInfo, IExportInfos } from "../utils/interfaces";
24
+ //import * as common from "@esri/solution-common";
24
25
 
25
26
  export { ILabel } from "./pdfUtils";
26
27
 
28
+ /*
29
+ interface IArcadeExecutors {
30
+ [expressionName: string]: __esri.ArcadeExecutor;
31
+ }
32
+
33
+ interface IArcadeExecutorPromises {
34
+ [expressionName: string]: Promise<__esri.ArcadeExecutor>;
35
+ }
36
+ */
37
+
27
38
  export interface IAttributeOrigNames {
28
39
  [lowercaseName: string]: string;
29
40
  }
@@ -45,6 +56,13 @@ export interface ILabelFormat {
45
56
  format: string | __esri.ArcadeExecutor | undefined;
46
57
  }
47
58
 
59
+ export interface ILabelFormatProps {
60
+ layer: __esri.FeatureLayer;
61
+ attributeFormats: IAttributeFormats;
62
+ relationshipId: number | undefined;
63
+ labelFormat: ILabelFormat;
64
+ }
65
+
48
66
  export interface ILayerRelationshipQuery {
49
67
  layer: __esri.FeatureLayer;
50
68
  relatedQuery: IRelatedFeaturesQuery;
@@ -66,6 +84,34 @@ interface IRelatedFeaturesQuery {
66
84
 
67
85
  const lineSeparatorChar = "|";
68
86
 
87
+ import {
88
+ IFeature,
89
+ IQueryRelatedOptions,
90
+ IQueryRelatedResponse,
91
+ IRelatedRecordGroup,
92
+ queryRelated
93
+ } from "@esri/arcgis-rest-feature-layer";
94
+ /**
95
+ * Get the related records for a feature service.
96
+ *
97
+ * @param url Feature service's URL, e.g., layer.url
98
+ * @param relationshipId Id of relationship
99
+ * @param objectIds Objects in the feature service whose related records are sought
100
+ */
101
+ export function getFeatureServiceRelatedRecords(
102
+ url: string,
103
+ relationshipId?: number,
104
+ objectIds?: number[]
105
+ ): Promise<IQueryRelatedResponse> {
106
+ const options: IQueryRelatedOptions = {
107
+ url: url + `/${relationshipId}`,
108
+ relationshipId,
109
+ objectIds
110
+ }
111
+
112
+ return queryRelated(options);
113
+ }
114
+
69
115
  //#endregion
70
116
  // ------------------------------------------------------------------------------------------------------------------ //
71
117
  //#region Public functions
@@ -73,6 +119,7 @@ const lineSeparatorChar = "|";
73
119
  /**
74
120
  * Create and consolidate labels from all layers
75
121
  *
122
+ * @param webmap Webmap containing layer
76
123
  * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
77
124
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
78
125
  * all attributes are exported
@@ -80,6 +127,7 @@ const lineSeparatorChar = "|";
80
127
  * @returns selectionSetNames that will be used for export filenames
81
128
  */
82
129
  export async function consolidateLabels(
130
+ webmap: __esri.Map,
83
131
  exportInfos: IExportInfos,
84
132
  formatUsingLayerPopup = true,
85
133
  includeHeaderNames = false,
@@ -89,7 +137,9 @@ export async function consolidateLabels(
89
137
 
90
138
  Object.keys(exportInfos).forEach(k => {
91
139
  const labelInfo: IExportInfo = exportInfos[k];
92
- labelRequests.push(_prepareLabels(labelInfo.layerView?.layer || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
140
+ labelRequests.push(
141
+ _prepareLabels(webmap, labelInfo.layerView?.layer || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames)
142
+ );
93
143
  if (isCSVExport) {
94
144
  // add the layer id as a temp value separator that we can use to split values for CSV export
95
145
  labelRequests.push(Promise.resolve([[k]]));
@@ -103,6 +153,7 @@ export async function consolidateLabels(
103
153
  /**
104
154
  * Downloads csv of mailing labels for the provided list of ids
105
155
  *
156
+ * @param webmap Webmap containing layer
106
157
  * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
107
158
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
108
159
  * all attributes are exported
@@ -111,12 +162,13 @@ export async function consolidateLabels(
111
162
  * @returns Promise resolving when function is done
112
163
  */
113
164
  export async function downloadCSV(
165
+ webmap: __esri.Map,
114
166
  exportInfos: IExportInfos,
115
167
  formatUsingLayerPopup: boolean,
116
168
  removeDuplicates = false,
117
169
  addColumnTitle = false
118
170
  ): Promise<void> {
119
- let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
171
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true);
120
172
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
121
173
 
122
174
  const layerIds = Object.keys(exportInfos);
@@ -142,6 +194,7 @@ export async function downloadCSV(
142
194
  /**
143
195
  * Downloads csv of mailing labels for the provided list of ids
144
196
  *
197
+ * @param webmap Webmap containing layer
145
198
  * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
146
199
  * @param labelPageDescription Provides PDF page layout info
147
200
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
@@ -150,13 +203,14 @@ export async function downloadCSV(
150
203
  * @returns Promise resolving when function is done
151
204
  */
152
205
  export async function downloadPDF(
206
+ webmap: __esri.Map,
153
207
  exportInfos: IExportInfos,
154
208
  labelPageDescription: ILabel,
155
209
  removeDuplicates = false,
156
210
  title = "",
157
211
  initialImageDataUrl = ""
158
212
  ): Promise<void> {
159
- let labels = await consolidateLabels(exportInfos);
213
+ let labels = await consolidateLabels(webmap, exportInfos);
160
214
  const selectionSetNames = _getSelectionSetNames(exportInfos);
161
215
 
162
216
  labels =
@@ -322,6 +376,88 @@ export async function _convertPopupArcadeToLabelSpec(
322
376
  } as ILabelFormat);
323
377
  }
324
378
 
379
+ /**
380
+ * Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
381
+ * referenced expression name.
382
+ *
383
+ * @param labelFormat Label to examine
384
+ * @param layer Layer from which to fetch features
385
+ * @return Promise resolving to a set of executors keyed using the expression name
386
+ */
387
+ /*
388
+ async function _createArcadeExecutors(
389
+ labelFormat: string,
390
+ layer: __esri.FeatureLayer
391
+ ): Promise<IArcadeExecutors> {
392
+ const arcadeExecutors: IArcadeExecutors = {};
393
+
394
+ // Are any Arcade expressions in the layer?
395
+ if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
396
+ return Promise.resolve(arcadeExecutors);
397
+ }
398
+
399
+ // Are there any Arcade expressions in the label format?
400
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
401
+ const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
402
+ if (!arcadeExpressionsMatches) {
403
+ return Promise.resolve(arcadeExecutors);
404
+ }
405
+
406
+ // Generate an Arcade executor for each match
407
+ const [arcade] = await loadModules(["esri/arcade"]);
408
+ const labelingProfile: __esri.Profile = {
409
+ variables: [
410
+ {
411
+ name: "$feature",
412
+ type: "feature"
413
+ },
414
+ {
415
+ name: "$layer",
416
+ type: "featureSet"
417
+ },
418
+ {
419
+ name: "$datastore",
420
+ type: "featureSetCollection"
421
+ },
422
+ {
423
+ name: "$map",
424
+ type: "featureSetCollection"
425
+ }
426
+ ]
427
+ };
428
+
429
+ const createArcadeExecutorPromises: IArcadeExecutorPromises = {};
430
+ arcadeExpressionsMatches.forEach(
431
+ (match: string) => {
432
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
433
+
434
+ (layer.popupTemplate.expressionInfos || []).forEach(
435
+ expressionInfo => {
436
+ if (expressionInfo.name === expressionName) {
437
+ createArcadeExecutorPromises[expressionName] =
438
+ arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
439
+ }
440
+ }
441
+ );
442
+ }
443
+ );
444
+
445
+ const promises = Object.values(createArcadeExecutorPromises);
446
+ return Promise.all(promises)
447
+ .then(
448
+ executors => {
449
+ const expressionNames = Object.keys(createArcadeExecutorPromises);
450
+
451
+ for (let i = 0; i < expressionNames.length; ++i) {
452
+ arcadeExecutors[expressionNames[i]] = executors[i].valueOf() as __esri.ArcadeExecutor;
453
+ }
454
+
455
+ return arcadeExecutors;
456
+ }
457
+ );
458
+ }
459
+ */
460
+
325
461
  /**
326
462
  * Creates a title from a list of selection set names.
327
463
  *
@@ -337,44 +473,6 @@ export function _createFilename(
337
473
  return title;
338
474
  }
339
475
 
340
- /**
341
- * Creates relationship queries for each relationship flag in a popup.
342
- * @param layer Layer whose popup is to be examined
343
- * @return Hash of relationships by their id, or null if there are no relationship flags in the
344
- * popup; each relationship has the properties layer and relatedQuery for the related layer
345
- * and the query for that layer
346
- */
347
- export function _createRelationshipQueries(
348
- layer: __esri.FeatureLayer,
349
- ): ILayerRelationshipQueryHash {
350
-
351
- const relationships: ILayerRelationshipQueryHash = {};
352
- const relationshipFieldPattern = /\{relationships\/\d+\//gm;
353
- const relationshipIdPattern = /\d+/;
354
-
355
- // Test if this popup has any relationship references
356
- const matches = layer.popupTemplate.content[0].text.match(relationshipFieldPattern);
357
- if (matches) {
358
- matches.forEach(match => {
359
- // Add a query to a found relationship if we don't already have one
360
- const id = match.match(relationshipIdPattern)[0];
361
- if (!relationships.hasOwnProperty(id)) {
362
- const relatedQuery: IRelatedFeaturesQuery = {
363
- outFields: ['*'],
364
- relationshipId: id,
365
- returnGeometry: false
366
- };
367
- relationships[id] = {
368
- layer,
369
- relatedQuery
370
- } as ILayerRelationshipQuery;
371
- }
372
- });
373
- }
374
-
375
- return relationships;
376
- }
377
-
378
476
  /**
379
477
  * Extracts Arcade expression references from the lines of a label format.
380
478
  *
@@ -435,22 +533,26 @@ export function _getFieldNamesFromFieldExpressions(
435
533
  /**
436
534
  * Extracts the label format from the layer.
437
535
  *
536
+ * @param webmap Webmap containing layer
438
537
  * @param layer Layer with label format
439
538
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
440
539
  * all attributes are exported
441
- * @param attributeFormats Empty object to hold the formats for each attribute in a feature; the object is filled
442
- * with formats by this function
443
540
  * @returns A Promise resolving to the format of a single label with fields coerced to lowercase, e.g.,
444
- * for ILabelFormat type "pattern": "{name}|{street}|{city}, {state} {zip}"
541
+ * for ILabelFormatProps type "pattern": "{name}|{street}|{city}, {state} {zip}"
445
542
  */
446
543
  export async function _getLabelFormat(
544
+ webmap: __esri.Map,
447
545
  layer: __esri.FeatureLayer,
448
- formatUsingLayerPopup: boolean,
449
- attributeFormats: IAttributeFormats
450
- ): Promise<ILabelFormat> {
451
- let labelFormat: ILabelFormat = {
452
- type: "unsupported",
453
- format: undefined
546
+ formatUsingLayerPopup: boolean
547
+ ): Promise<ILabelFormatProps> {
548
+ let labelFormatProps: ILabelFormatProps = {
549
+ layer,
550
+ attributeFormats: {},
551
+ relationshipId: undefined,
552
+ labelFormat: {
553
+ type: "unsupported",
554
+ format: undefined
555
+ }
454
556
  };
455
557
 
456
558
  if (layer.popupEnabled) {
@@ -458,37 +560,59 @@ export async function _getLabelFormat(
458
560
  // Extract any format info that we have
459
561
  fieldInfo => {
460
562
  if (fieldInfo.format) {
461
- attributeFormats[fieldInfo.fieldName.toLowerCase()] = fieldInfo.format;
563
+ labelFormatProps.attributeFormats[fieldInfo.fieldName.toLowerCase()] = fieldInfo.format;
462
564
  }
463
565
  }
464
566
  );
465
567
 
466
568
  // What is the nature of the label content?
569
+
467
570
  // Fields list
468
- if (formatUsingLayerPopup && layer.popupTemplate?.content[0]?.type === "fields") {
469
- labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
470
-
471
- // If popup is configured with "no attribute information", then no fields will visible
472
- if ((labelFormat.format as string).length === 0) {
473
- // Can we use the popup title?
474
- labelFormat = layer.popupTemplate.title && typeof layer.popupTemplate.title === "string" ?
475
- { type: "pattern", format: layer.popupTemplate.title } as ILabelFormat
476
- :
477
- // Otherwise revert to using attributes
478
- _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
479
- }
571
+ if (formatUsingLayerPopup) {
572
+ const labelFormatType = layer.popupTemplate?.content[0]?.type;
573
+
574
+ if (labelFormatType === "relationship") {
575
+ const relationshipId = layer.popupTemplate.content[0].relationshipId;
576
+
577
+ const webmapLayers = webmap.layers.toArray().concat(webmap.tables.toArray())
578
+ .filter((entry: __esri.FeatureLayer) =>
579
+ entry.type === "feature"
580
+ && entry.id !== layer.id
581
+ && entry.relationships
582
+ && entry.relationships.some(relationship => relationship.id === relationshipId));
583
+
584
+ labelFormatProps = await _getLabelFormat(webmap, webmapLayers[0] as __esri.FeatureLayer, formatUsingLayerPopup);
585
+ labelFormatProps.relationshipId = relationshipId;
586
+
587
+ } else if (labelFormatType === "fields") {
588
+ labelFormatProps.labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
589
+
590
+ // If popup is configured with "no attribute information", then no fields will visible
591
+ if ((labelFormatProps.labelFormat.format as string).length === 0) {
592
+ // Can we use the popup title?
593
+ labelFormatProps.labelFormat = layer.popupTemplate.title && typeof layer.popupTemplate.title === "string" ?
594
+ { type: "pattern", format: layer.popupTemplate.title } as ILabelFormat
595
+ :
596
+ // Otherwise revert to using attributes
597
+ _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
598
+ }
599
+
600
+ // Example text: '<p>{name} {age} years &nbsp;</p><p>started: {start}</p>'
601
+ } else if (labelFormatType === "text") {
602
+ labelFormatProps.labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
480
603
 
481
- // Example text: '<p>{name} {age} years &nbsp;</p><p>started: {start}</p>'
482
- } else if (formatUsingLayerPopup && layer.popupTemplate?.content[0]?.type === "text") {
483
- labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
604
+ // Example expression: 'var feat = $feature\nvar label = `\n\t${feat["name"]} ${feat["age"]} years <br>\n\tstarted: ${feat["start"]}\n`\n\nreturn { \n type : \'text\', \n text : label\n}',
605
+ } else if (labelFormatType === "expression") {
606
+ labelFormatProps.labelFormat = await _convertPopupArcadeToLabelSpec(layer.popupTemplate.content[0].expressionInfo);
484
607
 
485
- // Example expression: 'var feat = $feature\nvar label = `\n\t${feat["name"]} ${feat["age"]} years <br>\n\tstarted: ${feat["start"]}\n`\n\nreturn { \n type : \'text\', \n text : label\n}',
486
- } else if (formatUsingLayerPopup && layer.popupTemplate?.content[0]?.type === "expression") {
487
- labelFormat = await _convertPopupArcadeToLabelSpec(layer.popupTemplate.content[0].expressionInfo);
608
+ // Fallback to all fields
609
+ } else {
610
+ labelFormatProps.labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
611
+ }
488
612
  }
489
613
  }
490
614
 
491
- return Promise.resolve(labelFormat);
615
+ return Promise.resolve(labelFormatProps);
492
616
  }
493
617
 
494
618
  /**
@@ -573,6 +697,7 @@ export function _prepareAttributeValue(
573
697
  /**
574
698
  * Creates labels from items.
575
699
  *
700
+ * @param webmap Webmap containing layer
576
701
  * @param layer Layer from which to fetch features
577
702
  * @param ids List of ids to download
578
703
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
@@ -581,19 +706,49 @@ export function _prepareAttributeValue(
581
706
  * @returns Promise resolving when function is done
582
707
  */
583
708
  export async function _prepareLabels(
709
+ webmap: __esri.Map,
584
710
  layer: __esri.FeatureLayer,
585
711
  ids: number[],
586
712
  formatUsingLayerPopup = true,
587
713
  includeHeaderNames = false
588
714
  ): Promise<string[][]> {
589
- // Get the features to export
590
- const featureSet = await queryFeaturesByID(ids, layer, [], false);
715
+ // Get the label formatting, if any
716
+ const labelFormatProps: ILabelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
717
+
718
+ // Because the label may actually come from a related layer, we'll use the layer that comes back from _getLabelFormat.
719
+ // That function returns the supplied layer in all cases except for a "relationship" type of popup.
720
+ const featureLayer = labelFormatProps.layer;
721
+
722
+ let featureSet: __esri.Graphic[] = [];
723
+ if (typeof(labelFormatProps.relationshipId) !== "undefined") {
724
+ // Get the related items for each id
725
+ const relatedRecResponse = await getFeatureServiceRelatedRecords(layer.url, labelFormatProps.relationshipId, ids);
726
+
727
+ const objectIdField = layer.objectIdField;
728
+ let relatedFeatureIds: number[] = [];
729
+ relatedRecResponse.relatedRecordGroups.forEach(
730
+ (relatedRecGroup: IRelatedRecordGroup) => {
731
+ relatedFeatureIds = relatedFeatureIds.concat(relatedRecGroup.relatedRecords.map((rec: IFeature) => rec.attributes[objectIdField]));
732
+ }
733
+ );
734
+
735
+ // Remove duplicates
736
+ relatedFeatureIds.sort();
737
+ relatedFeatureIds = relatedFeatureIds.filter((id, i) => i === 0 ? true : id !== relatedFeatureIds[i-1]);
738
+
739
+ // Get the full items
740
+ featureSet = await queryFeaturesByID(relatedFeatureIds, featureLayer, [], false);
741
+
742
+ } else {
743
+ // Get the features to export
744
+ featureSet = await queryFeaturesByID(ids, featureLayer, [], false);
745
+ }
591
746
 
592
747
  // Get field data types. Do we have any domain-based fields?
593
748
  const attributeOrigNames: IAttributeOrigNames = {};
594
749
  const attributeTypes: IAttributeTypes = {};
595
750
  const attributeDomains: IAttributeDomains = {};
596
- layer.fields.forEach(
751
+ featureLayer.fields.forEach(
597
752
  field => {
598
753
  const lowercaseFieldname = field.name.toLowerCase();
599
754
  attributeOrigNames[lowercaseFieldname] = field.name;
@@ -601,22 +756,21 @@ export async function _prepareLabels(
601
756
  attributeTypes[lowercaseFieldname] = field.type;
602
757
  }
603
758
  );
604
- const attributeFormats: IAttributeFormats = {};
605
-
606
- // Get the label formatting, if any
607
- const labelFormat: ILabelFormat = await _getLabelFormat(layer, formatUsingLayerPopup, attributeFormats);
608
759
 
609
760
  // Apply the label format
610
- const labels = labelFormat.type === "unsupported" ?
611
- // Export all attributes
612
- await _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomains, includeHeaderNames)
613
- : labelFormat.type == "pattern" ?
761
+ const labels
762
+ = labelFormatProps.labelFormat.type === "pattern" ?
614
763
  // Export attributes in format
615
- await _prepareLabelsFromPattern(featureSet, attributeOrigNames, attributeTypes, attributeDomains,
616
- attributeFormats, labelFormat.format as string, includeHeaderNames)
617
- :
764
+ await _prepareLabelsFromPattern(/*layer,*/ featureSet, attributeOrigNames, attributeTypes, attributeDomains,
765
+ labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format as string, includeHeaderNames)
766
+
767
+ : labelFormatProps.labelFormat.type === "executor" ?
618
768
  // Export attributes in expression
619
- await _prepareLabelsUsingExecutor(featureSet, labelFormat.format as __esri.ArcadeExecutor);
769
+ await _prepareLabelsUsingExecutor(featureSet, labelFormatProps.labelFormat.format as __esri.ArcadeExecutor)
770
+
771
+ :
772
+ // Export all attributes
773
+ await _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomains, includeHeaderNames);
620
774
 
621
775
  return Promise.resolve(labels);
622
776
  }
@@ -678,6 +832,7 @@ export async function _prepareLabelsFromAll(
678
832
  * @returns Promise resolving with list of labels, each of which is a list of label lines
679
833
  */
680
834
  export async function _prepareLabelsFromPattern(
835
+ //layer: __esri.FeatureLayer,
681
836
  featureSet: __esri.Graphic[],
682
837
  attributeOrigNames: IAttributeOrigNames,
683
838
  attributeTypes: IAttributeTypes,
@@ -692,11 +847,28 @@ export async function _prepareLabelsFromPattern(
692
847
  const attributeExpressionMatches = _getFieldExpressionsFromLabel(labelFormat);
693
848
  const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
694
849
 
850
+ // Do we need any Arcade executors?
851
+ //const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
852
+ //const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
853
+
854
+ // Find the label fields that we need to replace with values
855
+ //const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
856
+
695
857
  // Convert feature attributes into an array of labels
696
858
  const labels = await Promise.all(featureSet.map(
697
859
  async feature => {
698
860
  let labelPrep = labelFormat;
699
861
 
862
+ /*
863
+ // Replace Arcade expressions in this feature
864
+ for (let i = 0; i < arcadeExpressionMatches.length; i++) {
865
+ const match: string = arcadeExpressionMatches[i];
866
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
867
+ const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer", layer});
868
+ labelPrep = labelPrep.replace(match, value);
869
+ }
870
+ */
871
+
700
872
  // Replace non-Arcade fields in this feature
701
873
  attributeNames.forEach(
702
874
  (attributeName: string, i: number) => {
@@ -60,11 +60,6 @@ export enum ESelectionType {
60
60
  RECT="RECT"
61
61
  }
62
62
 
63
- export enum EExpandType {
64
- EXPAND="EXPAND",
65
- COLLAPSE="COLLAPSE"
66
- }
67
-
68
63
  export enum EWorkflowType {
69
64
  SEARCH="SEARCH",
70
65
  SELECT="SELECT",
@@ -555,6 +555,7 @@ describe("downloadUtils", () => {
555
555
 
556
556
  });
557
557
 
558
+ /*
558
559
  describe('_getLabelFormat', () => {
559
560
 
560
561
  it('should prepare labels from visible popup fields', async () => {
@@ -841,6 +842,7 @@ describe("downloadUtils", () => {
841
842
  });
842
843
 
843
844
  });
845
+ */
844
846
 
845
847
  describe('_getSelectionSetNames', () => {
846
848
 
@@ -16,13 +16,21 @@
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { VNode } from "../../stencil-public-runtime";
18
18
  import CrowdsourceManager_T9n from "../../assets/t9n/crowdsource-manager/resources.json";
19
- import { ELayoutMode, IMapInfo, ISearchConfiguration } from "../../utils/interfaces";
19
+ import { ELayoutMode, IMapChange, IMapInfo, ISearchConfiguration } from "../../utils/interfaces";
20
20
  export declare class CrowdsourceManager {
21
21
  el: HTMLCrowdsourceManagerElement;
22
22
  /**
23
23
  * boolean: when true the grid will display like the previous manager app with the table across the top
24
24
  */
25
25
  classicGrid: boolean;
26
+ /**
27
+ * boolean: when true the layer table will auto refresh the data
28
+ */
29
+ enableAutoRefresh: boolean;
30
+ /**
31
+ * boolean: when true edits can be applied directly within the table
32
+ */
33
+ enableInlineEdit: boolean;
26
34
  /**
27
35
  * boolean: when true the table will be sorted by objectid in descending order by default
28
36
  */
@@ -64,10 +72,19 @@ export declare class CrowdsourceManager {
64
72
  * Controls the layout of the application
65
73
  */
66
74
  _panelOpen: boolean;
75
+ /**
76
+ * IMapChange: The current map change details
77
+ */
78
+ protected _mapChange: IMapChange;
67
79
  /**
68
80
  * IMapInfo: The current map info stores configuration details
69
81
  */
70
82
  protected _mapInfo: IMapInfo;
83
+ /**
84
+ * boolean: When true the map view will be set after render due to popup obstructing the view
85
+ * MapView.when is not fired when mapView is not currently visible
86
+ */
87
+ protected _shouldSetMapView: boolean;
71
88
  /**
72
89
  * Listen for layoutChanged event to be fired so we can adjust the layout
73
90
  */
@@ -86,6 +103,11 @@ export declare class CrowdsourceManager {
86
103
  * Renders the component.
87
104
  */
88
105
  render(): any;
106
+ /**
107
+ * Called after each render
108
+ * Used to delay the setting of the mapView when the popup is expaneded and obstructs the view
109
+ */
110
+ componentDidRender(): void;
89
111
  /**
90
112
  * Get the icon name to use for the divider icon based on the current layout
91
113
  *
@@ -196,6 +218,12 @@ export declare class CrowdsourceManager {
196
218
  * @protected
197
219
  */
198
220
  protected _getMapInfo(id: string): IMapInfo;
221
+ /**
222
+ * Set the current map info when maps change
223
+ *
224
+ * @protected
225
+ */
226
+ protected _setMapView(): void;
199
227
  /**
200
228
  * Fetches the component's translations
201
229
  *