@esri/solutions-components 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/dist/cjs/{ExpandToggle-e6a0d66e.js → ExpandToggle-70890ae0.js} +4 -4
  2. package/dist/cjs/{FloatingArrow-0119ec6e.js → FloatingArrow-4ca06439.js} +1 -1
  3. package/dist/cjs/{Heading-521f39ac.js → Heading-c5c71fc5.js} +1 -1
  4. package/dist/cjs/{app-globals-72576a1c.js → app-globals-a34c0991.js} +20 -25
  5. package/dist/cjs/{ar-1718ae57.js → ar-fa16156d.js} +15 -15
  6. package/dist/cjs/{bg-190a176c.js → bg-b39e773e.js} +15 -15
  7. package/dist/cjs/{bs-919e0de8.js → bs-4579ea2a.js} +15 -15
  8. package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
  9. package/dist/cjs/{ca-94918e06.js → ca-f3f64686.js} +15 -15
  10. package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
  11. package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
  12. package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
  13. package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
  14. package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
  15. package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
  16. package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
  17. package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
  18. package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
  19. package/dist/cjs/calcite-block.cjs.entry.js +131 -131
  20. package/dist/cjs/calcite-button.cjs.entry.js +182 -182
  21. package/dist/cjs/calcite-card.cjs.entry.js +99 -99
  22. package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
  23. package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
  24. package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
  25. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
  26. package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
  27. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
  28. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
  29. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
  30. package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
  31. package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
  32. package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
  33. package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
  34. package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
  35. package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
  36. package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
  37. package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
  38. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
  39. package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
  40. package/dist/cjs/{calcite-input-time-picker-b99baf7b.js → calcite-input-time-picker-6f38ef8c.js} +534 -534
  41. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
  42. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
  43. package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
  44. package/dist/cjs/calcite-label.cjs.entry.js +40 -40
  45. package/dist/cjs/calcite-link.cjs.entry.js +96 -96
  46. package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
  47. package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
  48. package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
  49. package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
  50. package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
  51. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
  52. package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
  53. package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
  54. package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
  55. package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
  56. package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
  57. package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
  58. package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
  59. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
  60. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
  61. package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
  62. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
  63. package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
  64. package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
  65. package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
  66. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
  67. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
  68. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
  69. package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
  70. package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
  71. package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
  72. package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
  73. package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
  74. package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
  75. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
  76. package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
  77. package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
  78. package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
  79. package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
  80. package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
  81. package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
  82. package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
  83. package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
  84. package/dist/cjs/card-manager_4.cjs.entry.js +652 -652
  85. package/dist/cjs/{conditionalSlot-85b3a6b3.js → conditionalSlot-a51326e7.js} +2 -2
  86. package/dist/cjs/crowdsource-manager.cjs.entry.js +256 -256
  87. package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
  88. package/dist/cjs/{cs-fe27e732.js → cs-1bcd5b46.js} +15 -15
  89. package/dist/cjs/{da-1b7f3440.js → da-30ee21db.js} +15 -15
  90. package/dist/cjs/{date-cec32b0e.js → date-f6611a19.js} +1 -1
  91. package/dist/cjs/{de-0dc1effa.js → de-42aae5ad.js} +15 -15
  92. package/dist/cjs/{de-at-acdc4d01.js → de-at-a3a6f020.js} +15 -15
  93. package/dist/cjs/{de-ch-778a0d99.js → de-ch-36c13310.js} +15 -15
  94. package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
  95. package/dist/cjs/{dom-c1807fc1.js → dom-d529bae8.js} +2 -2
  96. package/dist/cjs/{downloadUtils-a8c530f7.js → downloadUtils-6eb59363.js} +660 -660
  97. package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
  98. package/dist/cjs/{el-fdbc9bc1.js → el-90d066ae.js} +15 -15
  99. package/dist/cjs/{en-au-0ff50cdf.js → en-au-685b882b.js} +15 -15
  100. package/dist/cjs/{en-ca-284e9368.js → en-ca-ff4bc403.js} +15 -15
  101. package/dist/cjs/{en-gb-0fcae8ae.js → en-gb-2f5587ad.js} +15 -15
  102. package/dist/cjs/{es-cd54acba.js → es-e9183ca0.js} +15 -15
  103. package/dist/cjs/{es-mx-2078d50f.js → es-mx-dcc9afb2.js} +15 -15
  104. package/dist/cjs/{et-17f323f6.js → et-a18949ea.js} +15 -15
  105. package/dist/cjs/{fi-82f27397.js → fi-1ce00d38.js} +15 -15
  106. package/dist/cjs/{filter-bda212b4.js → filter-494bf35e.js} +1 -1
  107. package/dist/cjs/{floating-ui-8d10af88.js → floating-ui-7d6e57d3.js} +2 -2
  108. package/dist/cjs/{focusTrapComponent-a22fc6a8.js → focusTrapComponent-0c4d7671.js} +1 -1
  109. package/dist/cjs/{form-9d8ebf06.js → form-bcf49eae.js} +2 -2
  110. package/dist/cjs/{fr-af7e1192.js → fr-a9435a19.js} +15 -15
  111. package/dist/cjs/{fr-ch-5e1f2c28.js → fr-ch-51efa9bf.js} +15 -15
  112. package/dist/cjs/{he-ea851800.js → he-c5dccfa2.js} +15 -15
  113. package/dist/cjs/{hi-5212a21d.js → hi-0898e7f2.js} +15 -15
  114. package/dist/cjs/{hr-4eecb2ed.js → hr-68f7d8da.js} +15 -15
  115. package/dist/cjs/{hu-6b527d8e.js → hu-e494037d.js} +15 -15
  116. package/dist/cjs/{id-d78f12ec.js → id-bef40c1c.js} +15 -15
  117. package/dist/cjs/{index-0e50040c.js → index-6654298b.js} +38 -180
  118. package/dist/cjs/{index-2b60e135.js → index-e1b1954f.js} +1 -1
  119. package/dist/cjs/{index.es-4542630e.js → index.es-d9b5d3a5.js} +6 -6
  120. package/dist/cjs/{interfaces-d539e30c.js → interfaces-ad03ec39.js} +77 -77
  121. package/dist/cjs/{it-15242935.js → it-1144ca67.js} +15 -15
  122. package/dist/cjs/{it-ch-9dc21944.js → it-ch-2c14dca7.js} +15 -15
  123. package/dist/cjs/{ja-f702cfc2.js → ja-caad9809.js} +15 -15
  124. package/dist/cjs/{ko-aa9bde2c.js → ko-ddec9054.js} +15 -15
  125. package/dist/cjs/{label-6e33e971.js → label-215c4af3.js} +1 -1
  126. package/dist/cjs/list-item.cjs.entry.js +60 -60
  127. package/dist/cjs/{loadModules-31cab7ac.js → loadModules-ae7715f2.js} +19 -19
  128. package/dist/cjs/{loadable-bac9cdd6.js → loadable-6da743c6.js} +1 -1
  129. package/dist/cjs/loader.cjs.js +13 -4
  130. package/dist/cjs/{locale-c63a1b57.js → locale-477d8d51.js} +3 -3
  131. package/dist/cjs/{locale-d15cd743.js → locale-b113c6b2.js} +107 -107
  132. package/dist/cjs/{lt-e741ff2f.js → lt-205a1aa6.js} +15 -15
  133. package/dist/cjs/{lv-92d6768e.js → lv-3ba82f9b.js} +15 -15
  134. package/dist/cjs/map-picker_2.cjs.entry.js +243 -243
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
  136. package/dist/cjs/{mapViewUtils-9da2dddd.js → mapViewUtils-77a1ff88.js} +384 -384
  137. package/dist/cjs/{mk-b209ac0d.js → mk-069ea86a.js} +15 -15
  138. package/dist/cjs/{nb-db13e666.js → nb-9e9c934f.js} +15 -15
  139. package/dist/cjs/{nl-fcd9e0c5.js → nl-5dd0116f.js} +15 -15
  140. package/dist/cjs/{openCloseComponent-5d70fcd8.js → openCloseComponent-3fa18210.js} +1 -1
  141. package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
  142. package/dist/cjs/{pciUtils-e0ddeb7c.js → pciUtils-423cfc68.js} +836 -836
  143. package/dist/cjs/{pl-87c83322.js → pl-74e70b37.js} +15 -15
  144. package/dist/cjs/{pt-br-03333e90.js → pt-br-0f76e430.js} +15 -15
  145. package/dist/cjs/{pt-b0b5f472.js → pt-cc737fcc.js} +15 -15
  146. package/dist/cjs/public-notification.cjs.entry.js +844 -844
  147. package/dist/cjs/{publicNotificationStore-55edd658.js → publicNotificationStore-ec1bdd2d.js} +40 -40
  148. package/dist/cjs/{ro-c3661b73.js → ro-5e396753.js} +15 -15
  149. package/dist/cjs/{ru-8dd3fd58.js → ru-f7371aca.js} +15 -15
  150. package/dist/cjs/{shared-list-render-c0adb192.js → shared-list-render-76c5dc25.js} +6 -6
  151. package/dist/cjs/{sk-151d9acf.js → sk-ec02498f.js} +15 -15
  152. package/dist/cjs/{sl-9b45a152.js → sl-8363f4d7.js} +15 -15
  153. package/dist/cjs/solution-configuration.cjs.entry.js +888 -888
  154. package/dist/cjs/solution-contents_3.cjs.entry.js +21506 -21506
  155. package/dist/cjs/{solution-store-0004e4e6.js → solution-store-bd956f06.js} +577 -577
  156. package/dist/cjs/solutions-components.cjs.js +4 -4
  157. package/dist/cjs/{sortableComponent-58679f07.js → sortableComponent-8135ea87.js} +1 -1
  158. package/dist/cjs/{sr-186bf15c.js → sr-b0f92cb1.js} +15 -15
  159. package/dist/cjs/store-manager.cjs.entry.js +52 -52
  160. package/dist/cjs/{sv-a93fee0c.js → sv-e2c27fff.js} +15 -15
  161. package/dist/cjs/{t9n-1d032c30.js → t9n-8be30efb.js} +2 -2
  162. package/dist/cjs/{th-41680352.js → th-8a6dc2cc.js} +15 -15
  163. package/dist/cjs/{throttle-aeeb1b4d.js → throttle-8ee74c77.js} +1 -1
  164. package/dist/cjs/{time-5e450ec8.js → time-9004df7e.js} +1 -1
  165. package/dist/cjs/{tr-0bd886d6.js → tr-09137435.js} +15 -15
  166. package/dist/cjs/{uk-4fade133.js → uk-c30401f4.js} +15 -15
  167. package/dist/cjs/{utils-ae9bdd59.js → utils-ed4e5028.js} +1 -1
  168. package/dist/cjs/{utils-acfeed9d.js → utils-fb81c6b3.js} +3 -3
  169. package/dist/cjs/{vi-1c9fe343.js → vi-e069c9e4.js} +15 -15
  170. package/dist/cjs/{zh-cn-28fa1fe1.js → zh-cn-50f223a8.js} +15 -15
  171. package/dist/cjs/{zh-hk-5abf8eb5.js → zh-hk-5498073d.js} +15 -15
  172. package/dist/cjs/{zh-tw-07500357.js → zh-tw-dfdb0ae8.js} +15 -15
  173. package/dist/collection/collection-manifest.json +35 -35
  174. package/dist/collection/components/buffer-tools/buffer-tools.js +476 -481
  175. package/dist/collection/components/card-manager/card-manager.js +197 -199
  176. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +406 -407
  177. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
  178. package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
  179. package/dist/collection/components/edit-card/edit-card.js +300 -302
  180. package/dist/collection/components/info-card/info-card.js +357 -361
  181. package/dist/collection/components/json-editor/json-editor.js +614 -618
  182. package/dist/collection/components/layer-table/layer-table.js +548 -551
  183. package/dist/collection/components/layout-manager/layout-manager.js +135 -136
  184. package/dist/collection/components/list-item/list-item.js +89 -89
  185. package/dist/collection/components/map-card/map-card.js +203 -206
  186. package/dist/collection/components/map-draw-tools/map-draw-tools.js +683 -692
  187. package/dist/collection/components/map-layer-picker/map-layer-picker.js +423 -424
  188. package/dist/collection/components/map-picker/map-picker.js +224 -226
  189. package/dist/collection/components/map-select-tools/map-select-tools.js +1229 -1242
  190. package/dist/collection/components/map-tools/map-tools.js +210 -212
  191. package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
  192. package/dist/collection/components/pdf-download/pdf-download.js +333 -338
  193. package/dist/collection/components/public-notification/public-notification.js +1287 -1295
  194. package/dist/collection/components/refine-selection/refine-selection.js +601 -608
  195. package/dist/collection/components/solution-configuration/solution-configuration.js +735 -739
  196. package/dist/collection/components/solution-contents/solution-contents.js +162 -163
  197. package/dist/collection/components/solution-item/solution-item.js +202 -203
  198. package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
  199. package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
  200. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +199 -200
  201. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
  202. package/dist/collection/components/solution-resource-item/solution-resource-item.js +347 -348
  203. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +510 -515
  204. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
  205. package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
  206. package/dist/collection/components/solution-variables/solution-variables.js +168 -168
  207. package/dist/collection/components/store-manager/store-manager.js +127 -128
  208. package/dist/collection/index.js +1 -1
  209. package/dist/collection/utils/common.js +296 -296
  210. package/dist/collection/utils/csvDownload.js +41 -41
  211. package/dist/collection/utils/csvUtils.js +37 -37
  212. package/dist/collection/utils/downloadUtils.js +530 -530
  213. package/dist/collection/utils/interfaces.js +83 -83
  214. package/dist/collection/utils/languageUtil.js +90 -90
  215. package/dist/collection/utils/loadModules.js +25 -25
  216. package/dist/collection/utils/locale.js +61 -61
  217. package/dist/collection/utils/mapViewUtils.js +240 -240
  218. package/dist/collection/utils/pciUtils.js +842 -842
  219. package/dist/collection/utils/pdfUtils.js +87 -87
  220. package/dist/collection/utils/publicNotificationStore.js +47 -47
  221. package/dist/collection/utils/queryUtils.js +200 -200
  222. package/dist/collection/utils/solution-store.js +584 -584
  223. package/dist/collection/utils/templates.js +346 -346
  224. package/dist/collection/utils/test/mocks/jsApi.js +79 -79
  225. package/dist/collection/utils/test/testUtils.js +123 -123
  226. package/dist/collection/utils/types.js +1 -1
  227. package/dist/components/ExpandToggle.js +1 -1
  228. package/dist/components/action-bar.js +263 -262
  229. package/dist/components/action-group.js +145 -144
  230. package/dist/components/action-menu.js +311 -310
  231. package/dist/components/action.js +186 -185
  232. package/dist/components/alert.js +287 -286
  233. package/dist/components/avatar.js +100 -99
  234. package/dist/components/buffer-tools2.js +264 -263
  235. package/dist/components/button.js +226 -225
  236. package/dist/components/calcite-accordion-item.js +168 -168
  237. package/dist/components/calcite-accordion.js +96 -95
  238. package/dist/components/calcite-action-pad.js +181 -180
  239. package/dist/components/calcite-block-section.js +151 -150
  240. package/dist/components/calcite-block.js +187 -186
  241. package/dist/components/calcite-card.js +133 -132
  242. package/dist/components/calcite-chip-group.js +182 -181
  243. package/dist/components/calcite-color-picker.js +980 -979
  244. package/dist/components/calcite-combobox-item-group.js +53 -52
  245. package/dist/components/calcite-fab.js +105 -104
  246. package/dist/components/calcite-filter.js +1 -1
  247. package/dist/components/calcite-flow-item.js +205 -204
  248. package/dist/components/calcite-flow.js +137 -136
  249. package/dist/components/calcite-inline-editable.js +260 -259
  250. package/dist/components/calcite-input-date-picker.js +704 -703
  251. package/dist/components/calcite-input-time-picker.js +596 -595
  252. package/dist/components/calcite-input-time-zone.js +190 -189
  253. package/dist/components/calcite-label.js +1 -1
  254. package/dist/components/calcite-list-item-group.js +65 -64
  255. package/dist/components/calcite-menu-item.js +297 -297
  256. package/dist/components/calcite-modal.js +329 -328
  257. package/dist/components/calcite-navigation-logo.js +77 -76
  258. package/dist/components/calcite-navigation-user.js +79 -78
  259. package/dist/components/calcite-navigation.js +167 -166
  260. package/dist/components/calcite-option-group.js +43 -42
  261. package/dist/components/calcite-pagination.js +218 -217
  262. package/dist/components/calcite-pick-list-group.js +60 -59
  263. package/dist/components/calcite-pick-list.js +151 -150
  264. package/dist/components/calcite-radio-button-group.js +142 -141
  265. package/dist/components/calcite-radio-button.js +317 -316
  266. package/dist/components/calcite-rating.js +280 -279
  267. package/dist/components/calcite-shell-center-row.js +58 -57
  268. package/dist/components/calcite-sortable-list.js +154 -153
  269. package/dist/components/calcite-split-button.js +143 -142
  270. package/dist/components/calcite-stack.js +1 -1
  271. package/dist/components/calcite-stepper-item.js +226 -225
  272. package/dist/components/calcite-stepper.js +213 -212
  273. package/dist/components/calcite-text-area.js +267 -266
  274. package/dist/components/calcite-tile-select-group.js +45 -44
  275. package/dist/components/calcite-tile-select.js +224 -223
  276. package/dist/components/calcite-tip-group.js +28 -27
  277. package/dist/components/calcite-tip-manager.js +223 -222
  278. package/dist/components/calcite-tip.js +127 -126
  279. package/dist/components/card-manager2.js +156 -155
  280. package/dist/components/checkbox.js +147 -146
  281. package/dist/components/chip.js +246 -245
  282. package/dist/components/color-picker-hex-input.js +288 -287
  283. package/dist/components/color-picker-swatch.js +80 -79
  284. package/dist/components/combobox-item.js +136 -135
  285. package/dist/components/combobox.js +922 -921
  286. package/dist/components/crowdsource-manager.js +476 -475
  287. package/dist/components/crowdsource-reporter.js +76 -75
  288. package/dist/components/date-picker-day.js +110 -110
  289. package/dist/components/date-picker-month-header.js +198 -197
  290. package/dist/components/date-picker-month.js +373 -372
  291. package/dist/components/date-picker.js +493 -492
  292. package/dist/components/date.js +1 -1
  293. package/dist/components/deduct-calculator2.js +982 -981
  294. package/dist/components/dom.js +23 -2
  295. package/dist/components/downloadUtils.js +655 -655
  296. package/dist/components/dropdown-group.js +73 -72
  297. package/dist/components/dropdown-item.js +196 -195
  298. package/dist/components/dropdown.js +421 -420
  299. package/dist/components/edit-card2.js +192 -191
  300. package/dist/components/filter.js +202 -751
  301. package/dist/components/filter2.js +740 -190
  302. package/dist/components/floating-ui.js +2 -2
  303. package/dist/components/focusTrapComponent.js +1 -1
  304. package/dist/components/graph.js +87 -86
  305. package/dist/components/handle.js +166 -165
  306. package/dist/components/icon.js +100 -99
  307. package/dist/components/index.d.ts +36 -0
  308. package/dist/components/index.js +153 -25
  309. package/dist/components/info-card2.js +252 -251
  310. package/dist/components/input-message.js +67 -66
  311. package/dist/components/input-number.js +600 -600
  312. package/dist/components/input-text.js +368 -368
  313. package/dist/components/input.js +687 -687
  314. package/dist/components/interfaces.js +78 -78
  315. package/dist/components/json-editor2.js +426 -425
  316. package/dist/components/label.js +65 -117
  317. package/dist/components/label2.js +110 -57
  318. package/dist/components/layer-table2.js +548 -547
  319. package/dist/components/layout-manager2.js +119 -118
  320. package/dist/components/link.js +123 -123
  321. package/dist/components/list-item.js +76 -75
  322. package/dist/components/list-item2.js +432 -431
  323. package/dist/components/list.js +511 -510
  324. package/dist/components/loadModules.js +18 -18
  325. package/dist/components/loader.js +87 -86
  326. package/dist/components/locale.js +106 -106
  327. package/dist/components/locale2.js +2 -2
  328. package/dist/components/map-card2.js +201 -200
  329. package/dist/components/map-draw-tools2.js +384 -383
  330. package/dist/components/map-layer-picker2.js +292 -291
  331. package/dist/components/map-picker2.js +236 -235
  332. package/dist/components/map-select-tools2.js +917 -916
  333. package/dist/components/map-tools2.js +170 -169
  334. package/dist/components/mapViewUtils.js +235 -235
  335. package/dist/components/menu.js +179 -178
  336. package/dist/components/notice.js +131 -130
  337. package/dist/components/option.js +92 -91
  338. package/dist/components/panel.js +308 -307
  339. package/dist/components/pci-calculator.js +170 -169
  340. package/dist/components/pdf-download2.js +174 -173
  341. package/dist/components/pick-list-item.js +220 -219
  342. package/dist/components/popover.js +350 -349
  343. package/dist/components/progress.js +46 -46
  344. package/dist/components/public-notification.js +1102 -1101
  345. package/dist/components/publicNotificationStore.js +39 -39
  346. package/dist/components/queryUtils.js +152 -152
  347. package/dist/components/refine-selection2.js +547 -546
  348. package/dist/components/resources.js +9 -17
  349. package/dist/components/resources2.js +13 -9
  350. package/dist/components/resources3.js +5 -9
  351. package/dist/components/scrim.js +116 -115
  352. package/dist/components/segmented-control-item.js +63 -62
  353. package/dist/components/segmented-control.js +214 -213
  354. package/dist/components/select.js +227 -226
  355. package/dist/components/shared-list-render.js +3 -3
  356. package/dist/components/shell-panel.js +398 -398
  357. package/dist/components/shell.js +120 -119
  358. package/dist/components/slider.js +899 -898
  359. package/dist/components/solution-configuration.js +1096 -1095
  360. package/dist/components/solution-contents2.js +112 -111
  361. package/dist/components/solution-item-details2.js +218 -217
  362. package/dist/components/solution-item-icon2.js +331 -330
  363. package/dist/components/solution-item-sharing2.js +152 -151
  364. package/dist/components/solution-item2.js +270 -269
  365. package/dist/components/solution-organization-variables2.js +116 -115
  366. package/dist/components/solution-resource-item2.js +332 -331
  367. package/dist/components/solution-spatial-ref2.js +21421 -21420
  368. package/dist/components/solution-store.js +575 -575
  369. package/dist/components/solution-template-data2.js +203 -202
  370. package/dist/components/solution-variables2.js +133 -132
  371. package/dist/components/sortableComponent.js +1 -1
  372. package/dist/components/stack.js +79 -78
  373. package/dist/components/store-manager.js +71 -70
  374. package/dist/components/switch.js +119 -118
  375. package/dist/components/tab-nav.js +255 -254
  376. package/dist/components/tab-title.js +301 -300
  377. package/dist/components/tab.js +112 -111
  378. package/dist/components/tabs.js +131 -130
  379. package/dist/components/tile.js +90 -89
  380. package/dist/components/time-picker.js +655 -654
  381. package/dist/components/tooltip.js +208 -207
  382. package/dist/components/tree-item.js +288 -288
  383. package/dist/components/tree.js +282 -281
  384. package/dist/components/utils.js +1 -1
  385. package/dist/components/utils2.js +2 -2
  386. package/dist/components/utils3.js +1 -1
  387. package/dist/components/value-list-item.js +170 -169
  388. package/dist/components/value-list.js +276 -275
  389. package/dist/esm/{ExpandToggle-3d10bd1e.js → ExpandToggle-3420fa39.js} +4 -4
  390. package/dist/esm/{FloatingArrow-29db6da6.js → FloatingArrow-cd8eafa4.js} +1 -1
  391. package/dist/esm/{Heading-cb79e5b2.js → Heading-1763134e.js} +1 -1
  392. package/dist/esm/{app-globals-5cbac6b0.js → app-globals-580889bd.js} +20 -25
  393. package/dist/esm/{ar-4b751ba8.js → ar-ceb1b389.js} +15 -15
  394. package/dist/esm/{bg-5d8bf5ea.js → bg-a8824832.js} +15 -15
  395. package/dist/esm/{bs-ff510e71.js → bs-5c2ca44f.js} +15 -15
  396. package/dist/esm/buffer-tools_4.entry.js +1437 -1437
  397. package/dist/esm/{ca-b9a5e51a.js → ca-47f86073.js} +15 -15
  398. package/dist/esm/calcite-accordion-item.entry.js +140 -140
  399. package/dist/esm/calcite-accordion.entry.js +75 -75
  400. package/dist/esm/calcite-action-bar.entry.js +216 -216
  401. package/dist/esm/calcite-action-group_2.entry.js +365 -365
  402. package/dist/esm/calcite-action-pad.entry.js +135 -135
  403. package/dist/esm/calcite-action_2.entry.js +445 -445
  404. package/dist/esm/calcite-alert.entry.js +247 -247
  405. package/dist/esm/calcite-avatar.entry.js +73 -73
  406. package/dist/esm/calcite-block-section.entry.js +122 -122
  407. package/dist/esm/calcite-block.entry.js +131 -131
  408. package/dist/esm/calcite-button.entry.js +182 -182
  409. package/dist/esm/calcite-card.entry.js +99 -99
  410. package/dist/esm/calcite-checkbox.entry.js +125 -125
  411. package/dist/esm/calcite-chip-group.entry.js +164 -164
  412. package/dist/esm/calcite-chip.entry.js +213 -213
  413. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
  414. package/dist/esm/calcite-color-picker.entry.js +886 -886
  415. package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
  416. package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
  417. package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
  418. package/dist/esm/calcite-date-picker.entry.js +434 -434
  419. package/dist/esm/calcite-fab.entry.js +66 -66
  420. package/dist/esm/calcite-filter_5.entry.js +1131 -1131
  421. package/dist/esm/calcite-flow-item.entry.js +146 -146
  422. package/dist/esm/calcite-flow.entry.js +117 -117
  423. package/dist/esm/calcite-graph.entry.js +66 -66
  424. package/dist/esm/calcite-icon.entry.js +80 -80
  425. package/dist/esm/calcite-inline-editable.entry.js +225 -225
  426. package/dist/esm/calcite-input-date-picker.entry.js +632 -632
  427. package/dist/esm/calcite-input-number_2.entry.js +846 -846
  428. package/dist/esm/{calcite-input-time-picker-13448515.js → calcite-input-time-picker-59a3ed66.js} +534 -534
  429. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  430. package/dist/esm/calcite-input-time-zone.entry.js +150 -150
  431. package/dist/esm/calcite-input_2.entry.js +645 -645
  432. package/dist/esm/calcite-label.entry.js +40 -40
  433. package/dist/esm/calcite-link.entry.js +96 -96
  434. package/dist/esm/calcite-list-item-group.entry.js +46 -46
  435. package/dist/esm/calcite-loader.entry.js +65 -65
  436. package/dist/esm/calcite-menu-item.entry.js +246 -246
  437. package/dist/esm/calcite-menu.entry.js +161 -161
  438. package/dist/esm/calcite-modal.entry.js +282 -282
  439. package/dist/esm/calcite-navigation-logo.entry.js +52 -52
  440. package/dist/esm/calcite-navigation-user.entry.js +45 -45
  441. package/dist/esm/calcite-navigation.entry.js +126 -126
  442. package/dist/esm/calcite-notice.entry.js +105 -105
  443. package/dist/esm/calcite-option-group.entry.js +24 -24
  444. package/dist/esm/calcite-option_2.entry.js +271 -271
  445. package/dist/esm/calcite-pagination.entry.js +191 -191
  446. package/dist/esm/calcite-panel_2.entry.js +346 -346
  447. package/dist/esm/calcite-pick-list-group.entry.js +46 -46
  448. package/dist/esm/calcite-pick-list-item.entry.js +181 -181
  449. package/dist/esm/calcite-pick-list.entry.js +130 -130
  450. package/dist/esm/calcite-radio-button-group.entry.js +118 -118
  451. package/dist/esm/calcite-radio-button.entry.js +292 -292
  452. package/dist/esm/calcite-rating.entry.js +245 -245
  453. package/dist/esm/calcite-scrim.entry.js +93 -93
  454. package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
  455. package/dist/esm/calcite-shell-center-row.entry.js +42 -42
  456. package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
  457. package/dist/esm/calcite-sortable-list.entry.js +134 -134
  458. package/dist/esm/calcite-split-button.entry.js +92 -92
  459. package/dist/esm/calcite-stepper-item.entry.js +197 -197
  460. package/dist/esm/calcite-stepper.entry.js +187 -187
  461. package/dist/esm/calcite-switch.entry.js +100 -100
  462. package/dist/esm/calcite-text-area.entry.js +235 -235
  463. package/dist/esm/calcite-tile-select-group.entry.js +27 -27
  464. package/dist/esm/calcite-tile-select.entry.js +180 -180
  465. package/dist/esm/calcite-tile.entry.js +58 -58
  466. package/dist/esm/calcite-time-picker.entry.js +619 -619
  467. package/dist/esm/calcite-tip-group.entry.js +10 -10
  468. package/dist/esm/calcite-tip-manager.entry.js +185 -185
  469. package/dist/esm/calcite-tip.entry.js +94 -94
  470. package/dist/esm/calcite-tooltip.entry.js +185 -185
  471. package/dist/esm/calcite-tree_3.entry.js +821 -821
  472. package/dist/esm/card-manager_4.entry.js +652 -652
  473. package/dist/esm/{conditionalSlot-27a0fce0.js → conditionalSlot-91396dd5.js} +2 -2
  474. package/dist/esm/crowdsource-manager.entry.js +256 -256
  475. package/dist/esm/crowdsource-reporter.entry.js +60 -60
  476. package/dist/esm/{cs-f21a0628.js → cs-f651c3cd.js} +15 -15
  477. package/dist/esm/{da-dc48fc4c.js → da-e32ccc0a.js} +15 -15
  478. package/dist/esm/{date-0ed48e97.js → date-51fa981b.js} +1 -1
  479. package/dist/esm/{de-59290071.js → de-9b417aed.js} +15 -15
  480. package/dist/esm/{de-at-cd6e6ab7.js → de-at-f73447e2.js} +15 -15
  481. package/dist/esm/{de-ch-27c44e34.js → de-ch-7ec8c31e.js} +15 -15
  482. package/dist/esm/deduct-calculator.entry.js +90 -90
  483. package/dist/esm/{dom-843e3afd.js → dom-8a9e4ee8.js} +2 -2
  484. package/dist/esm/{downloadUtils-63661805.js → downloadUtils-43b53f5a.js} +660 -660
  485. package/dist/esm/edit-card_2.entry.js +345 -345
  486. package/dist/esm/{el-f09fdec6.js → el-9a3189a2.js} +15 -15
  487. package/dist/esm/{en-au-90087aa5.js → en-au-5aea3b73.js} +15 -15
  488. package/dist/esm/{en-ca-10751695.js → en-ca-fe3e706b.js} +15 -15
  489. package/dist/esm/{en-gb-0f8547bd.js → en-gb-a4278000.js} +15 -15
  490. package/dist/esm/{es-b0997cf1.js → es-383f9c9e.js} +15 -15
  491. package/dist/esm/{es-mx-226f5028.js → es-mx-7845b382.js} +15 -15
  492. package/dist/esm/{et-dc96c453.js → et-d8f8df06.js} +15 -15
  493. package/dist/esm/{fi-0941704d.js → fi-14894338.js} +15 -15
  494. package/dist/esm/{filter-1cac3edf.js → filter-bf34614b.js} +1 -1
  495. package/dist/esm/{floating-ui-d28d0fd6.js → floating-ui-9870f74c.js} +2 -2
  496. package/dist/esm/{focusTrapComponent-ff3a9f28.js → focusTrapComponent-34010d00.js} +1 -1
  497. package/dist/esm/{form-11c6a015.js → form-6669a774.js} +2 -2
  498. package/dist/esm/{fr-8da3458d.js → fr-6f570086.js} +15 -15
  499. package/dist/esm/{fr-ch-739ceddf.js → fr-ch-b9f89159.js} +15 -15
  500. package/dist/esm/{he-8b662dfa.js → he-174aca6e.js} +15 -15
  501. package/dist/esm/{hi-10996f89.js → hi-7e469aab.js} +15 -15
  502. package/dist/esm/{hr-42c2024d.js → hr-a4ac455a.js} +15 -15
  503. package/dist/esm/{hu-4768b3ff.js → hu-207da291.js} +15 -15
  504. package/dist/esm/{id-24a08170.js → id-8e4d57bf.js} +15 -15
  505. package/dist/esm/{index-b91c174c.js → index-4c4a4f3d.js} +1 -1
  506. package/dist/esm/{index-b5d9d795.js → index-d298aca9.js} +38 -180
  507. package/dist/esm/{index.es-3a3aa8e3.js → index.es-a185f2b1.js} +6 -6
  508. package/dist/esm/{interfaces-5a2fe8b4.js → interfaces-bf20e69c.js} +77 -77
  509. package/dist/esm/{it-ad09649f.js → it-7ade952c.js} +15 -15
  510. package/dist/esm/{it-ch-b05fc10d.js → it-ch-181d76ab.js} +15 -15
  511. package/dist/esm/{ja-ab839b73.js → ja-42013dd3.js} +15 -15
  512. package/dist/esm/{ko-c778539e.js → ko-8de07550.js} +15 -15
  513. package/dist/esm/{label-6a1caf64.js → label-661d8e10.js} +1 -1
  514. package/dist/esm/list-item.entry.js +60 -60
  515. package/dist/esm/{loadModules-2ecd1e44.js → loadModules-cd3569de.js} +19 -19
  516. package/dist/esm/{loadable-6bca96ad.js → loadable-08376d90.js} +1 -1
  517. package/dist/esm/loader.js +14 -5
  518. package/dist/esm/{locale-aa3de591.js → locale-54cac39a.js} +107 -107
  519. package/dist/esm/{locale-d8561d54.js → locale-73d0926a.js} +3 -3
  520. package/dist/esm/{lt-447d9aa9.js → lt-1ef29b5b.js} +15 -15
  521. package/dist/esm/{lv-4d715e11.js → lv-263a2f78.js} +15 -15
  522. package/dist/esm/map-picker_2.entry.js +243 -243
  523. package/dist/esm/map-select-tools_3.entry.js +1285 -1285
  524. package/dist/esm/{mapViewUtils-f0c04325.js → mapViewUtils-1e68cede.js} +384 -384
  525. package/dist/esm/{mk-b3d7401a.js → mk-d8bae136.js} +15 -15
  526. package/dist/esm/{nb-2b4a8366.js → nb-494542b3.js} +15 -15
  527. package/dist/esm/{nl-c0db1da2.js → nl-cd882d7f.js} +15 -15
  528. package/dist/esm/{openCloseComponent-2b5c6bed.js → openCloseComponent-a40fd6fd.js} +1 -1
  529. package/dist/esm/pci-calculator.entry.js +102 -102
  530. package/dist/esm/{pciUtils-59c29b42.js → pciUtils-ecda46e5.js} +836 -836
  531. package/dist/esm/{pl-0d322bb4.js → pl-b79095d5.js} +15 -15
  532. package/dist/esm/polyfills/core-js.js +11 -0
  533. package/dist/esm/polyfills/css-shim.js +1 -0
  534. package/dist/esm/polyfills/dom.js +79 -0
  535. package/dist/esm/polyfills/es5-html-element.js +1 -0
  536. package/dist/esm/polyfills/index.js +34 -0
  537. package/dist/esm/polyfills/system.js +6 -0
  538. package/dist/esm/{pt-5997598c.js → pt-5ca0b751.js} +15 -15
  539. package/dist/esm/{pt-br-6b77e7db.js → pt-br-e1a1ce60.js} +15 -15
  540. package/dist/esm/public-notification.entry.js +844 -844
  541. package/dist/esm/{publicNotificationStore-ade82148.js → publicNotificationStore-6ef555f3.js} +40 -40
  542. package/dist/esm/{ro-ac3724e0.js → ro-5cbc0f2a.js} +15 -15
  543. package/dist/esm/{ru-4e75151f.js → ru-e66f5b84.js} +15 -15
  544. package/dist/esm/{shared-list-render-abd19c8d.js → shared-list-render-5b788e63.js} +6 -6
  545. package/dist/esm/{sk-bbfa22a3.js → sk-be2b5cec.js} +15 -15
  546. package/dist/esm/{sl-867cecfc.js → sl-74600272.js} +15 -15
  547. package/dist/esm/solution-configuration.entry.js +888 -888
  548. package/dist/esm/solution-contents_3.entry.js +21506 -21506
  549. package/dist/esm/{solution-store-46bc46a5.js → solution-store-c107ca4d.js} +577 -577
  550. package/dist/esm/solutions-components.js +5 -5
  551. package/dist/esm/{sortableComponent-db502e97.js → sortableComponent-1dd8a4ae.js} +1 -1
  552. package/dist/esm/{sr-198b5c00.js → sr-58280ce5.js} +15 -15
  553. package/dist/esm/store-manager.entry.js +52 -52
  554. package/dist/esm/{sv-02d64370.js → sv-f0e2171a.js} +15 -15
  555. package/dist/esm/{t9n-76168237.js → t9n-745553e0.js} +2 -2
  556. package/dist/esm/{th-1616e303.js → th-6c3eac31.js} +15 -15
  557. package/dist/esm/{throttle-9ab70933.js → throttle-26fa347b.js} +1 -1
  558. package/dist/esm/{time-6721a4c2.js → time-7e3ba7c6.js} +1 -1
  559. package/dist/esm/{tr-f4619f64.js → tr-092713ca.js} +15 -15
  560. package/dist/esm/{uk-df7df34a.js → uk-95df0f95.js} +15 -15
  561. package/dist/esm/{utils-ccfd94a7.js → utils-4f695ec2.js} +1 -1
  562. package/dist/esm/{utils-f54411df.js → utils-ddff4ef3.js} +3 -3
  563. package/dist/esm/{vi-176ca9f7.js → vi-70a9857c.js} +15 -15
  564. package/dist/esm/{zh-cn-e13d83d1.js → zh-cn-e024ef2d.js} +15 -15
  565. package/dist/esm/{zh-hk-d97365d8.js → zh-hk-36ff9e8f.js} +15 -15
  566. package/dist/esm/{zh-tw-a2b6f0b7.js → zh-tw-96ddb74c.js} +15 -15
  567. package/dist/loader/index.d.ts +2 -2
  568. package/dist/solutions-components/{p-15ef7894.js → p-0056655c.js} +1 -1
  569. package/dist/solutions-components/{p-955a956a.entry.js → p-017265ef.entry.js} +1 -1
  570. package/dist/solutions-components/{p-844ee452.entry.js → p-017543d5.entry.js} +1 -1
  571. package/dist/solutions-components/{p-b2e6c578.js → p-0209ed2e.js} +1 -1
  572. package/dist/solutions-components/{p-5e59219b.entry.js → p-0245bb56.entry.js} +1 -1
  573. package/dist/solutions-components/{p-916f90ec.entry.js → p-043ead99.entry.js} +1 -1
  574. package/dist/solutions-components/p-048a2a6d.js +6 -0
  575. package/dist/solutions-components/{p-e02fcfa9.entry.js → p-050e12eb.entry.js} +1 -1
  576. package/dist/solutions-components/{p-b0c4138f.entry.js → p-06916de9.entry.js} +1 -1
  577. package/dist/solutions-components/{p-67ce3c0c.entry.js → p-08320fb9.entry.js} +2 -2
  578. package/dist/solutions-components/{p-21f00df6.js → p-08e12eb0.js} +1 -1
  579. package/dist/solutions-components/p-0a2c02fd.js +6 -0
  580. package/dist/solutions-components/{p-de58bd49.js → p-0a4bc416.js} +1 -1
  581. package/dist/solutions-components/{p-ef96894d.entry.js → p-0afa17dc.entry.js} +1 -1
  582. package/dist/solutions-components/{p-4bc7b875.entry.js → p-0b4eb6e4.entry.js} +1 -1
  583. package/dist/solutions-components/{p-7b9adfff.js → p-0d900572.js} +1 -1
  584. package/dist/solutions-components/{p-0fbc27fd.entry.js → p-0f4d3009.entry.js} +1 -1
  585. package/dist/solutions-components/{p-b921aa1a.entry.js → p-10181f33.entry.js} +1 -1
  586. package/dist/solutions-components/{p-804e4751.entry.js → p-105ef63c.entry.js} +1 -1
  587. package/dist/solutions-components/{p-35123c90.js → p-11983a08.js} +1 -1
  588. package/dist/solutions-components/p-1260db08.js +61 -0
  589. package/dist/solutions-components/{p-a0edbb27.js → p-129fcd0a.js} +1 -1
  590. package/dist/solutions-components/{p-c1ee0d69.js → p-13f7e487.js} +1 -1
  591. package/dist/solutions-components/p-14769a01.js +11 -0
  592. package/dist/solutions-components/{p-c6d83122.entry.js → p-14a4ad77.entry.js} +2 -2
  593. package/dist/solutions-components/{p-e07b8a72.entry.js → p-15e67907.entry.js} +1 -1
  594. package/dist/solutions-components/{p-32ef065d.entry.js → p-17799448.entry.js} +1 -1
  595. package/dist/solutions-components/{p-8a758303.js → p-185a82e0.js} +1 -1
  596. package/dist/solutions-components/p-191c59e9.js +6 -0
  597. package/dist/solutions-components/{p-7601988d.entry.js → p-1b63bec9.entry.js} +1 -1
  598. package/dist/solutions-components/{p-28d2670f.entry.js → p-1c810f4c.entry.js} +1 -1
  599. package/dist/solutions-components/{p-9603c3ff.entry.js → p-1d28ff09.entry.js} +1 -1
  600. package/dist/solutions-components/{p-4b95d05e.entry.js → p-1e30069a.entry.js} +1 -1
  601. package/dist/solutions-components/p-1e63db11.entry.js +6 -0
  602. package/dist/solutions-components/{p-a08bd8c1.entry.js → p-20274226.entry.js} +1 -1
  603. package/dist/solutions-components/{p-a843af2a.js → p-2411f1f6.js} +1 -1
  604. package/dist/solutions-components/{p-ad4d6d02.entry.js → p-2509b65f.entry.js} +2 -2
  605. package/dist/solutions-components/{p-216801d5.js → p-25faeab6.js} +1 -1
  606. package/dist/solutions-components/{p-f8dd2784.js → p-27f5bb4f.js} +2 -2
  607. package/dist/solutions-components/{p-b948ecd2.entry.js → p-2a0d8a46.entry.js} +1 -1
  608. package/dist/solutions-components/{p-27a1ac1f.entry.js → p-2dea68b6.entry.js} +2 -2
  609. package/dist/solutions-components/{p-de59d2f5.js → p-2ecd5cb7.js} +1 -1
  610. package/dist/solutions-components/{p-7aa949a3.entry.js → p-30dbc43d.entry.js} +2 -2
  611. package/dist/solutions-components/{p-46d5970b.entry.js → p-32d821d1.entry.js} +1 -1
  612. package/dist/solutions-components/{p-82199b7b.entry.js → p-3479d873.entry.js} +1 -1
  613. package/dist/solutions-components/{p-9fb16c72.entry.js → p-36d09c0c.entry.js} +1 -1
  614. package/dist/solutions-components/{p-75f26870.js → p-375f0b74.js} +6 -6
  615. package/dist/solutions-components/{p-cf1af08f.entry.js → p-38b4873b.entry.js} +1 -1
  616. package/dist/solutions-components/p-38d61356.js +18 -0
  617. package/dist/solutions-components/{p-a2748b38.entry.js → p-3a7156b8.entry.js} +1 -1
  618. package/dist/solutions-components/{p-022a9b7a.js → p-3b041268.js} +1 -1
  619. package/dist/solutions-components/{p-6a820c4d.js → p-3ca9bb95.js} +1 -1
  620. package/dist/solutions-components/{p-326fa270.js → p-3e5c8b2f.js} +1 -1
  621. package/dist/solutions-components/{p-1ede2e18.js → p-3ee6af74.js} +2 -2
  622. package/dist/solutions-components/{p-97c47bbd.entry.js → p-3eecbcf0.entry.js} +1 -1
  623. package/dist/solutions-components/{p-5c097e25.entry.js → p-40432de5.entry.js} +1 -1
  624. package/dist/solutions-components/{p-c9858d8f.entry.js → p-4058733e.entry.js} +1 -1
  625. package/dist/solutions-components/{p-9e727488.js → p-4152fae0.js} +1 -1
  626. package/dist/solutions-components/{p-12a4fa84.js → p-4321edfc.js} +1 -1
  627. package/dist/solutions-components/{p-761a033a.entry.js → p-4344b6ca.entry.js} +1 -1
  628. package/dist/solutions-components/{p-aeebdb15.js → p-44e26e37.js} +1 -1
  629. package/dist/solutions-components/{p-3445a8c6.js → p-477ae127.js} +1 -1
  630. package/dist/solutions-components/{p-9cb94ea0.js → p-4c8b1179.js} +1 -1
  631. package/dist/solutions-components/p-4e32bf8c.js +6 -0
  632. package/dist/solutions-components/{p-4c43820f.entry.js → p-4e93132b.entry.js} +1 -1
  633. package/dist/solutions-components/{p-1add4e39.entry.js → p-4ea79dc4.entry.js} +2 -2
  634. package/dist/solutions-components/{p-05db4340.js → p-4f51db32.js} +1 -1
  635. package/dist/solutions-components/{p-4d17943f.js → p-4f64d786.js} +1 -1
  636. package/dist/solutions-components/{p-2c0dc7b1.js → p-4ff653eb.js} +1 -1
  637. package/dist/solutions-components/{p-b1f84ae5.js → p-53347add.js} +1 -1
  638. package/dist/solutions-components/p-54fce798.js +11 -0
  639. package/dist/solutions-components/{p-abda8ca2.entry.js → p-573d282b.entry.js} +1 -1
  640. package/dist/solutions-components/{p-a258f5e7.js → p-58340eba.js} +1 -1
  641. package/dist/solutions-components/p-5930cd6d.entry.js +6 -0
  642. package/dist/solutions-components/p-5fc99541.js +257 -0
  643. package/dist/solutions-components/{p-ffac6f88.entry.js → p-6071078a.entry.js} +1 -1
  644. package/dist/solutions-components/{p-dc9dad31.entry.js → p-69863a28.entry.js} +1 -1
  645. package/dist/solutions-components/{p-a6900100.entry.js → p-699031c9.entry.js} +2 -2
  646. package/dist/solutions-components/{p-ab8f5c6b.entry.js → p-6998e886.entry.js} +1 -1
  647. package/dist/solutions-components/{p-bbb0d957.entry.js → p-6a813a31.entry.js} +1 -1
  648. package/dist/solutions-components/{p-ad72a379.entry.js → p-6b12b5eb.entry.js} +1 -1
  649. package/dist/solutions-components/{p-639cca97.js → p-6e89e9dd.js} +1 -1
  650. package/dist/solutions-components/{p-5adf37ea.entry.js → p-705b7f81.entry.js} +1 -1
  651. package/dist/solutions-components/p-75578ebf.entry.js +6 -0
  652. package/dist/solutions-components/{p-5383607a.js → p-7c72df3c.js} +3 -3
  653. package/dist/solutions-components/{p-03fccde6.entry.js → p-7ca47589.entry.js} +2 -2
  654. package/dist/solutions-components/{p-a040efff.js → p-7cb8a4db.js} +1 -1
  655. package/dist/solutions-components/p-7cc13b24.js +8 -0
  656. package/dist/solutions-components/{p-e4253e1b.entry.js → p-8008b2fe.entry.js} +1 -1
  657. package/dist/solutions-components/{p-22d580b0.entry.js → p-81531fbe.entry.js} +1 -1
  658. package/dist/solutions-components/{p-e10a62f4.entry.js → p-81627211.entry.js} +1 -1
  659. package/dist/solutions-components/{p-2d70d3fd.js → p-8aa806fe.js} +1 -1
  660. package/dist/solutions-components/{p-052ff2c7.js → p-8ae8b789.js} +1 -1
  661. package/dist/solutions-components/{p-4daae757.js → p-8b1236bf.js} +1 -1
  662. package/dist/solutions-components/{p-ee066c67.js → p-8b14f9aa.js} +3 -3
  663. package/dist/solutions-components/{p-56300653.js → p-8b4e79fd.js} +1 -1
  664. package/dist/solutions-components/{p-bba3fa4e.entry.js → p-8bc91d5b.entry.js} +2 -2
  665. package/dist/solutions-components/{p-cad5587c.entry.js → p-8df0c98c.entry.js} +1 -1
  666. package/dist/solutions-components/p-953cf07a.entry.js +6 -0
  667. package/dist/solutions-components/{p-5b9b1cbb.entry.js → p-95cf8aa0.entry.js} +1 -1
  668. package/dist/solutions-components/{p-29d41c7e.js → p-99ece5e1.js} +2 -2
  669. package/dist/solutions-components/{p-b4157e6a.js → p-9a2a551d.js} +1 -1
  670. package/dist/solutions-components/{p-541697d0.js → p-9b43b4cf.js} +1 -1
  671. package/dist/solutions-components/{p-647a4130.js → p-9f922d49.js} +2 -7
  672. package/dist/solutions-components/p-9fb09c2c.js +11 -0
  673. package/dist/solutions-components/{p-e645edf2.entry.js → p-a0e50ea6.entry.js} +1 -1
  674. package/dist/solutions-components/{p-31316d61.entry.js → p-a1154bb5.entry.js} +2 -2
  675. package/dist/solutions-components/{p-d62784a4.js → p-a709a84a.js} +1 -1
  676. package/dist/solutions-components/p-a99832c1.js +27 -0
  677. package/dist/solutions-components/{p-0f8440bb.entry.js → p-ad41cd27.entry.js} +1 -1
  678. package/dist/solutions-components/{p-bd3a3afe.js → p-ad962e25.js} +1 -1
  679. package/dist/solutions-components/{p-2b252afd.entry.js → p-ae1459ed.entry.js} +1 -1
  680. package/dist/solutions-components/{p-90bbf223.entry.js → p-af9510a4.entry.js} +1 -1
  681. package/dist/solutions-components/{p-4f0c3fc1.js → p-afc462f0.js} +1 -1
  682. package/dist/solutions-components/{p-6431fd69.js → p-b02a2b2f.js} +2 -2
  683. package/dist/solutions-components/{p-421d5e7c.js → p-b0eb13a1.js} +1 -1
  684. package/dist/solutions-components/{p-2656168f.entry.js → p-b1228e6c.entry.js} +1 -1
  685. package/dist/solutions-components/{p-0e7914e6.entry.js → p-b1ff9f2e.entry.js} +1 -1
  686. package/dist/solutions-components/p-b20bf7b7.entry.js +6 -0
  687. package/dist/solutions-components/{p-7920b5a2.entry.js → p-b361af64.entry.js} +1 -1
  688. package/dist/solutions-components/{p-a777b18c.js → p-b4a6abe2.js} +2 -2
  689. package/dist/solutions-components/{p-4e4b55b9.entry.js → p-b68b17b6.entry.js} +3 -3
  690. package/dist/solutions-components/{p-f41105c8.js → p-b73e9c4d.js} +1 -1
  691. package/dist/solutions-components/{p-19fe7725.js → p-b9111e12.js} +1 -1
  692. package/dist/solutions-components/{p-3cbe5ef3.js → p-b9653a1e.js} +1 -1
  693. package/dist/solutions-components/{p-5f5c371e.js → p-b9fa9ca9.js} +1 -1
  694. package/dist/solutions-components/{p-c07af9c2.entry.js → p-ba9bb2ba.entry.js} +2 -2
  695. package/dist/solutions-components/{p-b49bdc72.entry.js → p-bc35e445.entry.js} +1 -1
  696. package/dist/solutions-components/{p-c3f8b670.js → p-bccc74a8.js} +1 -1
  697. package/dist/solutions-components/{p-1990d9c8.entry.js → p-bd213033.entry.js} +1 -1
  698. package/dist/solutions-components/{p-a775ba2f.entry.js → p-c0dc792a.entry.js} +1 -1
  699. package/dist/solutions-components/{p-606ca126.js → p-c16e540d.js} +1 -1
  700. package/dist/solutions-components/{p-42c7a5fa.entry.js → p-c35b219b.entry.js} +1 -1
  701. package/dist/solutions-components/{p-b86b4512.entry.js → p-c38c0612.entry.js} +2 -2
  702. package/dist/solutions-components/{p-6b2f2b85.js → p-c8c3554b.js} +3 -3
  703. package/dist/solutions-components/{p-634e1240.js → p-cbebdffa.js} +1 -1
  704. package/dist/solutions-components/{p-91caf655.entry.js → p-cbf52aa2.entry.js} +2 -2
  705. package/dist/solutions-components/{p-825bac0e.js → p-ce21ee76.js} +1 -1
  706. package/dist/solutions-components/{p-57c08531.entry.js → p-ce3e73ae.entry.js} +1 -1
  707. package/dist/solutions-components/{p-d3a22725.js → p-cf14e2f3.js} +1 -1
  708. package/dist/solutions-components/{p-f28d69ac.entry.js → p-cfebc45c.entry.js} +1 -1
  709. package/dist/solutions-components/{p-6a524392.entry.js → p-d15a4f36.entry.js} +1 -1
  710. package/dist/solutions-components/{p-754e2df2.js → p-d3550542.js} +1 -1
  711. package/dist/solutions-components/{p-b5d67495.entry.js → p-d3dceabd.entry.js} +1 -1
  712. package/dist/solutions-components/{p-07bc4f07.entry.js → p-d43c1fc8.entry.js} +2 -2
  713. package/dist/solutions-components/{p-6de98c51.js → p-d7ddd3a2.js} +1 -1
  714. package/dist/solutions-components/{p-3e139360.js → p-d841cb8b.js} +1 -1
  715. package/dist/solutions-components/{p-2ae17fa2.js → p-d9868bac.js} +1 -1
  716. package/dist/solutions-components/{p-32f9c709.js → p-dc94bec2.js} +1 -1
  717. package/dist/solutions-components/{p-e6bee82f.js → p-dd0f8875.js} +1 -1
  718. package/dist/solutions-components/p-dec7b660.js +11 -0
  719. package/dist/solutions-components/{p-3f0193e9.js → p-deca8a07.js} +1 -1
  720. package/dist/solutions-components/{p-31ff3452.entry.js → p-df5ec082.entry.js} +1 -1
  721. package/dist/solutions-components/{p-ea282908.js → p-e046f728.js} +1 -1
  722. package/dist/solutions-components/{p-cf43278c.entry.js → p-e27ce6d2.entry.js} +1 -1
  723. package/dist/solutions-components/p-e2abc969.js +6 -0
  724. package/dist/solutions-components/{p-c5e294e4.js → p-e3f9e213.js} +1 -1
  725. package/dist/solutions-components/{p-2b96e551.entry.js → p-e43839a8.entry.js} +2 -2
  726. package/dist/solutions-components/{p-418d0b60.entry.js → p-e4d5188b.entry.js} +1 -1
  727. package/dist/solutions-components/{p-7b90c18e.entry.js → p-e666c0d6.entry.js} +1 -1
  728. package/dist/solutions-components/{p-39ff5ee5.js → p-e6c20791.js} +1 -1
  729. package/dist/solutions-components/{p-2005280f.js → p-ec4c8dc3.js} +1 -1
  730. package/dist/solutions-components/{p-93074bd4.entry.js → p-ef34c9e2.entry.js} +1 -1
  731. package/dist/solutions-components/{p-361f1fe1.js → p-f346f8ab.js} +2 -2
  732. package/dist/solutions-components/{p-680d193d.entry.js → p-f780ecc1.entry.js} +2 -2
  733. package/dist/solutions-components/p-f8be5d5f.js +7 -0
  734. package/dist/solutions-components/{p-c70392c4.entry.js → p-f9a56d6b.entry.js} +1 -1
  735. package/dist/solutions-components/{p-0ece6df1.entry.js → p-f9b9b211.entry.js} +1 -1
  736. package/dist/solutions-components/{p-a0a2c53d.js → p-fc2277fe.js} +1 -1
  737. package/dist/solutions-components/{p-40bde8b2.entry.js → p-fd65b14d.entry.js} +1 -1
  738. package/dist/solutions-components/{p-ef48bd77.entry.js → p-fe0e8542.entry.js} +1 -1
  739. package/dist/solutions-components/solutions-components.esm.js +1 -1
  740. package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
  741. package/dist/types/components/card-manager/card-manager.d.ts +70 -70
  742. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +174 -174
  743. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
  744. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
  745. package/dist/types/components/edit-card/edit-card.d.ts +140 -140
  746. package/dist/types/components/info-card/info-card.d.ts +143 -143
  747. package/dist/types/components/json-editor/json-editor.d.ts +229 -229
  748. package/dist/types/components/layer-table/layer-table.d.ts +276 -276
  749. package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
  750. package/dist/types/components/list-item/list-item.d.ts +26 -26
  751. package/dist/types/components/map-card/map-card.d.ts +83 -83
  752. package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
  753. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
  754. package/dist/types/components/map-picker/map-picker.d.ts +109 -109
  755. package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
  756. package/dist/types/components/map-tools/map-tools.d.ts +104 -104
  757. package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
  758. package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
  759. package/dist/types/components/public-notification/public-notification.d.ts +610 -610
  760. package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
  761. package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
  762. package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
  763. package/dist/types/components/solution-item/solution-item.d.ts +71 -71
  764. package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
  765. package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
  766. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
  767. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
  768. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
  769. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
  770. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
  771. package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
  772. package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
  773. package/dist/types/components/store-manager/store-manager.d.ts +55 -55
  774. package/dist/types/components.d.ts +0 -2
  775. package/dist/types/index.d.ts +16 -16
  776. package/dist/types/stencil-public-runtime.d.ts +14 -27
  777. package/dist/types/utils/common.d.ts +49 -49
  778. package/dist/types/utils/csvDownload.d.ts +24 -24
  779. package/dist/types/utils/csvUtils.d.ts +22 -22
  780. package/dist/types/utils/downloadUtils.d.ts +118 -118
  781. package/dist/types/utils/interfaces.d.ts +398 -398
  782. package/dist/types/utils/languageUtil.d.ts +11 -11
  783. package/dist/types/utils/loadModules.d.ts +17 -17
  784. package/dist/types/utils/locale.d.ts +22 -22
  785. package/dist/types/utils/mapViewUtils.d.ts +124 -124
  786. package/dist/types/utils/pciUtils.d.ts +97 -97
  787. package/dist/types/utils/pdfUtils.d.ts +27 -27
  788. package/dist/types/utils/publicNotificationStore.d.ts +24 -24
  789. package/dist/types/utils/queryUtils.d.ts +95 -95
  790. package/dist/types/utils/solution-store.d.ts +234 -234
  791. package/dist/types/utils/templates.d.ts +50 -50
  792. package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
  793. package/dist/types/utils/test/testUtils.d.ts +36 -36
  794. package/dist/types/utils/types.d.ts +1 -1
  795. package/package.json +2 -2
  796. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
  797. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
  798. package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
  799. package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
  800. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
  801. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
  802. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
  803. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
  804. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
  805. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
  806. package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
  807. package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
  808. package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
  809. package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
  810. package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
  811. package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
  812. package/dist/collection/components/layer-table/test/layer-table.e2e.js +0 -29
  813. package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
  814. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
  815. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
  816. package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
  817. package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
  818. package/dist/collection/components/map-card/test/map-card.e2e.js +0 -29
  819. package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
  820. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
  821. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
  822. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
  823. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
  824. package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
  825. package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
  826. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
  827. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
  828. package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
  829. package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
  830. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
  831. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
  832. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
  833. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
  834. package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
  835. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
  836. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
  837. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
  838. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
  839. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
  840. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
  841. package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
  842. package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
  843. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
  844. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
  845. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
  846. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
  847. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
  848. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
  849. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
  850. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
  851. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
  852. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
  853. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +0 -36
  854. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +0 -175
  855. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
  856. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
  857. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
  858. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
  859. package/dist/collection/utils/templates.e2e.js +0 -30
  860. package/dist/collection/utils/test/csvUtils.spec.js +0 -51
  861. package/dist/collection/utils/test/downloadUtils.spec.js +0 -357
  862. package/dist/collection/utils/test/pciUtils.spec.js +0 -302
  863. package/dist/collection/utils/test/solution-store.spec.js +0 -444
  864. package/dist/esm/resources-40d8e06f.js +0 -20
  865. package/dist/solutions-components/p-0cc32f06.js +0 -6
  866. package/dist/solutions-components/p-10248e04.js +0 -11
  867. package/dist/solutions-components/p-108fbf59.entry.js +0 -6
  868. package/dist/solutions-components/p-13290851.js +0 -259
  869. package/dist/solutions-components/p-164be8ef.entry.js +0 -6
  870. package/dist/solutions-components/p-1ea1dcac.js +0 -61
  871. package/dist/solutions-components/p-3aba40e8.js +0 -18
  872. package/dist/solutions-components/p-3bd99fc9.js +0 -11
  873. package/dist/solutions-components/p-3cce003d.js +0 -27
  874. package/dist/solutions-components/p-525f1188.js +0 -11
  875. package/dist/solutions-components/p-6665fa1f.js +0 -6
  876. package/dist/solutions-components/p-7c33e500.entry.js +0 -6
  877. package/dist/solutions-components/p-9310b882.js +0 -7
  878. package/dist/solutions-components/p-9bbc05ff.js +0 -11
  879. package/dist/solutions-components/p-a82f35c9.js +0 -6
  880. package/dist/solutions-components/p-b6578a32.js +0 -6
  881. package/dist/solutions-components/p-b684bbc7.entry.js +0 -6
  882. package/dist/solutions-components/p-baccfd70.entry.js +0 -6
  883. package/dist/solutions-components/p-bf9e18d4.js +0 -8
  884. package/dist/solutions-components/p-d6322e4b.js +0 -6
  885. /package/dist/cjs/{array-46bb7df1.js → array-51e7da8f.js} +0 -0
  886. /package/dist/cjs/{debounce-30afab47.js → debounce-69c3bada.js} +0 -0
  887. /package/dist/cjs/{guid-3abe3cc6.js → guid-ca85ade0.js} +0 -0
  888. /package/dist/cjs/{html2canvas-34208bbf.js → html2canvas-770c1171.js} +0 -0
  889. /package/dist/cjs/{interactive-2fe0f43a.js → interactive-4e212b36.js} +0 -0
  890. /package/dist/cjs/{key-b8b55ea3.js → key-b32a6438.js} +0 -0
  891. /package/dist/cjs/{math-5132d9bd.js → math-ef14a84a.js} +0 -0
  892. /package/dist/cjs/{observers-f5fa975b.js → observers-20fe6f01.js} +0 -0
  893. /package/dist/cjs/{purify-f8c3e427.js → purify-5389d8d6.js} +0 -0
  894. /package/dist/cjs/{resources-2901b608.js → resources-1d2258a1.js} +0 -0
  895. /package/dist/cjs/{resources-60c27547.js → resources-7c9bff85.js} +0 -0
  896. /package/dist/cjs/{resources-9f2b33ee.js → resources-9dcbf30f.js} +0 -0
  897. /package/dist/cjs/{resources-4da89742.js → resources-a7e3371d.js} +0 -0
  898. /package/dist/cjs/{resources-8233a151.js → resources-b176fc52.js} +0 -0
  899. /package/dist/cjs/{resources-77713c2e.js → resources-b4b4b4fe.js} +0 -0
  900. /package/dist/cjs/{resources-e1258e8a.js → resources-c6f066a4.js} +0 -0
  901. /package/dist/cjs/{resources-91409a5d.js → resources-f13e2605.js} +0 -0
  902. /package/dist/cjs/{resources-c913200c.js → resources-f3e30b7b.js} +0 -0
  903. /package/dist/cjs/{utils-bae432a9.js → utils-662561ad.js} +0 -0
  904. /package/dist/cjs/{utils-cd14113f.js → utils-8a0f3e68.js} +0 -0
  905. /package/dist/esm/{array-751a2b87.js → array-4a653f59.js} +0 -0
  906. /package/dist/esm/{debounce-229b1a22.js → debounce-4c884e5c.js} +0 -0
  907. /package/dist/esm/{guid-2bbb8cd1.js → guid-1608fd71.js} +0 -0
  908. /package/dist/esm/{html2canvas-a0a4df55.js → html2canvas-12c862c8.js} +0 -0
  909. /package/dist/esm/{interactive-eaf4be29.js → interactive-0733ee76.js} +0 -0
  910. /package/dist/esm/{key-7a525416.js → key-97b504af.js} +0 -0
  911. /package/dist/esm/{math-5f92f517.js → math-e006358c.js} +0 -0
  912. /package/dist/esm/{observers-9d66685a.js → observers-67bdf9e5.js} +0 -0
  913. /package/dist/esm/{purify-c99d2ace.js → purify-75c61cf7.js} +0 -0
  914. /package/dist/esm/{resources-d6a4d343.js → resources-01034dfa.js} +0 -0
  915. /package/dist/esm/{resources-c253772f.js → resources-34b761fa.js} +0 -0
  916. /package/dist/esm/{resources-a9b2d33c.js → resources-43d63050.js} +0 -0
  917. /package/dist/esm/{resources-dca3d475.js → resources-5490ccf4.js} +0 -0
  918. /package/dist/esm/{resources-c65f5654.js → resources-6b7800e6.js} +0 -0
  919. /package/dist/esm/{resources-5bce3953.js → resources-6be20fcc.js} +0 -0
  920. /package/dist/esm/{resources-58d30a0f.js → resources-913009ae.js} +0 -0
  921. /package/dist/{components/resources4.js → esm/resources-b5267429.js} +0 -0
  922. /package/dist/esm/{resources-94c47e64.js → resources-f97db74e.js} +0 -0
  923. /package/dist/esm/{utils-2c91c963.js → utils-649c76ab.js} +0 -0
  924. /package/dist/esm/{utils-18db6b1d.js → utils-dcd05f69.js} +0 -0
  925. /package/dist/solutions-components/{p-f055a840.js → p-0506e06f.js} +0 -0
  926. /package/dist/solutions-components/{p-283e3a2d.js → p-0630e686.js} +0 -0
  927. /package/dist/solutions-components/{p-fb7e0054.js → p-08ab045a.js} +0 -0
  928. /package/dist/solutions-components/{p-2291b598.js → p-0b32d4fe.js} +0 -0
  929. /package/dist/solutions-components/{p-5961c4e0.js → p-203b16df.js} +0 -0
  930. /package/dist/solutions-components/{p-3fc17d72.js → p-3adf63ca.js} +0 -0
  931. /package/dist/solutions-components/{p-d4c103a8.js → p-3b72043f.js} +0 -0
  932. /package/dist/solutions-components/{p-18f1772b.js → p-43ebe36a.js} +0 -0
  933. /package/dist/solutions-components/{p-58ce5639.js → p-5242a652.js} +0 -0
  934. /package/dist/solutions-components/{p-18869c0f.js → p-5d25ba99.js} +0 -0
  935. /package/dist/solutions-components/{p-1f468797.js → p-76b83a13.js} +0 -0
  936. /package/dist/solutions-components/{p-d554507d.js → p-7ac7b1a1.js} +0 -0
  937. /package/dist/solutions-components/{p-868df4a0.js → p-9ab03591.js} +0 -0
  938. /package/dist/solutions-components/{p-38ef0684.js → p-a963dd48.js} +0 -0
  939. /package/dist/solutions-components/{p-63a0e9bf.js → p-cc815aca.js} +0 -0
  940. /package/dist/solutions-components/{p-6f2edf5b.js → p-d556b5c4.js} +0 -0
  941. /package/dist/solutions-components/{p-215d3505.js → p-f93e6931.js} +0 -0
  942. /package/dist/solutions-components/{p-4805ff13.js → p-fb3ba11a.js} +0 -0
  943. /package/dist/solutions-components/{p-b9749e09.js → p-ff4afb7d.js} +0 -0
@@ -1,1295 +1,1287 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- /** @license
7
- * Copyright 2022 Esri
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License");
10
- * you may not use this file except in compliance with the License.
11
- * You may obtain a copy of the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS,
17
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- * See the License for the specific language governing permissions and
19
- * limitations under the License.
20
- */
21
- import { Host, h } from "@stencil/core";
22
- import { EExportType, EPageType, EWorkflowType } from "../../utils/interfaces";
23
- import { loadModules } from "../../utils/loadModules";
24
- import { goToSelection, highlightFeatures } from "../../utils/mapViewUtils";
25
- import state from "../../utils/publicNotificationStore";
26
- import { getLocaleComponentStrings } from "../../utils/locale";
27
- import { consolidateLabels, removeDuplicateLabels } from "../../utils/downloadUtils";
28
- import { getAssetPath } from "@stencil/core";
29
- export class PublicNotification {
30
- constructor() {
31
- /**
32
- * string: The url to the onboarding image
33
- */
34
- this._onboardingImageUrl = "";
35
- /**
36
- * Text to be used as title on PDF pages
37
- */
38
- this._titleValue = undefined;
39
- /**
40
- * number: The number of selected features
41
- */
42
- this._numSelected = 0;
43
- this.addresseeLayerIds = [];
44
- this.bufferColor = [227, 139, 79, 0.8];
45
- this.bufferOutlineColor = [255, 255, 255];
46
- this.customLabelEnabled = undefined;
47
- this.defaultBufferDistance = undefined;
48
- this.defaultBufferUnit = undefined;
49
- this.defaultExportTitle = "";
50
- this.defaultNumLabelsPerPage = undefined;
51
- this.featureEffect = undefined;
52
- this.featureHighlightEnabled = undefined;
53
- this.mapView = undefined;
54
- this.noResultText = undefined;
55
- this.searchConfiguration = undefined;
56
- this.selectionLayerIds = [];
57
- this.showRefineSelection = false;
58
- this.showSearchSettings = true;
59
- this.sketchLineSymbol = undefined;
60
- this.sketchPointSymbol = undefined;
61
- this.sketchPolygonSymbol = undefined;
62
- this._addMap = false;
63
- this._addTitle = false;
64
- this._downloadActive = true;
65
- this._exportType = EExportType.PDF;
66
- this._fetchingData = false;
67
- this._isMobile = undefined;
68
- this._numDuplicates = 0;
69
- this._pageType = EPageType.LIST;
70
- this._saveEnabled = false;
71
- this._selectionSets = [];
72
- this._translations = undefined;
73
- }
74
- //--------------------------------------------------------------------------
75
- //
76
- // Watch handlers
77
- //
78
- //--------------------------------------------------------------------------
79
- /**
80
- * Called each time the mapView prop is changed.
81
- */
82
- async mapViewWatchHandler(v) {
83
- if (v === null || v === void 0 ? void 0 : v.popup) {
84
- this._popupsEnabled = v === null || v === void 0 ? void 0 : v.popup.autoOpenEnabled;
85
- }
86
- }
87
- /**
88
- * Called each time the searchConfiguration prop is changed.
89
- *
90
- * @returns Promise when complete
91
- */
92
- async watchSearchConfigurationHandler(newValue, oldValue) {
93
- const s_newValue = JSON.stringify(newValue);
94
- if (s_newValue !== JSON.stringify(oldValue)) {
95
- this._searchConfiguration = JSON.parse(s_newValue);
96
- this.searchConfigurationChange.emit(this._searchConfiguration);
97
- // force back to list page before we create Search
98
- // https://devtopia.esri.com/WebGIS/arcgis-template-configuration/issues/3402
99
- void this._home();
100
- }
101
- }
102
- /**
103
- * Called each time the sketchLineSymbol prop is changed.
104
- */
105
- async sketchLineSymbolWatchHandler(v, oldV) {
106
- if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
107
- this._setLineSymbol(v);
108
- }
109
- }
110
- /**
111
- * Called each time the sketchPointSymbol prop is changed.
112
- */
113
- async sketchPointSymbolWatchHandler(v, oldV) {
114
- if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
115
- this._setPointSymbol(v);
116
- }
117
- }
118
- /**
119
- * Called each time the sketchPolygonSymbol prop is changed.
120
- */
121
- async sketchPolygonSymbolWatchHandler(v, oldV) {
122
- if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
123
- this._setPolygonSymbol(v);
124
- }
125
- }
126
- /**
127
- * Called each time the pageType prop is changed.
128
- */
129
- async pageTypeWatchHandler(pageType, oldPageType) {
130
- var _a;
131
- this._checkPopups();
132
- if ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.popup) {
133
- this.mapView.popupEnabled = pageType !== EPageType.LIST ? false : this._popupsEnabled;
134
- }
135
- if (pageType === EPageType.EXPORT) {
136
- this._fetchingData = true;
137
- this._numDuplicates = await this._getNumDuplicates();
138
- this._fetchingData = false;
139
- }
140
- this._clearHighlight();
141
- if (oldPageType === EPageType.SELECT || oldPageType === EPageType.REFINE) {
142
- // clear any draw shapes or buffers
143
- await this._clearSelection();
144
- }
145
- if (pageType !== EPageType.SELECT) {
146
- return this._highlightFeatures();
147
- }
148
- }
149
- /**
150
- * Handle changes to the selection sets
151
- */
152
- selectionSetsChanged(event) {
153
- this._selectionSets = [...event.detail];
154
- }
155
- //--------------------------------------------------------------------------
156
- //
157
- // Functions (lifecycle)
158
- //
159
- //--------------------------------------------------------------------------
160
- /**
161
- * StencilJS: Called every time the component is connected to the DOM
162
- */
163
- connectedCallback() {
164
- this._mediaQuery = window.matchMedia("(max-width: 600px)");
165
- this._mediaQuery.addEventListener("change", (evt) => this._setIsMobile(evt));
166
- }
167
- /**
168
- * StencilJS: Called once just after the component is first connected to the DOM.
169
- */
170
- async componentWillLoad() {
171
- await this._getTranslations();
172
- await this._initModules();
173
- this._initSymbols();
174
- this._onboardingImageUrl = getAssetPath(`../assets/data/images/onboarding.png`);
175
- }
176
- /**
177
- * Renders the component.
178
- */
179
- render() {
180
- const headerSlot = this._isMobile ? "footer" : "header";
181
- return (h(Host, null, h("calcite-shell", null, h("calcite-action-bar", { class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: headerSlot }, this._getActionGroup("list-check", EPageType.LIST, this._translations.myLists), this.showRefineSelection ? this._getActionGroup("test-data", EPageType.REFINE, this._translations.refineSelection) : null, this._getActionGroup("export", EPageType.EXPORT, this._translations.export)), this._getPage(this._pageType))));
182
- }
183
- /**
184
- * StencilJS: Called every time the component is disconnected from the DOM
185
- */
186
- disconnectedCallback() {
187
- this._mediaQuery.removeEventListener("change", (evt) => this._setIsMobile(evt));
188
- }
189
- //--------------------------------------------------------------------------
190
- //
191
- // Functions (protected)
192
- //
193
- //--------------------------------------------------------------------------
194
- /**
195
- * Load esri javascript api modules
196
- *
197
- * @returns Promise resolving when function is done
198
- *
199
- * @protected
200
- */
201
- async _initModules() {
202
- const [geometryEngine, jsonUtils] = await loadModules([
203
- "esri/geometry/geometryEngine",
204
- "esri/symbols/support/jsonUtils"
205
- ]);
206
- this._geometryEngine = geometryEngine;
207
- this._jsonUtils = jsonUtils;
208
- }
209
- /**
210
- * Initialize the default symbols that will be used when creating new graphics
211
- *
212
- * @protected
213
- */
214
- _initSymbols() {
215
- this._setLineSymbol(this.sketchLineSymbol);
216
- this._setPointSymbol(this.sketchPointSymbol);
217
- this._setPolygonSymbol(this.sketchPolygonSymbol);
218
- }
219
- /**
220
- * Convert a JSON representation of a line symbol and/or set the line symbol
221
- *
222
- * @param v SimpleLineSymbol or a JSON representation of a line symbol
223
- *
224
- * @protected
225
- */
226
- _setLineSymbol(v) {
227
- const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-line';
228
- this.sketchLineSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
229
- "type": "esriSLS",
230
- "color": [130, 130, 130, 255],
231
- "width": 2,
232
- "style": "esriSLSSolid"
233
- });
234
- }
235
- /**
236
- * Convert a JSON representation of a point symbol and/or set the point symbol
237
- *
238
- * @param v SimpleMarkerSymbol or a JSON representation of a point symbol
239
- *
240
- * @protected
241
- */
242
- _setPointSymbol(v) {
243
- const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-marker';
244
- this.sketchPointSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
245
- "type": "esriSMS",
246
- "color": [255, 255, 255, 255],
247
- "angle": 0,
248
- "xoffset": 0,
249
- "yoffset": 0,
250
- "size": 6,
251
- "style": "esriSMSCircle",
252
- "outline": {
253
- "type": "esriSLS",
254
- "color": [50, 50, 50, 255],
255
- "width": 1,
256
- "style": "esriSLSSolid"
257
- }
258
- });
259
- }
260
- /**
261
- * Convert a JSON representation of a polygon symbol and/or set the polygon symbol
262
- *
263
- * @param v SimpleFillSymbol or a JSON representation of a polygon symbol
264
- *
265
- * @protected
266
- */
267
- _setPolygonSymbol(v) {
268
- const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-fill';
269
- this.sketchPolygonSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
270
- "type": "esriSFS",
271
- "color": [150, 150, 150, 51],
272
- "outline": {
273
- "type": "esriSLS",
274
- "color": [50, 50, 50, 255],
275
- "width": 2,
276
- "style": "esriSLSSolid"
277
- },
278
- "style": "esriSFSSolid"
279
- });
280
- }
281
- /**
282
- * Set _isMobile to true when the view is 600px or less
283
- *
284
- * @param evt event from media query
285
- *
286
- * @protected
287
- */
288
- _setIsMobile(evt) {
289
- this._isMobile = evt.matches;
290
- }
291
- /**
292
- * Get a calcite action group for the current action
293
- *
294
- * @param icon the icon to display for the current action
295
- * @param disabled should the action be disabled
296
- * @param pageType what page type will the action navigate to
297
- * @param tip information tip to display helpful details to end user
298
- *
299
- * @protected
300
- */
301
- _getActionGroup(icon, pageType, tip) {
302
- const sizeClass = this.showRefineSelection ? " w-1-3" : " w-1-2";
303
- return (h("calcite-action-group", { class: "action-center" + sizeClass, layout: "horizontal" }, h("div", { class: "background-override" }, h("calcite-action", { active: this._pageType === pageType, alignment: "center", class: "width-full height-full", compact: false, icon: icon, id: icon, onClick: () => { this._setPageType(pageType); }, text: "" })), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, tip))));
304
- }
305
- /**
306
- * Navigate to the defined page type
307
- *
308
- * @param pageType what page type will the action navigate to
309
- *
310
- * @protected
311
- */
312
- _setPageType(pageType) {
313
- this._pageType = pageType;
314
- }
315
- /**
316
- * Navigate to the defined page type
317
- *
318
- * @param pageType what page type will the action navigate to
319
- *
320
- * @returns the page node
321
- * @protected
322
- */
323
- _getPage(pageType) {
324
- let page;
325
- switch (pageType) {
326
- case EPageType.LIST:
327
- page = this._getListPage();
328
- break;
329
- case EPageType.SELECT:
330
- page = this._getSelectPage();
331
- break;
332
- case EPageType.EXPORT:
333
- page = this._getExportPage();
334
- break;
335
- case EPageType.REFINE:
336
- page = this._getRefinePage();
337
- break;
338
- }
339
- return page;
340
- }
341
- /**
342
- * Create the List page that shows as the initial home screen
343
- * This page is also used to show and selection sets that have been created
344
- *
345
- * @returns the page node
346
- * @protected
347
- */
348
- _getListPage() {
349
- const hasSets = this._hasSelections();
350
- return (h("calcite-panel", null, this._getLabel(this._translations.myLists), this._getNotice(hasSets ? this._translations.listHasSetsTip : this._translations.selectLayerAndAdd, "padding-sides-1 padding-bottom-1", "word-wrap-anywhere"), hasSets ? this._getSelectionSetList() : (this._getOnboardingImage()), h("div", { class: "display-flex padding-1" }, h("calcite-button", { onClick: () => { this._setPageType(EPageType.SELECT); }, width: "full" }, h("span", { class: "font-weight-500" }, this._translations.add)))));
351
- }
352
- /**
353
- * Display an image to help illustrate the basic workflow of the widget
354
- *
355
- * @returns the image node to display
356
- * @protected
357
- */
358
- _getOnboardingImage() {
359
- return (h("div", { class: "display-flex padding-sides-1" }, h("img", { class: "img-container", src: this._onboardingImageUrl })));
360
- }
361
- /**
362
- * Create the selection sets list node for the List page
363
- *
364
- * @returns selection sets list node
365
- * @protected
366
- */
367
- _getSelectionSetList() {
368
- return (h("div", { class: "padding-top-1-2 padding-bottom-1-2" }, h("calcite-list", { class: "list-border margin-sides-1" }, this._selectionSets.reduce((prev, cur, i) => {
369
- var _a;
370
- const ids = this._getSelectionSetIds(cur);
371
- let validSet = true;
372
- if (cur.workflowType === EWorkflowType.REFINE) {
373
- const numIds = Object.keys(cur.refineInfos).reduce((_prev, _cur) => {
374
- const refineInfo = cur.refineInfos[_cur];
375
- _prev += refineInfo.addIds.length + refineInfo.removeIds.length;
376
- return _prev;
377
- }, 0);
378
- validSet = numIds > 0;
379
- }
380
- if (validSet) {
381
- prev.push((h("calcite-list-item", { label: cur.label, onClick: () => this._gotoSelection(cur, this.mapView) }, h("div", { slot: "content" }, h("div", { class: "list-label" }, cur.label), h("div", { class: "list-description" }, (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.title), h("div", { class: "list-description" }, this._translations.selectedFeatures.replace("{{n}}", ids.length.toString()))), this._getAction(true, "pencil", "", (evt) => this._openSelection(cur, evt), false, "actions-end"), this._getAction(true, "x", "", (evt) => this._deleteSelection(i, evt), false, "actions-end"))));
382
- }
383
- return prev;
384
- }, []))));
385
- }
386
- /**
387
- * Get the ids for a given selection set
388
- * For most sets this will be selectedIds
389
- * For the Refine set we are only concerned with IDs from ADD operations on any of the layers
390
- *
391
- * @returns an array of the IDs
392
- *
393
- * @protected
394
- */
395
- _getSelectionSetIds(selectionSet) {
396
- return selectionSet.workflowType !== EWorkflowType.REFINE ? selectionSet.selectedIds :
397
- Object.keys(selectionSet.refineInfos).reduce((p, c) => [...p, ...selectionSet.refineInfos[c].addIds], []);
398
- }
399
- /**
400
- * Check if any valid selection sets exist.
401
- *
402
- * @returns true if valid selection sets exist
403
- *
404
- * @protected
405
- */
406
- _hasSelections(validateRefineSet = false) {
407
- let ids = [];
408
- const hasRefineSet = this._selectionSets.some(ss => {
409
- if (ss.workflowType === EWorkflowType.REFINE) {
410
- ids = this._getSelectionSetIds(ss);
411
- return true;
412
- }
413
- });
414
- return validateRefineSet && hasRefineSet ? ids.length > 0 || this._selectionSets.length > 1 : this._selectionSets.length > 0;
415
- }
416
- /**
417
- * Check if any duplicate labels exist
418
- *
419
- * @returns true if duplicates are found
420
- *
421
- * @protected
422
- */
423
- async _getNumDuplicates() {
424
- const exportInfos = this._getExportInfos();
425
- const labels = await consolidateLabels(exportInfos);
426
- const duplicatesRemoved = removeDuplicateLabels(labels);
427
- return labels.length - duplicatesRemoved.length;
428
- }
429
- /**
430
- * Get key details about what to export
431
- *
432
- * @returns IExportInfos that contain ids and layer
433
- *
434
- * @protected
435
- */
436
- _getExportInfos() {
437
- return this._selectionSets.reduce((prev, cur) => {
438
- if (cur.download) {
439
- if (cur.workflowType !== EWorkflowType.REFINE) {
440
- const id = cur.layerView.layer.id;
441
- this._updateIds(id, cur.layerView, cur.selectedIds, prev);
442
- }
443
- else {
444
- // REFINE stores ids differently as it can contain ids from multiple layers
445
- // REFINE will only ever be 1 ISelectionSet
446
- Object.keys(cur.refineInfos).forEach(k => {
447
- const refineIds = cur.refineInfos[k];
448
- if (refineIds.addIds.length > 0) {
449
- this._updateIds(k, refineIds.layerView, refineIds.addIds, prev);
450
- }
451
- });
452
- }
453
- }
454
- return prev;
455
- }, {});
456
- }
457
- /**
458
- * Consolidate ids for each layer
459
- *
460
- * @param id the layer id from the selectionSet
461
- * @param layerView the layerView from the selectionSet
462
- * @param ids the selectedIds from the selectionSet
463
- * @param obj the object that will store the consolidated ids and layer info
464
- *
465
- * @returns IExportInfo key details that will be used for export
466
- *
467
- * @protected
468
- */
469
- _updateIds(id, layerView, ids, obj) {
470
- if (obj[id]) {
471
- obj[id].ids = obj[id].ids.concat(ids);
472
- }
473
- else {
474
- obj[id] = {
475
- layerView,
476
- ids
477
- };
478
- }
479
- return obj;
480
- }
481
- /**
482
- * Create the Select page that shows the selection workflows
483
- *
484
- * @returns the page node
485
- * @protected
486
- */
487
- _getSelectPage() {
488
- const noticeText = this._translations.selectSearchTip;
489
- return (h("calcite-panel", null, this._getLabel(this._translations.stepTwoFull, true), this._getNotice(noticeText, "padding-1", "word-wrap-anywhere"), h("div", null, h("map-select-tools", { bufferColor: this.bufferColor, bufferOutlineColor: this.bufferOutlineColor, class: "font-bold", customLabelEnabled: this.customLabelEnabled, defaultBufferDistance: this.defaultBufferDistance, defaultBufferUnit: this.defaultBufferUnit, enabledLayerIds: this.addresseeLayerIds, isUpdate: !!this._activeSelection, mapView: this.mapView, noResultText: this.noResultText, onSelectionSetChange: (evt) => this._updateForSelection(evt), ref: (el) => { this._selectTools = el; }, searchConfiguration: this._searchConfiguration, selectionLayerIds: this.selectionLayerIds, selectionSet: this._activeSelection, sketchLineSymbol: this.sketchLineSymbol, sketchPointSymbol: this.sketchPointSymbol, sketchPolygonSymbol: this.sketchPolygonSymbol })), this._getPageNavButtons(this._translations.done, this._numSelected === 0, () => { void this._saveSelection(); }, this._translations.cancel, false, () => { void this._home(); })));
490
- }
491
- /**
492
- * Create the main download page that has the shared aspects of both PDF and CSV
493
- * But only show the current PDF or CSV page content
494
- *
495
- * @returns the page node
496
- * @protected
497
- */
498
- _getExportPage() {
499
- const hasSelections = this._hasSelections(this.showRefineSelection);
500
- const displayDuplicatesClass = this._numDuplicates > 0 ? "display-block" : "display-none";
501
- return (h("calcite-panel", null, h("div", null, this._getLabel(this._translations.export, false), hasSelections ? (h("div", null, this._getNotice(this._translations.exportTip, "padding-sides-1"), this._getLabel(this._translations.exportListsLabel), this._getExportSelectionLists(), h("div", { class: "padding-sides-1 " + displayDuplicatesClass }, h("div", { class: "display-flex" }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { ref: (el) => { this._removeDuplicates = el; } }), h("div", { class: "display-flex" }, this._translations.removeDuplicate, h("div", { class: "info-message padding-start-1-2" }, h("calcite-input-message", { class: "info-blue margin-top-0", scale: "m" }, ` ${this._translations.numDuplicates.replace("{{n}}", this._numDuplicates.toString())}`)))), h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "remove-duplicates-icon", scale: "s" })), h("calcite-popover", { closable: true, label: "", referenceElement: "remove-duplicates-icon" }, h("span", { class: "tooltip-message" }, this._translations.duplicatesTip))), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("calcite-segmented-control", { class: "w-100", onCalciteSegmentedControlChange: (evt) => this._exportTypeChange(evt) }, h("calcite-segmented-control-item", { checked: this._exportType === EExportType.PDF, class: "w-50 end-border", value: EExportType.PDF }, h("span", { class: "font-weight-500" }, this._translations.pdf)), h("calcite-segmented-control-item", { checked: this._exportType === EExportType.CSV, class: "w-50", value: EExportType.CSV }, h("span", { class: "font-weight-500" }, this._translations.csv)))), h("div", { class: "padding-bottom-1" }, this._getExportOptions()), h("div", { class: "padding-1 display-flex" }, h("calcite-button", { disabled: !this._downloadActive, loading: this._fetchingData, onClick: () => void this._export(), width: "full" }, h("span", { class: "font-weight-500" }, this._translations.export))))) : (this._getNotice(this._translations.downloadNoLists, "padding-sides-1 padding-bottom-1")))));
502
- }
503
- /**
504
- * Store the user selected export type CSV || PDF
505
- *
506
- * @protected
507
- */
508
- _exportTypeChange(evt) {
509
- this._exportType = evt.target.value;
510
- }
511
- /**
512
- * Render the export options to the user
513
- *
514
- * @protected
515
- */
516
- _getExportOptions() {
517
- const displayClass = this._exportType === EExportType.PDF ? "display-block" : "display-none";
518
- const titleOptionsClass = this._addTitle ? "display-block" : "display-none";
519
- const title = this._titleValue !== undefined ? this._titleValue : this.defaultExportTitle ? this.defaultExportTitle : "";
520
- return (h("div", { class: displayClass }, this._getLabel(this._translations.pdfOptions, true), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0" }, this._translations.selectPDFLabelOption)), h("div", { class: "padding-sides-1" }, h("pdf-download", { defaultNumLabelsPerPage: this.defaultNumLabelsPerPage, disabled: !this._downloadActive, ref: (el) => { this._downloadTools = el; } })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addTitle, onCalciteCheckboxChange: () => this._addTitle = !this._addTitle }), this._translations.addTitle)), h("div", { class: titleOptionsClass }, this._getLabel(this._translations.title, true, ""), h("calcite-input-text", { class: "padding-sides-1", onCalciteInputTextInput: () => this._changeTitle(), placeholder: this._translations.titlePlaceholder, ref: (el) => { this._titleElement = el; }, value: title })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addMap, onCalciteCheckboxChange: () => this._addMap = !this._addMap }), this._translations.includeMap))));
521
- }
522
- /**
523
- * Render the refine page
524
- *
525
- * @protected
526
- */
527
- _getRefinePage() {
528
- const hasSelections = this._hasSelections();
529
- return (h("calcite-panel", null, this._getLabel(this._translations.refineSelection), hasSelections ? (h("div", null, this._getNotice(this._translations.refineTip, "padding-sides-1"), h("refine-selection", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, selectionSets: this._selectionSets, sketchLineSymbol: this.sketchLineSymbol, sketchPointSymbol: this.sketchPointSymbol, sketchPolygonSymbol: this.sketchPolygonSymbol }))) :
530
- this._getNotice(this._translations.refineTipNoSelections, "padding-sides-1")));
531
- }
532
- /**
533
- * Create the stacked navigation buttons for a page
534
- *
535
- * @param topLabel the label to use for the button on top
536
- * @param topDisabled should the button be disabled
537
- * @param topFunc the fucntion to execute when the button is clicked
538
- * @param bottomLabel the label to use for the button on bottom
539
- * @param bottomDisabled should the button be disabled
540
- * @param bottomFunc the fucntion to execute when the button is clicked
541
- *
542
- * @returns the page node
543
- * @protected
544
- */
545
- _getPageNavButtons(topLabel, topDisabled, topFunc, bottomLabel, bottomDisabled, bottomFunc) {
546
- return (h("div", { class: "padding-bottom-1" }, h("div", { class: "display-flex padding-top-sides-1" }, h("calcite-button", { disabled: topDisabled, onClick: topFunc, width: "full" }, h("span", { class: "font-weight-500" }, topLabel))), h("div", { class: "display-flex padding-top-1-2 padding-sides-1" }, h("calcite-button", { appearance: "outline", disabled: bottomDisabled, onClick: bottomFunc, width: "full" }, h("span", { class: "font-weight-500" }, bottomLabel)))));
547
- }
548
- /**
549
- * Store the user defined title value
550
- */
551
- _changeTitle() {
552
- this._titleValue = this._titleElement.value;
553
- }
554
- /**
555
- * Create an informational notice
556
- *
557
- * @param message the message to display in the notice
558
- * @param noticeClass any custom css for the notice (default is "padding-1")
559
- *
560
- * @returns the notice node
561
- * @protected
562
- */
563
- _getNotice(message, noticeClass = "padding-1", messageClass = "") {
564
- return (h("calcite-notice", { class: noticeClass, icon: "lightbulb", kind: "success", open: true }, h("div", { class: messageClass, slot: "message" }, message)));
565
- }
566
- /**
567
- * Create a calcite label
568
- *
569
- * @param label value to display in the label
570
- * @param disableSpacing should extra calcite defined spacing be applied
571
- * @param labelClass by default label will be bold unless overridden here
572
- *
573
- * @returns the label node
574
- * @protected
575
- */
576
- _getLabel(label, disableSpacing = false, labelClass = "font-bold") {
577
- labelClass += disableSpacing ? " label-margin-0" : "";
578
- return (h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: labelClass }, label)));
579
- }
580
- /**
581
- * Get selection set list node with checkbox for Download pages
582
- *
583
- * @returns the list node
584
- * @protectedlabel
585
- */
586
- _getExportSelectionLists() {
587
- return this._selectionSets.reduce((prev, cur) => {
588
- var _a;
589
- const ids = this._getSelectionSetIds(cur);
590
- const validSet = cur.workflowType !== EWorkflowType.REFINE || ids.length > 0;
591
- if (!this._downloadActive && cur.download && validSet) {
592
- this._downloadActive = true;
593
- }
594
- if (validSet) {
595
- prev.push((h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-checkbox", { checked: cur.download, class: "align-center", onClick: () => { void this._toggleDownload(cur.id); } }), h("calcite-list", { class: "list-border margin-start-1-2 width-full", id: "download-list" }, h("calcite-list-item", { disabled: !cur.download, label: cur.label, onClick: () => { void this._toggleDownload(cur.id); } }, h("div", { slot: "content" }, h("div", { class: "list-label" }, cur.label), h("div", { class: "list-description" }, (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.title), h("div", { class: "list-description" }, this._translations.selectedFeatures.replace("{{n}}", ids.length.toString()))))))));
596
- }
597
- return prev;
598
- }, []) || (h("div", null));
599
- }
600
- /**
601
- * Toggle the disabled state for the download options based on user selection
602
- *
603
- * @param id the selection set id to toggle
604
- *
605
- * @protected
606
- */
607
- async _toggleDownload(id) {
608
- let isActive = false;
609
- this._selectionSets = this._selectionSets.map(ss => {
610
- ss.download = ss.id === id ? !ss.download : ss.download;
611
- isActive = ss.download ? true : isActive;
612
- return ss;
613
- });
614
- this._downloadActive = isActive;
615
- this._fetchingData = true;
616
- this._numDuplicates = await this._getNumDuplicates();
617
- this._fetchingData = false;
618
- await this._highlightFeatures();
619
- }
620
- /**
621
- * Download all selection sets as PDF or CSV or alert the user that they need to choose at least 1 export format
622
- *
623
- * @protected
624
- */
625
- async _export() {
626
- const exportInfos = this._getSelectionIdsAndViews(this._selectionSets, true);
627
- if (this._exportType === EExportType.PDF) {
628
- // Generate a map screenshot
629
- let initialImageDataUrl = "";
630
- if (this._addMap && this.mapView) {
631
- const screenshot = await this.mapView.takeScreenshot({ width: 1500, height: 2000 });
632
- initialImageDataUrl = screenshot === null || screenshot === void 0 ? void 0 : screenshot.dataUrl;
633
- }
634
- this._fetchingData = true;
635
- // Create the labels for each selection set
636
- await this._downloadTools.downloadPDF(exportInfos, this._removeDuplicates.checked, this._addTitle ? this._titleElement.value : "", initialImageDataUrl);
637
- this._fetchingData = false;
638
- }
639
- if (this._exportType === EExportType.CSV) {
640
- this._fetchingData = true;
641
- await this._downloadTools.downloadCSV(exportInfos, this._removeDuplicates.checked);
642
- this._fetchingData = false;
643
- }
644
- }
645
- /**
646
- * Sort selection sets by layer and retain key export details
647
- *
648
- * @param selectionSets selection sets to evaluate
649
- *
650
- * @returns key export details from the selection sets
651
- * @protected
652
- */
653
- _getSelectionIdsAndViews(selectionSets, downloadSetsOnly = false) {
654
- const exportSelectionSets = downloadSetsOnly ?
655
- selectionSets.filter(ss => ss.download) : selectionSets;
656
- return exportSelectionSets.reduce((prev, cur) => {
657
- var _a;
658
- if (cur.workflowType === EWorkflowType.REFINE) {
659
- Object.keys(cur.refineInfos).forEach(k => {
660
- const refineInfo = cur.refineInfos[k];
661
- if (refineInfo.addIds) {
662
- const _id = refineInfo.layerView.layer.id;
663
- prev = this._updateExportInfos(prev, _id, cur.label, refineInfo.addIds, refineInfo.layerView);
664
- }
665
- });
666
- }
667
- else {
668
- const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
669
- prev = this._updateExportInfos(prev, id, cur.label, cur.selectedIds, cur.layerView);
670
- }
671
- return prev;
672
- }, {});
673
- }
674
- /**
675
- * Store the ids and selection set names for export
676
- *
677
- * @param exportInfos the current export infos object to update
678
- * @param id the layer id for the selection set
679
- * @param label the selection sets label
680
- * @param newIds the current ids
681
- * @param layerView the layer associated with the selection set
682
- *
683
- * @returns key export details from the selection sets
684
- * @protected
685
- */
686
- _updateExportInfos(exportInfos, id, label, newIds, layerView) {
687
- if (id && Object.keys(exportInfos).indexOf(id) > -1) {
688
- exportInfos[id].ids = [...new Set([
689
- ...exportInfos[id].ids,
690
- ...newIds
691
- ])];
692
- exportInfos[id].selectionSetNames.push(label);
693
- }
694
- else if (id) {
695
- exportInfos[id] = {
696
- ids: newIds,
697
- layerView: layerView,
698
- selectionSetNames: [label]
699
- };
700
- }
701
- return exportInfos;
702
- }
703
- /**
704
- * Create a calcite action
705
- *
706
- * @param enabled controls the enabled state of the control
707
- * @param icon the image to display in the action
708
- * @param text and supporting text for the action
709
- * @param onClick the fucntion the actio will execute
710
- * @param indicator boolean to control if an indicator should be shown (default is false)
711
- * @param slot the supporting slot to use
712
- *
713
- * @returns the calcite action node
714
- * @protected
715
- */
716
- _getAction(enabled, icon, text, onClick, indicator = false, slot = "") {
717
- return (h("calcite-action", { disabled: !enabled, icon: icon, indicator: indicator, onClick: onClick, slot: slot, text: text }));
718
- }
719
- /**
720
- * Store the number of selected features and if it's more than one enable save
721
- *
722
- * @returns the page node
723
- * @protected
724
- */
725
- _updateForSelection(evt) {
726
- this._numSelected = evt.detail;
727
- this._saveEnabled = this._numSelected > 0;
728
- }
729
- /**
730
- * Clear the selection and navigate to the home page
731
- *
732
- * @returns Promise when the function has completed
733
- * @protected
734
- */
735
- async _home() {
736
- await this._clearSelection();
737
- this._setPageType(EPageType.LIST);
738
- }
739
- /**
740
- * Update the selection sets with any new selections from the select tools
741
- *
742
- * @returns Promise when the function has completed
743
- * @protected
744
- */
745
- async _saveSelection() {
746
- var _a, _b;
747
- const results = await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.getSelection());
748
- const isUpdate = (_b = this._selectTools) === null || _b === void 0 ? void 0 : _b.isUpdate;
749
- this._selectionSets = isUpdate ? this._selectionSets.map(ss => {
750
- return ss.id === results.id ? results : ss;
751
- }) : [
752
- ...this._selectionSets,
753
- results
754
- ];
755
- return this._home();
756
- }
757
- /**
758
- * Clear any selections
759
- *
760
- * @returns Promise when the function has completed
761
- * @protected
762
- */
763
- async _clearSelection() {
764
- var _a;
765
- await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.clearSelection());
766
- this._numSelected = 0;
767
- this._activeSelection = undefined;
768
- }
769
- /**
770
- * Delete the selection at the defined index
771
- *
772
- * @param index number that defines what selection set to delete
773
- *
774
- * @protected
775
- */
776
- _deleteSelection(index, evt) {
777
- evt.stopPropagation();
778
- this._selectionSets = this._selectionSets.filter((ss, i) => {
779
- if (i !== index) {
780
- return ss;
781
- }
782
- });
783
- return this._highlightFeatures();
784
- }
785
- /**
786
- * Pan to the current selection
787
- *
788
- * @param selSet ISelectionSet to pan to
789
- * @param mapView Current MapView to pan within
790
- *
791
- * @protected
792
- */
793
- _gotoSelection(selSet, mapView) {
794
- void goToSelection(selSet.selectedIds, selSet.layerView, mapView, this.featureHighlightEnabled, this.featureEffect);
795
- }
796
- /**
797
- * Open the selection set for further adjustment
798
- *
799
- * @protected
800
- */
801
- _openSelection(selectionSet, evt) {
802
- evt.stopPropagation();
803
- this._activeSelection = selectionSet;
804
- this._pageType = selectionSet.workflowType === EWorkflowType.REFINE ?
805
- EPageType.REFINE : EPageType.SELECT;
806
- }
807
- /**
808
- * Highlight any selected features in the map
809
- *
810
- * @protected
811
- */
812
- async _highlightFeatures() {
813
- this._clearHighlight();
814
- const idSets = this._getSelectionIdsAndViews(this._selectionSets, this._pageType === EPageType.EXPORT);
815
- const idKeys = Object.keys(idSets);
816
- if (idKeys.length > 0) {
817
- for (let i = 0; i < idKeys.length; i++) {
818
- const idSet = idSets[idKeys[i]];
819
- state.highlightHandles.push(await highlightFeatures(idSet.ids, idSet.layerView, this.mapView));
820
- }
821
- }
822
- }
823
- /**
824
- * Clear any highlighted features in the map
825
- *
826
- * @protected
827
- */
828
- _checkPopups() {
829
- var _a;
830
- if (typeof this._popupsEnabled !== 'boolean') {
831
- this._popupsEnabled = (_a = this.mapView) === null || _a === void 0 ? void 0 : _a.popupEnabled;
832
- }
833
- }
834
- /**
835
- * Clear any highlighted features in the map
836
- *
837
- * @protected
838
- */
839
- _clearHighlight() {
840
- if (state && state.highlightHandles) {
841
- state.removeHandles();
842
- }
843
- }
844
- /**
845
- * Fetches the component's translations
846
- *
847
- * @protected
848
- */
849
- async _getTranslations() {
850
- const translations = await getLocaleComponentStrings(this.el);
851
- this._translations = translations[0];
852
- }
853
- static get is() { return "public-notification"; }
854
- static get originalStyleUrls() {
855
- return {
856
- "$": ["public-notification.css"]
857
- };
858
- }
859
- static get styleUrls() {
860
- return {
861
- "$": ["public-notification.css"]
862
- };
863
- }
864
- static get properties() {
865
- return {
866
- "addresseeLayerIds": {
867
- "type": "unknown",
868
- "mutable": false,
869
- "complexType": {
870
- "original": "string[]",
871
- "resolved": "string[]",
872
- "references": {}
873
- },
874
- "required": false,
875
- "optional": false,
876
- "docs": {
877
- "tags": [],
878
- "text": "string[]: List of layer ids that should be shown as potential addressee layers"
879
- },
880
- "defaultValue": "[]"
881
- },
882
- "bufferColor": {
883
- "type": "any",
884
- "mutable": false,
885
- "complexType": {
886
- "original": "any",
887
- "resolved": "any",
888
- "references": {}
889
- },
890
- "required": false,
891
- "optional": false,
892
- "docs": {
893
- "tags": [],
894
- "text": "string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html"
895
- },
896
- "attribute": "buffer-color",
897
- "reflect": false,
898
- "defaultValue": "[227, 139, 79, 0.8]"
899
- },
900
- "bufferOutlineColor": {
901
- "type": "any",
902
- "mutable": false,
903
- "complexType": {
904
- "original": "any",
905
- "resolved": "any",
906
- "references": {}
907
- },
908
- "required": false,
909
- "optional": false,
910
- "docs": {
911
- "tags": [],
912
- "text": "string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html"
913
- },
914
- "attribute": "buffer-outline-color",
915
- "reflect": false,
916
- "defaultValue": "[255, 255, 255]"
917
- },
918
- "customLabelEnabled": {
919
- "type": "boolean",
920
- "mutable": false,
921
- "complexType": {
922
- "original": "boolean",
923
- "resolved": "boolean",
924
- "references": {}
925
- },
926
- "required": false,
927
- "optional": false,
928
- "docs": {
929
- "tags": [],
930
- "text": "boolean: When true the user can define a name for each notification list"
931
- },
932
- "attribute": "custom-label-enabled",
933
- "reflect": false
934
- },
935
- "defaultBufferDistance": {
936
- "type": "number",
937
- "mutable": false,
938
- "complexType": {
939
- "original": "number",
940
- "resolved": "number",
941
- "references": {}
942
- },
943
- "required": false,
944
- "optional": false,
945
- "docs": {
946
- "tags": [],
947
- "text": "number: The default value to show for the buffer distance"
948
- },
949
- "attribute": "default-buffer-distance",
950
- "reflect": false
951
- },
952
- "defaultBufferUnit": {
953
- "type": "string",
954
- "mutable": false,
955
- "complexType": {
956
- "original": "DistanceUnit",
957
- "resolved": "\"feet\" | \"kilometers\" | \"meters\" | \"miles\"",
958
- "references": {
959
- "DistanceUnit": {
960
- "location": "import",
961
- "path": "../../utils/interfaces",
962
- "id": "src/utils/interfaces.ts::DistanceUnit"
963
- }
964
- }
965
- },
966
- "required": false,
967
- "optional": false,
968
- "docs": {
969
- "tags": [],
970
- "text": "number: The default value to show for the buffer unit (\"feet\"|\"meters\"|\"miles\"|\"kilometers\")"
971
- },
972
- "attribute": "default-buffer-unit",
973
- "reflect": false
974
- },
975
- "defaultExportTitle": {
976
- "type": "string",
977
- "mutable": false,
978
- "complexType": {
979
- "original": "string",
980
- "resolved": "string",
981
- "references": {}
982
- },
983
- "required": false,
984
- "optional": false,
985
- "docs": {
986
- "tags": [],
987
- "text": "string: The default value to use for the export title"
988
- },
989
- "attribute": "default-export-title",
990
- "reflect": false,
991
- "defaultValue": "\"\""
992
- },
993
- "defaultNumLabelsPerPage": {
994
- "type": "any",
995
- "mutable": false,
996
- "complexType": {
997
- "original": "any",
998
- "resolved": "any",
999
- "references": {}
1000
- },
1001
- "required": false,
1002
- "optional": false,
1003
- "docs": {
1004
- "tags": [],
1005
- "text": "number: The default number of labels per page to export"
1006
- },
1007
- "attribute": "default-num-labels-per-page",
1008
- "reflect": false
1009
- },
1010
- "featureEffect": {
1011
- "type": "unknown",
1012
- "mutable": false,
1013
- "complexType": {
1014
- "original": "__esri.FeatureEffect",
1015
- "resolved": "FeatureEffect",
1016
- "references": {
1017
- "___esri": {
1018
- "location": "global",
1019
- "id": "global::___esri"
1020
- }
1021
- }
1022
- },
1023
- "required": false,
1024
- "optional": false,
1025
- "docs": {
1026
- "tags": [],
1027
- "text": "The effect that will be applied when featureHighlightEnabled is true\r\n\r\nesri/layers/support/FeatureEffect: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureEffect.html"
1028
- }
1029
- },
1030
- "featureHighlightEnabled": {
1031
- "type": "boolean",
1032
- "mutable": false,
1033
- "complexType": {
1034
- "original": "boolean",
1035
- "resolved": "boolean",
1036
- "references": {}
1037
- },
1038
- "required": false,
1039
- "optional": false,
1040
- "docs": {
1041
- "tags": [],
1042
- "text": "boolean: When enabled features will be highlighted when their notification list item is clicked."
1043
- },
1044
- "attribute": "feature-highlight-enabled",
1045
- "reflect": false
1046
- },
1047
- "mapView": {
1048
- "type": "unknown",
1049
- "mutable": false,
1050
- "complexType": {
1051
- "original": "__esri.MapView",
1052
- "resolved": "MapView",
1053
- "references": {
1054
- "___esri": {
1055
- "location": "global",
1056
- "id": "global::___esri"
1057
- }
1058
- }
1059
- },
1060
- "required": false,
1061
- "optional": false,
1062
- "docs": {
1063
- "tags": [],
1064
- "text": "esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
1065
- }
1066
- },
1067
- "noResultText": {
1068
- "type": "string",
1069
- "mutable": false,
1070
- "complexType": {
1071
- "original": "string",
1072
- "resolved": "string",
1073
- "references": {}
1074
- },
1075
- "required": false,
1076
- "optional": false,
1077
- "docs": {
1078
- "tags": [],
1079
- "text": "string: The value to show for no results\r\nwhen left empty the default text \"0 selected features from {layerTitle}\" will be shown"
1080
- },
1081
- "attribute": "no-result-text",
1082
- "reflect": false
1083
- },
1084
- "searchConfiguration": {
1085
- "type": "unknown",
1086
- "mutable": true,
1087
- "complexType": {
1088
- "original": "ISearchConfiguration",
1089
- "resolved": "ISearchConfiguration",
1090
- "references": {
1091
- "ISearchConfiguration": {
1092
- "location": "import",
1093
- "path": "../../utils/interfaces",
1094
- "id": "src/utils/interfaces.ts::ISearchConfiguration"
1095
- }
1096
- }
1097
- },
1098
- "required": false,
1099
- "optional": false,
1100
- "docs": {
1101
- "tags": [],
1102
- "text": "ISearchConfiguration: Configuration details for the Search widget"
1103
- }
1104
- },
1105
- "selectionLayerIds": {
1106
- "type": "unknown",
1107
- "mutable": false,
1108
- "complexType": {
1109
- "original": "string[]",
1110
- "resolved": "string[]",
1111
- "references": {}
1112
- },
1113
- "required": false,
1114
- "optional": false,
1115
- "docs": {
1116
- "tags": [],
1117
- "text": "string[]: List of layer ids that should be shown as potential selection layers\r\nwhen skectching with \"Use layer features\" option"
1118
- },
1119
- "defaultValue": "[]"
1120
- },
1121
- "showRefineSelection": {
1122
- "type": "boolean",
1123
- "mutable": false,
1124
- "complexType": {
1125
- "original": "boolean",
1126
- "resolved": "boolean",
1127
- "references": {}
1128
- },
1129
- "required": false,
1130
- "optional": false,
1131
- "docs": {
1132
- "tags": [],
1133
- "text": "boolean: When true the refine selection workflow will be included in the UI"
1134
- },
1135
- "attribute": "show-refine-selection",
1136
- "reflect": false,
1137
- "defaultValue": "false"
1138
- },
1139
- "showSearchSettings": {
1140
- "type": "boolean",
1141
- "mutable": false,
1142
- "complexType": {
1143
- "original": "boolean",
1144
- "resolved": "boolean",
1145
- "references": {}
1146
- },
1147
- "required": false,
1148
- "optional": false,
1149
- "docs": {
1150
- "tags": [],
1151
- "text": "boolean: When false no buffer distance or unit controls will be exposed"
1152
- },
1153
- "attribute": "show-search-settings",
1154
- "reflect": false,
1155
- "defaultValue": "true"
1156
- },
1157
- "sketchLineSymbol": {
1158
- "type": "any",
1159
- "mutable": false,
1160
- "complexType": {
1161
- "original": "__esri.SimpleLineSymbol | any",
1162
- "resolved": "any",
1163
- "references": {
1164
- "___esri": {
1165
- "location": "global",
1166
- "id": "global::___esri"
1167
- }
1168
- }
1169
- },
1170
- "required": false,
1171
- "optional": false,
1172
- "docs": {
1173
- "tags": [],
1174
- "text": "esri/symbols/SimpleLineSymbol | JSON representation : https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1175
- },
1176
- "attribute": "sketch-line-symbol",
1177
- "reflect": false
1178
- },
1179
- "sketchPointSymbol": {
1180
- "type": "any",
1181
- "mutable": false,
1182
- "complexType": {
1183
- "original": "__esri.SimpleMarkerSymbol | any",
1184
- "resolved": "any",
1185
- "references": {
1186
- "___esri": {
1187
- "location": "global",
1188
- "id": "global::___esri"
1189
- }
1190
- }
1191
- },
1192
- "required": false,
1193
- "optional": false,
1194
- "docs": {
1195
- "tags": [],
1196
- "text": "esri/symbols/SimpleMarkerSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1197
- },
1198
- "attribute": "sketch-point-symbol",
1199
- "reflect": false
1200
- },
1201
- "sketchPolygonSymbol": {
1202
- "type": "any",
1203
- "mutable": false,
1204
- "complexType": {
1205
- "original": "__esri.SimpleFillSymbol | any",
1206
- "resolved": "any",
1207
- "references": {
1208
- "___esri": {
1209
- "location": "global",
1210
- "id": "global::___esri"
1211
- }
1212
- }
1213
- },
1214
- "required": false,
1215
- "optional": false,
1216
- "docs": {
1217
- "tags": [],
1218
- "text": "esri/symbols/SimpleFillSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1219
- },
1220
- "attribute": "sketch-polygon-symbol",
1221
- "reflect": false
1222
- }
1223
- };
1224
- }
1225
- static get states() {
1226
- return {
1227
- "_addMap": {},
1228
- "_addTitle": {},
1229
- "_downloadActive": {},
1230
- "_exportType": {},
1231
- "_fetchingData": {},
1232
- "_isMobile": {},
1233
- "_numDuplicates": {},
1234
- "_pageType": {},
1235
- "_saveEnabled": {},
1236
- "_selectionSets": {},
1237
- "_translations": {}
1238
- };
1239
- }
1240
- static get events() {
1241
- return [{
1242
- "method": "searchConfigurationChange",
1243
- "name": "searchConfigurationChange",
1244
- "bubbles": true,
1245
- "cancelable": true,
1246
- "composed": true,
1247
- "docs": {
1248
- "tags": [],
1249
- "text": "Emitted on demand when searchConfiguration gets a new value"
1250
- },
1251
- "complexType": {
1252
- "original": "ISearchConfiguration",
1253
- "resolved": "ISearchConfiguration",
1254
- "references": {
1255
- "ISearchConfiguration": {
1256
- "location": "import",
1257
- "path": "../../utils/interfaces",
1258
- "id": "src/utils/interfaces.ts::ISearchConfiguration"
1259
- }
1260
- }
1261
- }
1262
- }];
1263
- }
1264
- static get elementRef() { return "el"; }
1265
- static get watchers() {
1266
- return [{
1267
- "propName": "mapView",
1268
- "methodName": "mapViewWatchHandler"
1269
- }, {
1270
- "propName": "searchConfiguration",
1271
- "methodName": "watchSearchConfigurationHandler"
1272
- }, {
1273
- "propName": "sketchLineSymbol",
1274
- "methodName": "sketchLineSymbolWatchHandler"
1275
- }, {
1276
- "propName": "sketchPointSymbol",
1277
- "methodName": "sketchPointSymbolWatchHandler"
1278
- }, {
1279
- "propName": "sketchPolygonSymbol",
1280
- "methodName": "sketchPolygonSymbolWatchHandler"
1281
- }, {
1282
- "propName": "_pageType",
1283
- "methodName": "pageTypeWatchHandler"
1284
- }];
1285
- }
1286
- static get listeners() {
1287
- return [{
1288
- "name": "selectionSetsChanged",
1289
- "method": "selectionSetsChanged",
1290
- "target": "window",
1291
- "capture": false,
1292
- "passive": false
1293
- }];
1294
- }
1295
- }
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /** @license
7
+ * Copyright 2022 Esri
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ import { Host, h } from "@stencil/core";
22
+ import { EExportType, EPageType, EWorkflowType } from "../../utils/interfaces";
23
+ import { loadModules } from "../../utils/loadModules";
24
+ import { goToSelection, highlightFeatures } from "../../utils/mapViewUtils";
25
+ import state from "../../utils/publicNotificationStore";
26
+ import { getLocaleComponentStrings } from "../../utils/locale";
27
+ import { consolidateLabels, removeDuplicateLabels } from "../../utils/downloadUtils";
28
+ import { getAssetPath } from "@stencil/core";
29
+ export class PublicNotification {
30
+ constructor() {
31
+ /**
32
+ * string: The url to the onboarding image
33
+ */
34
+ this._onboardingImageUrl = "";
35
+ /**
36
+ * Text to be used as title on PDF pages
37
+ */
38
+ this._titleValue = undefined;
39
+ /**
40
+ * number: The number of selected features
41
+ */
42
+ this._numSelected = 0;
43
+ this.addresseeLayerIds = [];
44
+ this.bufferColor = [227, 139, 79, 0.8];
45
+ this.bufferOutlineColor = [255, 255, 255];
46
+ this.customLabelEnabled = undefined;
47
+ this.defaultBufferDistance = undefined;
48
+ this.defaultBufferUnit = undefined;
49
+ this.defaultExportTitle = "";
50
+ this.defaultNumLabelsPerPage = undefined;
51
+ this.featureEffect = undefined;
52
+ this.featureHighlightEnabled = undefined;
53
+ this.mapView = undefined;
54
+ this.noResultText = undefined;
55
+ this.searchConfiguration = undefined;
56
+ this.selectionLayerIds = [];
57
+ this.showRefineSelection = false;
58
+ this.showSearchSettings = true;
59
+ this.sketchLineSymbol = undefined;
60
+ this.sketchPointSymbol = undefined;
61
+ this.sketchPolygonSymbol = undefined;
62
+ this._addMap = false;
63
+ this._addTitle = false;
64
+ this._downloadActive = true;
65
+ this._exportType = EExportType.PDF;
66
+ this._fetchingData = false;
67
+ this._isMobile = undefined;
68
+ this._numDuplicates = 0;
69
+ this._pageType = EPageType.LIST;
70
+ this._saveEnabled = false;
71
+ this._selectionSets = [];
72
+ this._translations = undefined;
73
+ }
74
+ //--------------------------------------------------------------------------
75
+ //
76
+ // Watch handlers
77
+ //
78
+ //--------------------------------------------------------------------------
79
+ /**
80
+ * Called each time the mapView prop is changed.
81
+ */
82
+ async mapViewWatchHandler(v) {
83
+ if (v === null || v === void 0 ? void 0 : v.popup) {
84
+ this._popupsEnabled = v === null || v === void 0 ? void 0 : v.popup.autoOpenEnabled;
85
+ }
86
+ }
87
+ /**
88
+ * Called each time the searchConfiguration prop is changed.
89
+ *
90
+ * @returns Promise when complete
91
+ */
92
+ async watchSearchConfigurationHandler(newValue, oldValue) {
93
+ const s_newValue = JSON.stringify(newValue);
94
+ if (s_newValue !== JSON.stringify(oldValue)) {
95
+ this._searchConfiguration = JSON.parse(s_newValue);
96
+ this.searchConfigurationChange.emit(this._searchConfiguration);
97
+ // force back to list page before we create Search
98
+ // https://devtopia.esri.com/WebGIS/arcgis-template-configuration/issues/3402
99
+ void this._home();
100
+ }
101
+ }
102
+ /**
103
+ * Called each time the sketchLineSymbol prop is changed.
104
+ */
105
+ async sketchLineSymbolWatchHandler(v, oldV) {
106
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
107
+ this._setLineSymbol(v);
108
+ }
109
+ }
110
+ /**
111
+ * Called each time the sketchPointSymbol prop is changed.
112
+ */
113
+ async sketchPointSymbolWatchHandler(v, oldV) {
114
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
115
+ this._setPointSymbol(v);
116
+ }
117
+ }
118
+ /**
119
+ * Called each time the sketchPolygonSymbol prop is changed.
120
+ */
121
+ async sketchPolygonSymbolWatchHandler(v, oldV) {
122
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
123
+ this._setPolygonSymbol(v);
124
+ }
125
+ }
126
+ /**
127
+ * Called each time the pageType prop is changed.
128
+ */
129
+ async pageTypeWatchHandler(pageType, oldPageType) {
130
+ var _a;
131
+ this._checkPopups();
132
+ if ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.popup) {
133
+ this.mapView.popupEnabled = pageType !== EPageType.LIST ? false : this._popupsEnabled;
134
+ }
135
+ if (pageType === EPageType.EXPORT) {
136
+ this._fetchingData = true;
137
+ this._numDuplicates = await this._getNumDuplicates();
138
+ this._fetchingData = false;
139
+ }
140
+ this._clearHighlight();
141
+ if (oldPageType === EPageType.SELECT || oldPageType === EPageType.REFINE) {
142
+ // clear any draw shapes or buffers
143
+ await this._clearSelection();
144
+ }
145
+ if (pageType !== EPageType.SELECT) {
146
+ return this._highlightFeatures();
147
+ }
148
+ }
149
+ /**
150
+ * Handle changes to the selection sets
151
+ */
152
+ selectionSetsChanged(event) {
153
+ this._selectionSets = [...event.detail];
154
+ }
155
+ //--------------------------------------------------------------------------
156
+ //
157
+ // Functions (lifecycle)
158
+ //
159
+ //--------------------------------------------------------------------------
160
+ /**
161
+ * StencilJS: Called every time the component is connected to the DOM
162
+ */
163
+ connectedCallback() {
164
+ this._mediaQuery = window.matchMedia("(max-width: 600px)");
165
+ this._mediaQuery.addEventListener("change", (evt) => this._setIsMobile(evt));
166
+ }
167
+ /**
168
+ * StencilJS: Called once just after the component is first connected to the DOM.
169
+ */
170
+ async componentWillLoad() {
171
+ await this._getTranslations();
172
+ await this._initModules();
173
+ this._initSymbols();
174
+ this._onboardingImageUrl = getAssetPath(`../assets/data/images/onboarding.png`);
175
+ }
176
+ /**
177
+ * Renders the component.
178
+ */
179
+ render() {
180
+ const headerSlot = this._isMobile ? "footer" : "header";
181
+ return (h(Host, null, h("calcite-shell", null, h("calcite-action-bar", { class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: headerSlot }, this._getActionGroup("list-check", EPageType.LIST, this._translations.myLists), this.showRefineSelection ? this._getActionGroup("test-data", EPageType.REFINE, this._translations.refineSelection) : null, this._getActionGroup("export", EPageType.EXPORT, this._translations.export)), this._getPage(this._pageType))));
182
+ }
183
+ /**
184
+ * StencilJS: Called every time the component is disconnected from the DOM
185
+ */
186
+ disconnectedCallback() {
187
+ this._mediaQuery.removeEventListener("change", (evt) => this._setIsMobile(evt));
188
+ }
189
+ //--------------------------------------------------------------------------
190
+ //
191
+ // Functions (protected)
192
+ //
193
+ //--------------------------------------------------------------------------
194
+ /**
195
+ * Load esri javascript api modules
196
+ *
197
+ * @returns Promise resolving when function is done
198
+ *
199
+ * @protected
200
+ */
201
+ async _initModules() {
202
+ const [geometryEngine, jsonUtils] = await loadModules([
203
+ "esri/geometry/geometryEngine",
204
+ "esri/symbols/support/jsonUtils"
205
+ ]);
206
+ this._geometryEngine = geometryEngine;
207
+ this._jsonUtils = jsonUtils;
208
+ }
209
+ /**
210
+ * Initialize the default symbols that will be used when creating new graphics
211
+ *
212
+ * @protected
213
+ */
214
+ _initSymbols() {
215
+ this._setLineSymbol(this.sketchLineSymbol);
216
+ this._setPointSymbol(this.sketchPointSymbol);
217
+ this._setPolygonSymbol(this.sketchPolygonSymbol);
218
+ }
219
+ /**
220
+ * Convert a JSON representation of a line symbol and/or set the line symbol
221
+ *
222
+ * @param v SimpleLineSymbol or a JSON representation of a line symbol
223
+ *
224
+ * @protected
225
+ */
226
+ _setLineSymbol(v) {
227
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-line';
228
+ this.sketchLineSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
229
+ "type": "esriSLS",
230
+ "color": [130, 130, 130, 255],
231
+ "width": 2,
232
+ "style": "esriSLSSolid"
233
+ });
234
+ }
235
+ /**
236
+ * Convert a JSON representation of a point symbol and/or set the point symbol
237
+ *
238
+ * @param v SimpleMarkerSymbol or a JSON representation of a point symbol
239
+ *
240
+ * @protected
241
+ */
242
+ _setPointSymbol(v) {
243
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-marker';
244
+ this.sketchPointSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
245
+ "type": "esriSMS",
246
+ "color": [255, 255, 255, 255],
247
+ "angle": 0,
248
+ "xoffset": 0,
249
+ "yoffset": 0,
250
+ "size": 6,
251
+ "style": "esriSMSCircle",
252
+ "outline": {
253
+ "type": "esriSLS",
254
+ "color": [50, 50, 50, 255],
255
+ "width": 1,
256
+ "style": "esriSLSSolid"
257
+ }
258
+ });
259
+ }
260
+ /**
261
+ * Convert a JSON representation of a polygon symbol and/or set the polygon symbol
262
+ *
263
+ * @param v SimpleFillSymbol or a JSON representation of a polygon symbol
264
+ *
265
+ * @protected
266
+ */
267
+ _setPolygonSymbol(v) {
268
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-fill';
269
+ this.sketchPolygonSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
270
+ "type": "esriSFS",
271
+ "color": [150, 150, 150, 51],
272
+ "outline": {
273
+ "type": "esriSLS",
274
+ "color": [50, 50, 50, 255],
275
+ "width": 2,
276
+ "style": "esriSLSSolid"
277
+ },
278
+ "style": "esriSFSSolid"
279
+ });
280
+ }
281
+ /**
282
+ * Set _isMobile to true when the view is 600px or less
283
+ *
284
+ * @param evt event from media query
285
+ *
286
+ * @protected
287
+ */
288
+ _setIsMobile(evt) {
289
+ this._isMobile = evt.matches;
290
+ }
291
+ /**
292
+ * Get a calcite action group for the current action
293
+ *
294
+ * @param icon the icon to display for the current action
295
+ * @param disabled should the action be disabled
296
+ * @param pageType what page type will the action navigate to
297
+ * @param tip information tip to display helpful details to end user
298
+ *
299
+ * @protected
300
+ */
301
+ _getActionGroup(icon, pageType, tip) {
302
+ const sizeClass = this.showRefineSelection ? " w-1-3" : " w-1-2";
303
+ return (h("calcite-action-group", { class: "action-center" + sizeClass, layout: "horizontal" }, h("div", { class: "background-override" }, h("calcite-action", { active: this._pageType === pageType, alignment: "center", class: "width-full height-full", compact: false, icon: icon, id: icon, onClick: () => { this._setPageType(pageType); }, text: "" })), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, tip))));
304
+ }
305
+ /**
306
+ * Navigate to the defined page type
307
+ *
308
+ * @param pageType what page type will the action navigate to
309
+ *
310
+ * @protected
311
+ */
312
+ _setPageType(pageType) {
313
+ this._pageType = pageType;
314
+ }
315
+ /**
316
+ * Navigate to the defined page type
317
+ *
318
+ * @param pageType what page type will the action navigate to
319
+ *
320
+ * @returns the page node
321
+ * @protected
322
+ */
323
+ _getPage(pageType) {
324
+ let page;
325
+ switch (pageType) {
326
+ case EPageType.LIST:
327
+ page = this._getListPage();
328
+ break;
329
+ case EPageType.SELECT:
330
+ page = this._getSelectPage();
331
+ break;
332
+ case EPageType.EXPORT:
333
+ page = this._getExportPage();
334
+ break;
335
+ case EPageType.REFINE:
336
+ page = this._getRefinePage();
337
+ break;
338
+ }
339
+ return page;
340
+ }
341
+ /**
342
+ * Create the List page that shows as the initial home screen
343
+ * This page is also used to show and selection sets that have been created
344
+ *
345
+ * @returns the page node
346
+ * @protected
347
+ */
348
+ _getListPage() {
349
+ const hasSets = this._hasSelections();
350
+ return (h("calcite-panel", null, this._getLabel(this._translations.myLists), this._getNotice(hasSets ? this._translations.listHasSetsTip : this._translations.selectLayerAndAdd, "padding-sides-1 padding-bottom-1", "word-wrap-anywhere"), hasSets ? this._getSelectionSetList() : (this._getOnboardingImage()), h("div", { class: "display-flex padding-1" }, h("calcite-button", { onClick: () => { this._setPageType(EPageType.SELECT); }, width: "full" }, h("span", { class: "font-weight-500" }, this._translations.add)))));
351
+ }
352
+ /**
353
+ * Display an image to help illustrate the basic workflow of the widget
354
+ *
355
+ * @returns the image node to display
356
+ * @protected
357
+ */
358
+ _getOnboardingImage() {
359
+ return (h("div", { class: "display-flex padding-sides-1" }, h("img", { class: "img-container", src: this._onboardingImageUrl })));
360
+ }
361
+ /**
362
+ * Create the selection sets list node for the List page
363
+ *
364
+ * @returns selection sets list node
365
+ * @protected
366
+ */
367
+ _getSelectionSetList() {
368
+ return (h("div", { class: "padding-top-1-2 padding-bottom-1-2" }, h("calcite-list", { class: "list-border margin-sides-1" }, this._selectionSets.reduce((prev, cur, i) => {
369
+ var _a;
370
+ const ids = this._getSelectionSetIds(cur);
371
+ let validSet = true;
372
+ if (cur.workflowType === EWorkflowType.REFINE) {
373
+ const numIds = Object.keys(cur.refineInfos).reduce((_prev, _cur) => {
374
+ const refineInfo = cur.refineInfos[_cur];
375
+ _prev += refineInfo.addIds.length + refineInfo.removeIds.length;
376
+ return _prev;
377
+ }, 0);
378
+ validSet = numIds > 0;
379
+ }
380
+ if (validSet) {
381
+ prev.push((h("calcite-list-item", { label: cur.label, onClick: () => this._gotoSelection(cur, this.mapView) }, h("div", { slot: "content" }, h("div", { class: "list-label" }, cur.label), h("div", { class: "list-description" }, (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.title), h("div", { class: "list-description" }, this._translations.selectedFeatures.replace("{{n}}", ids.length.toString()))), this._getAction(true, "pencil", "", (evt) => this._openSelection(cur, evt), false, "actions-end"), this._getAction(true, "x", "", (evt) => this._deleteSelection(i, evt), false, "actions-end"))));
382
+ }
383
+ return prev;
384
+ }, []))));
385
+ }
386
+ /**
387
+ * Get the ids for a given selection set
388
+ * For most sets this will be selectedIds
389
+ * For the Refine set we are only concerned with IDs from ADD operations on any of the layers
390
+ *
391
+ * @returns an array of the IDs
392
+ *
393
+ * @protected
394
+ */
395
+ _getSelectionSetIds(selectionSet) {
396
+ return selectionSet.workflowType !== EWorkflowType.REFINE ? selectionSet.selectedIds :
397
+ Object.keys(selectionSet.refineInfos).reduce((p, c) => [...p, ...selectionSet.refineInfos[c].addIds], []);
398
+ }
399
+ /**
400
+ * Check if any valid selection sets exist.
401
+ *
402
+ * @returns true if valid selection sets exist
403
+ *
404
+ * @protected
405
+ */
406
+ _hasSelections(validateRefineSet = false) {
407
+ let ids = [];
408
+ const hasRefineSet = this._selectionSets.some(ss => {
409
+ if (ss.workflowType === EWorkflowType.REFINE) {
410
+ ids = this._getSelectionSetIds(ss);
411
+ return true;
412
+ }
413
+ });
414
+ return validateRefineSet && hasRefineSet ? ids.length > 0 || this._selectionSets.length > 1 : this._selectionSets.length > 0;
415
+ }
416
+ /**
417
+ * Check if any duplicate labels exist
418
+ *
419
+ * @returns true if duplicates are found
420
+ *
421
+ * @protected
422
+ */
423
+ async _getNumDuplicates() {
424
+ const exportInfos = this._getExportInfos();
425
+ const labels = await consolidateLabels(exportInfos);
426
+ const duplicatesRemoved = removeDuplicateLabels(labels);
427
+ return labels.length - duplicatesRemoved.length;
428
+ }
429
+ /**
430
+ * Get key details about what to export
431
+ *
432
+ * @returns IExportInfos that contain ids and layer
433
+ *
434
+ * @protected
435
+ */
436
+ _getExportInfos() {
437
+ return this._selectionSets.reduce((prev, cur) => {
438
+ if (cur.download) {
439
+ if (cur.workflowType !== EWorkflowType.REFINE) {
440
+ const id = cur.layerView.layer.id;
441
+ this._updateIds(id, cur.layerView, cur.selectedIds, prev);
442
+ }
443
+ else {
444
+ // REFINE stores ids differently as it can contain ids from multiple layers
445
+ // REFINE will only ever be 1 ISelectionSet
446
+ Object.keys(cur.refineInfos).forEach(k => {
447
+ const refineIds = cur.refineInfos[k];
448
+ if (refineIds.addIds.length > 0) {
449
+ this._updateIds(k, refineIds.layerView, refineIds.addIds, prev);
450
+ }
451
+ });
452
+ }
453
+ }
454
+ return prev;
455
+ }, {});
456
+ }
457
+ /**
458
+ * Consolidate ids for each layer
459
+ *
460
+ * @param id the layer id from the selectionSet
461
+ * @param layerView the layerView from the selectionSet
462
+ * @param ids the selectedIds from the selectionSet
463
+ * @param obj the object that will store the consolidated ids and layer info
464
+ *
465
+ * @returns IExportInfo key details that will be used for export
466
+ *
467
+ * @protected
468
+ */
469
+ _updateIds(id, layerView, ids, obj) {
470
+ if (obj[id]) {
471
+ obj[id].ids = obj[id].ids.concat(ids);
472
+ }
473
+ else {
474
+ obj[id] = {
475
+ layerView,
476
+ ids
477
+ };
478
+ }
479
+ return obj;
480
+ }
481
+ /**
482
+ * Create the Select page that shows the selection workflows
483
+ *
484
+ * @returns the page node
485
+ * @protected
486
+ */
487
+ _getSelectPage() {
488
+ const noticeText = this._translations.selectSearchTip;
489
+ return (h("calcite-panel", null, this._getLabel(this._translations.stepTwoFull, true), this._getNotice(noticeText, "padding-1", "word-wrap-anywhere"), h("div", null, h("map-select-tools", { bufferColor: this.bufferColor, bufferOutlineColor: this.bufferOutlineColor, class: "font-bold", customLabelEnabled: this.customLabelEnabled, defaultBufferDistance: this.defaultBufferDistance, defaultBufferUnit: this.defaultBufferUnit, enabledLayerIds: this.addresseeLayerIds, isUpdate: !!this._activeSelection, mapView: this.mapView, noResultText: this.noResultText, onSelectionSetChange: (evt) => this._updateForSelection(evt), ref: (el) => { this._selectTools = el; }, searchConfiguration: this._searchConfiguration, selectionLayerIds: this.selectionLayerIds, selectionSet: this._activeSelection, sketchLineSymbol: this.sketchLineSymbol, sketchPointSymbol: this.sketchPointSymbol, sketchPolygonSymbol: this.sketchPolygonSymbol })), this._getPageNavButtons(this._translations.done, this._numSelected === 0, () => { void this._saveSelection(); }, this._translations.cancel, false, () => { void this._home(); })));
490
+ }
491
+ /**
492
+ * Create the main download page that has the shared aspects of both PDF and CSV
493
+ * But only show the current PDF or CSV page content
494
+ *
495
+ * @returns the page node
496
+ * @protected
497
+ */
498
+ _getExportPage() {
499
+ const hasSelections = this._hasSelections(this.showRefineSelection);
500
+ const displayDuplicatesClass = this._numDuplicates > 0 ? "display-block" : "display-none";
501
+ return (h("calcite-panel", null, h("div", null, this._getLabel(this._translations.export, false), hasSelections ? (h("div", null, this._getNotice(this._translations.exportTip, "padding-sides-1"), this._getLabel(this._translations.exportListsLabel), this._getExportSelectionLists(), h("div", { class: "padding-sides-1 " + displayDuplicatesClass }, h("div", { class: "display-flex" }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { ref: (el) => { this._removeDuplicates = el; } }), h("div", { class: "display-flex" }, this._translations.removeDuplicate, h("div", { class: "info-message padding-start-1-2" }, h("calcite-input-message", { class: "info-blue margin-top-0", scale: "m" }, ` ${this._translations.numDuplicates.replace("{{n}}", this._numDuplicates.toString())}`)))), h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "remove-duplicates-icon", scale: "s" })), h("calcite-popover", { closable: true, label: "", referenceElement: "remove-duplicates-icon" }, h("span", { class: "tooltip-message" }, this._translations.duplicatesTip))), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("calcite-segmented-control", { class: "w-100", onCalciteSegmentedControlChange: (evt) => this._exportTypeChange(evt) }, h("calcite-segmented-control-item", { checked: this._exportType === EExportType.PDF, class: "w-50 end-border", value: EExportType.PDF }, h("span", { class: "font-weight-500" }, this._translations.pdf)), h("calcite-segmented-control-item", { checked: this._exportType === EExportType.CSV, class: "w-50", value: EExportType.CSV }, h("span", { class: "font-weight-500" }, this._translations.csv)))), h("div", { class: "padding-bottom-1" }, this._getExportOptions()), h("div", { class: "padding-1 display-flex" }, h("calcite-button", { disabled: !this._downloadActive, loading: this._fetchingData, onClick: () => void this._export(), width: "full" }, h("span", { class: "font-weight-500" }, this._translations.export))))) : (this._getNotice(this._translations.downloadNoLists, "padding-sides-1 padding-bottom-1")))));
502
+ }
503
+ /**
504
+ * Store the user selected export type CSV || PDF
505
+ *
506
+ * @protected
507
+ */
508
+ _exportTypeChange(evt) {
509
+ this._exportType = evt.target.value;
510
+ }
511
+ /**
512
+ * Render the export options to the user
513
+ *
514
+ * @protected
515
+ */
516
+ _getExportOptions() {
517
+ const displayClass = this._exportType === EExportType.PDF ? "display-block" : "display-none";
518
+ const titleOptionsClass = this._addTitle ? "display-block" : "display-none";
519
+ const title = this._titleValue !== undefined ? this._titleValue : this.defaultExportTitle ? this.defaultExportTitle : "";
520
+ return (h("div", { class: displayClass }, this._getLabel(this._translations.pdfOptions, true), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0" }, this._translations.selectPDFLabelOption)), h("div", { class: "padding-sides-1" }, h("pdf-download", { defaultNumLabelsPerPage: this.defaultNumLabelsPerPage, disabled: !this._downloadActive, ref: (el) => { this._downloadTools = el; } })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addTitle, onCalciteCheckboxChange: () => this._addTitle = !this._addTitle }), this._translations.addTitle)), h("div", { class: titleOptionsClass }, this._getLabel(this._translations.title, true, ""), h("calcite-input-text", { class: "padding-sides-1", onCalciteInputTextInput: () => this._changeTitle(), placeholder: this._translations.titlePlaceholder, ref: (el) => { this._titleElement = el; }, value: title })), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "label-margin-0", layout: "inline" }, h("calcite-checkbox", { checked: this._addMap, onCalciteCheckboxChange: () => this._addMap = !this._addMap }), this._translations.includeMap))));
521
+ }
522
+ /**
523
+ * Render the refine page
524
+ *
525
+ * @protected
526
+ */
527
+ _getRefinePage() {
528
+ const hasSelections = this._hasSelections();
529
+ return (h("calcite-panel", null, this._getLabel(this._translations.refineSelection), hasSelections ? (h("div", null, this._getNotice(this._translations.refineTip, "padding-sides-1"), h("refine-selection", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, selectionSets: this._selectionSets, sketchLineSymbol: this.sketchLineSymbol, sketchPointSymbol: this.sketchPointSymbol, sketchPolygonSymbol: this.sketchPolygonSymbol }))) :
530
+ this._getNotice(this._translations.refineTipNoSelections, "padding-sides-1")));
531
+ }
532
+ /**
533
+ * Create the stacked navigation buttons for a page
534
+ *
535
+ * @param topLabel the label to use for the button on top
536
+ * @param topDisabled should the button be disabled
537
+ * @param topFunc the fucntion to execute when the button is clicked
538
+ * @param bottomLabel the label to use for the button on bottom
539
+ * @param bottomDisabled should the button be disabled
540
+ * @param bottomFunc the fucntion to execute when the button is clicked
541
+ *
542
+ * @returns the page node
543
+ * @protected
544
+ */
545
+ _getPageNavButtons(topLabel, topDisabled, topFunc, bottomLabel, bottomDisabled, bottomFunc) {
546
+ return (h("div", { class: "padding-bottom-1" }, h("div", { class: "display-flex padding-top-sides-1" }, h("calcite-button", { disabled: topDisabled, onClick: topFunc, width: "full" }, h("span", { class: "font-weight-500" }, topLabel))), h("div", { class: "display-flex padding-top-1-2 padding-sides-1" }, h("calcite-button", { appearance: "outline", disabled: bottomDisabled, onClick: bottomFunc, width: "full" }, h("span", { class: "font-weight-500" }, bottomLabel)))));
547
+ }
548
+ /**
549
+ * Store the user defined title value
550
+ */
551
+ _changeTitle() {
552
+ this._titleValue = this._titleElement.value;
553
+ }
554
+ /**
555
+ * Create an informational notice
556
+ *
557
+ * @param message the message to display in the notice
558
+ * @param noticeClass any custom css for the notice (default is "padding-1")
559
+ *
560
+ * @returns the notice node
561
+ * @protected
562
+ */
563
+ _getNotice(message, noticeClass = "padding-1", messageClass = "") {
564
+ return (h("calcite-notice", { class: noticeClass, icon: "lightbulb", kind: "success", open: true }, h("div", { class: messageClass, slot: "message" }, message)));
565
+ }
566
+ /**
567
+ * Create a calcite label
568
+ *
569
+ * @param label value to display in the label
570
+ * @param disableSpacing should extra calcite defined spacing be applied
571
+ * @param labelClass by default label will be bold unless overridden here
572
+ *
573
+ * @returns the label node
574
+ * @protected
575
+ */
576
+ _getLabel(label, disableSpacing = false, labelClass = "font-bold") {
577
+ labelClass += disableSpacing ? " label-margin-0" : "";
578
+ return (h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: labelClass }, label)));
579
+ }
580
+ /**
581
+ * Get selection set list node with checkbox for Download pages
582
+ *
583
+ * @returns the list node
584
+ * @protectedlabel
585
+ */
586
+ _getExportSelectionLists() {
587
+ return this._selectionSets.reduce((prev, cur) => {
588
+ var _a;
589
+ const ids = this._getSelectionSetIds(cur);
590
+ const validSet = cur.workflowType !== EWorkflowType.REFINE || ids.length > 0;
591
+ if (!this._downloadActive && cur.download && validSet) {
592
+ this._downloadActive = true;
593
+ }
594
+ if (validSet) {
595
+ prev.push((h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-checkbox", { checked: cur.download, class: "align-center", onClick: () => { void this._toggleDownload(cur.id); } }), h("calcite-list", { class: "list-border margin-start-1-2 width-full", id: "download-list" }, h("calcite-list-item", { disabled: !cur.download, label: cur.label, onClick: () => { void this._toggleDownload(cur.id); } }, h("div", { slot: "content" }, h("div", { class: "list-label" }, cur.label), h("div", { class: "list-description" }, (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.title), h("div", { class: "list-description" }, this._translations.selectedFeatures.replace("{{n}}", ids.length.toString()))))))));
596
+ }
597
+ return prev;
598
+ }, []) || (h("div", null));
599
+ }
600
+ /**
601
+ * Toggle the disabled state for the download options based on user selection
602
+ *
603
+ * @param id the selection set id to toggle
604
+ *
605
+ * @protected
606
+ */
607
+ async _toggleDownload(id) {
608
+ let isActive = false;
609
+ this._selectionSets = this._selectionSets.map(ss => {
610
+ ss.download = ss.id === id ? !ss.download : ss.download;
611
+ isActive = ss.download ? true : isActive;
612
+ return ss;
613
+ });
614
+ this._downloadActive = isActive;
615
+ this._fetchingData = true;
616
+ this._numDuplicates = await this._getNumDuplicates();
617
+ this._fetchingData = false;
618
+ await this._highlightFeatures();
619
+ }
620
+ /**
621
+ * Download all selection sets as PDF or CSV or alert the user that they need to choose at least 1 export format
622
+ *
623
+ * @protected
624
+ */
625
+ async _export() {
626
+ const exportInfos = this._getSelectionIdsAndViews(this._selectionSets, true);
627
+ if (this._exportType === EExportType.PDF) {
628
+ // Generate a map screenshot
629
+ let initialImageDataUrl = "";
630
+ if (this._addMap && this.mapView) {
631
+ const screenshot = await this.mapView.takeScreenshot({ width: 1500, height: 2000 });
632
+ initialImageDataUrl = screenshot === null || screenshot === void 0 ? void 0 : screenshot.dataUrl;
633
+ }
634
+ this._fetchingData = true;
635
+ // Create the labels for each selection set
636
+ await this._downloadTools.downloadPDF(exportInfos, this._removeDuplicates.checked, this._addTitle ? this._titleElement.value : "", initialImageDataUrl);
637
+ this._fetchingData = false;
638
+ }
639
+ if (this._exportType === EExportType.CSV) {
640
+ this._fetchingData = true;
641
+ await this._downloadTools.downloadCSV(exportInfos, this._removeDuplicates.checked);
642
+ this._fetchingData = false;
643
+ }
644
+ }
645
+ /**
646
+ * Sort selection sets by layer and retain key export details
647
+ *
648
+ * @param selectionSets selection sets to evaluate
649
+ *
650
+ * @returns key export details from the selection sets
651
+ * @protected
652
+ */
653
+ _getSelectionIdsAndViews(selectionSets, downloadSetsOnly = false) {
654
+ const exportSelectionSets = downloadSetsOnly ?
655
+ selectionSets.filter(ss => ss.download) : selectionSets;
656
+ return exportSelectionSets.reduce((prev, cur) => {
657
+ var _a;
658
+ if (cur.workflowType === EWorkflowType.REFINE) {
659
+ Object.keys(cur.refineInfos).forEach(k => {
660
+ const refineInfo = cur.refineInfos[k];
661
+ if (refineInfo.addIds) {
662
+ const _id = refineInfo.layerView.layer.id;
663
+ prev = this._updateExportInfos(prev, _id, cur.label, refineInfo.addIds, refineInfo.layerView);
664
+ }
665
+ });
666
+ }
667
+ else {
668
+ const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
669
+ prev = this._updateExportInfos(prev, id, cur.label, cur.selectedIds, cur.layerView);
670
+ }
671
+ return prev;
672
+ }, {});
673
+ }
674
+ /**
675
+ * Store the ids and selection set names for export
676
+ *
677
+ * @param exportInfos the current export infos object to update
678
+ * @param id the layer id for the selection set
679
+ * @param label the selection sets label
680
+ * @param newIds the current ids
681
+ * @param layerView the layer associated with the selection set
682
+ *
683
+ * @returns key export details from the selection sets
684
+ * @protected
685
+ */
686
+ _updateExportInfos(exportInfos, id, label, newIds, layerView) {
687
+ if (id && Object.keys(exportInfos).indexOf(id) > -1) {
688
+ exportInfos[id].ids = [...new Set([
689
+ ...exportInfos[id].ids,
690
+ ...newIds
691
+ ])];
692
+ exportInfos[id].selectionSetNames.push(label);
693
+ }
694
+ else if (id) {
695
+ exportInfos[id] = {
696
+ ids: newIds,
697
+ layerView: layerView,
698
+ selectionSetNames: [label]
699
+ };
700
+ }
701
+ return exportInfos;
702
+ }
703
+ /**
704
+ * Create a calcite action
705
+ *
706
+ * @param enabled controls the enabled state of the control
707
+ * @param icon the image to display in the action
708
+ * @param text and supporting text for the action
709
+ * @param onClick the fucntion the actio will execute
710
+ * @param indicator boolean to control if an indicator should be shown (default is false)
711
+ * @param slot the supporting slot to use
712
+ *
713
+ * @returns the calcite action node
714
+ * @protected
715
+ */
716
+ _getAction(enabled, icon, text, onClick, indicator = false, slot = "") {
717
+ return (h("calcite-action", { disabled: !enabled, icon: icon, indicator: indicator, onClick: onClick, slot: slot, text: text }));
718
+ }
719
+ /**
720
+ * Store the number of selected features and if it's more than one enable save
721
+ *
722
+ * @returns the page node
723
+ * @protected
724
+ */
725
+ _updateForSelection(evt) {
726
+ this._numSelected = evt.detail;
727
+ this._saveEnabled = this._numSelected > 0;
728
+ }
729
+ /**
730
+ * Clear the selection and navigate to the home page
731
+ *
732
+ * @returns Promise when the function has completed
733
+ * @protected
734
+ */
735
+ async _home() {
736
+ await this._clearSelection();
737
+ this._setPageType(EPageType.LIST);
738
+ }
739
+ /**
740
+ * Update the selection sets with any new selections from the select tools
741
+ *
742
+ * @returns Promise when the function has completed
743
+ * @protected
744
+ */
745
+ async _saveSelection() {
746
+ var _a, _b;
747
+ const results = await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.getSelection());
748
+ const isUpdate = (_b = this._selectTools) === null || _b === void 0 ? void 0 : _b.isUpdate;
749
+ this._selectionSets = isUpdate ? this._selectionSets.map(ss => {
750
+ return ss.id === results.id ? results : ss;
751
+ }) : [
752
+ ...this._selectionSets,
753
+ results
754
+ ];
755
+ return this._home();
756
+ }
757
+ /**
758
+ * Clear any selections
759
+ *
760
+ * @returns Promise when the function has completed
761
+ * @protected
762
+ */
763
+ async _clearSelection() {
764
+ var _a;
765
+ await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.clearSelection());
766
+ this._numSelected = 0;
767
+ this._activeSelection = undefined;
768
+ }
769
+ /**
770
+ * Delete the selection at the defined index
771
+ *
772
+ * @param index number that defines what selection set to delete
773
+ *
774
+ * @protected
775
+ */
776
+ _deleteSelection(index, evt) {
777
+ evt.stopPropagation();
778
+ this._selectionSets = this._selectionSets.filter((ss, i) => {
779
+ if (i !== index) {
780
+ return ss;
781
+ }
782
+ });
783
+ return this._highlightFeatures();
784
+ }
785
+ /**
786
+ * Pan to the current selection
787
+ *
788
+ * @param selSet ISelectionSet to pan to
789
+ * @param mapView Current MapView to pan within
790
+ *
791
+ * @protected
792
+ */
793
+ _gotoSelection(selSet, mapView) {
794
+ void goToSelection(selSet.selectedIds, selSet.layerView, mapView, this.featureHighlightEnabled, this.featureEffect);
795
+ }
796
+ /**
797
+ * Open the selection set for further adjustment
798
+ *
799
+ * @protected
800
+ */
801
+ _openSelection(selectionSet, evt) {
802
+ evt.stopPropagation();
803
+ this._activeSelection = selectionSet;
804
+ this._pageType = selectionSet.workflowType === EWorkflowType.REFINE ?
805
+ EPageType.REFINE : EPageType.SELECT;
806
+ }
807
+ /**
808
+ * Highlight any selected features in the map
809
+ *
810
+ * @protected
811
+ */
812
+ async _highlightFeatures() {
813
+ this._clearHighlight();
814
+ const idSets = this._getSelectionIdsAndViews(this._selectionSets, this._pageType === EPageType.EXPORT);
815
+ const idKeys = Object.keys(idSets);
816
+ if (idKeys.length > 0) {
817
+ for (let i = 0; i < idKeys.length; i++) {
818
+ const idSet = idSets[idKeys[i]];
819
+ state.highlightHandles.push(await highlightFeatures(idSet.ids, idSet.layerView, this.mapView));
820
+ }
821
+ }
822
+ }
823
+ /**
824
+ * Clear any highlighted features in the map
825
+ *
826
+ * @protected
827
+ */
828
+ _checkPopups() {
829
+ var _a;
830
+ if (typeof this._popupsEnabled !== 'boolean') {
831
+ this._popupsEnabled = (_a = this.mapView) === null || _a === void 0 ? void 0 : _a.popupEnabled;
832
+ }
833
+ }
834
+ /**
835
+ * Clear any highlighted features in the map
836
+ *
837
+ * @protected
838
+ */
839
+ _clearHighlight() {
840
+ if (state && state.highlightHandles) {
841
+ state.removeHandles();
842
+ }
843
+ }
844
+ /**
845
+ * Fetches the component's translations
846
+ *
847
+ * @protected
848
+ */
849
+ async _getTranslations() {
850
+ const translations = await getLocaleComponentStrings(this.el);
851
+ this._translations = translations[0];
852
+ }
853
+ static get is() { return "public-notification"; }
854
+ static get originalStyleUrls() {
855
+ return {
856
+ "$": ["public-notification.css"]
857
+ };
858
+ }
859
+ static get styleUrls() {
860
+ return {
861
+ "$": ["public-notification.css"]
862
+ };
863
+ }
864
+ static get properties() {
865
+ return {
866
+ "addresseeLayerIds": {
867
+ "type": "unknown",
868
+ "mutable": false,
869
+ "complexType": {
870
+ "original": "string[]",
871
+ "resolved": "string[]",
872
+ "references": {}
873
+ },
874
+ "required": false,
875
+ "optional": false,
876
+ "docs": {
877
+ "tags": [],
878
+ "text": "string[]: List of layer ids that should be shown as potential addressee layers"
879
+ },
880
+ "defaultValue": "[]"
881
+ },
882
+ "bufferColor": {
883
+ "type": "any",
884
+ "mutable": false,
885
+ "complexType": {
886
+ "original": "any",
887
+ "resolved": "any",
888
+ "references": {}
889
+ },
890
+ "required": false,
891
+ "optional": false,
892
+ "docs": {
893
+ "tags": [],
894
+ "text": "string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html"
895
+ },
896
+ "attribute": "buffer-color",
897
+ "reflect": false,
898
+ "defaultValue": "[227, 139, 79, 0.8]"
899
+ },
900
+ "bufferOutlineColor": {
901
+ "type": "any",
902
+ "mutable": false,
903
+ "complexType": {
904
+ "original": "any",
905
+ "resolved": "any",
906
+ "references": {}
907
+ },
908
+ "required": false,
909
+ "optional": false,
910
+ "docs": {
911
+ "tags": [],
912
+ "text": "string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html"
913
+ },
914
+ "attribute": "buffer-outline-color",
915
+ "reflect": false,
916
+ "defaultValue": "[255, 255, 255]"
917
+ },
918
+ "customLabelEnabled": {
919
+ "type": "boolean",
920
+ "mutable": false,
921
+ "complexType": {
922
+ "original": "boolean",
923
+ "resolved": "boolean",
924
+ "references": {}
925
+ },
926
+ "required": false,
927
+ "optional": false,
928
+ "docs": {
929
+ "tags": [],
930
+ "text": "boolean: When true the user can define a name for each notification list"
931
+ },
932
+ "attribute": "custom-label-enabled",
933
+ "reflect": false
934
+ },
935
+ "defaultBufferDistance": {
936
+ "type": "number",
937
+ "mutable": false,
938
+ "complexType": {
939
+ "original": "number",
940
+ "resolved": "number",
941
+ "references": {}
942
+ },
943
+ "required": false,
944
+ "optional": false,
945
+ "docs": {
946
+ "tags": [],
947
+ "text": "number: The default value to show for the buffer distance"
948
+ },
949
+ "attribute": "default-buffer-distance",
950
+ "reflect": false
951
+ },
952
+ "defaultBufferUnit": {
953
+ "type": "string",
954
+ "mutable": false,
955
+ "complexType": {
956
+ "original": "DistanceUnit",
957
+ "resolved": "\"feet\" | \"kilometers\" | \"meters\" | \"miles\"",
958
+ "references": {
959
+ "DistanceUnit": {
960
+ "location": "import",
961
+ "path": "../../utils/interfaces"
962
+ }
963
+ }
964
+ },
965
+ "required": false,
966
+ "optional": false,
967
+ "docs": {
968
+ "tags": [],
969
+ "text": "number: The default value to show for the buffer unit (\"feet\"|\"meters\"|\"miles\"|\"kilometers\")"
970
+ },
971
+ "attribute": "default-buffer-unit",
972
+ "reflect": false
973
+ },
974
+ "defaultExportTitle": {
975
+ "type": "string",
976
+ "mutable": false,
977
+ "complexType": {
978
+ "original": "string",
979
+ "resolved": "string",
980
+ "references": {}
981
+ },
982
+ "required": false,
983
+ "optional": false,
984
+ "docs": {
985
+ "tags": [],
986
+ "text": "string: The default value to use for the export title"
987
+ },
988
+ "attribute": "default-export-title",
989
+ "reflect": false,
990
+ "defaultValue": "\"\""
991
+ },
992
+ "defaultNumLabelsPerPage": {
993
+ "type": "any",
994
+ "mutable": false,
995
+ "complexType": {
996
+ "original": "any",
997
+ "resolved": "any",
998
+ "references": {}
999
+ },
1000
+ "required": false,
1001
+ "optional": false,
1002
+ "docs": {
1003
+ "tags": [],
1004
+ "text": "number: The default number of labels per page to export"
1005
+ },
1006
+ "attribute": "default-num-labels-per-page",
1007
+ "reflect": false
1008
+ },
1009
+ "featureEffect": {
1010
+ "type": "unknown",
1011
+ "mutable": false,
1012
+ "complexType": {
1013
+ "original": "__esri.FeatureEffect",
1014
+ "resolved": "FeatureEffect",
1015
+ "references": {
1016
+ "___esri": {
1017
+ "location": "global"
1018
+ }
1019
+ }
1020
+ },
1021
+ "required": false,
1022
+ "optional": false,
1023
+ "docs": {
1024
+ "tags": [],
1025
+ "text": "The effect that will be applied when featureHighlightEnabled is true\r\n\r\nesri/layers/support/FeatureEffect: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-FeatureEffect.html"
1026
+ }
1027
+ },
1028
+ "featureHighlightEnabled": {
1029
+ "type": "boolean",
1030
+ "mutable": false,
1031
+ "complexType": {
1032
+ "original": "boolean",
1033
+ "resolved": "boolean",
1034
+ "references": {}
1035
+ },
1036
+ "required": false,
1037
+ "optional": false,
1038
+ "docs": {
1039
+ "tags": [],
1040
+ "text": "boolean: When enabled features will be highlighted when their notification list item is clicked."
1041
+ },
1042
+ "attribute": "feature-highlight-enabled",
1043
+ "reflect": false
1044
+ },
1045
+ "mapView": {
1046
+ "type": "unknown",
1047
+ "mutable": false,
1048
+ "complexType": {
1049
+ "original": "__esri.MapView",
1050
+ "resolved": "MapView",
1051
+ "references": {
1052
+ "___esri": {
1053
+ "location": "global"
1054
+ }
1055
+ }
1056
+ },
1057
+ "required": false,
1058
+ "optional": false,
1059
+ "docs": {
1060
+ "tags": [],
1061
+ "text": "esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
1062
+ }
1063
+ },
1064
+ "noResultText": {
1065
+ "type": "string",
1066
+ "mutable": false,
1067
+ "complexType": {
1068
+ "original": "string",
1069
+ "resolved": "string",
1070
+ "references": {}
1071
+ },
1072
+ "required": false,
1073
+ "optional": false,
1074
+ "docs": {
1075
+ "tags": [],
1076
+ "text": "string: The value to show for no results\r\nwhen left empty the default text \"0 selected features from {layerTitle}\" will be shown"
1077
+ },
1078
+ "attribute": "no-result-text",
1079
+ "reflect": false
1080
+ },
1081
+ "searchConfiguration": {
1082
+ "type": "unknown",
1083
+ "mutable": true,
1084
+ "complexType": {
1085
+ "original": "ISearchConfiguration",
1086
+ "resolved": "ISearchConfiguration",
1087
+ "references": {
1088
+ "ISearchConfiguration": {
1089
+ "location": "import",
1090
+ "path": "../../utils/interfaces"
1091
+ }
1092
+ }
1093
+ },
1094
+ "required": false,
1095
+ "optional": false,
1096
+ "docs": {
1097
+ "tags": [],
1098
+ "text": "ISearchConfiguration: Configuration details for the Search widget"
1099
+ }
1100
+ },
1101
+ "selectionLayerIds": {
1102
+ "type": "unknown",
1103
+ "mutable": false,
1104
+ "complexType": {
1105
+ "original": "string[]",
1106
+ "resolved": "string[]",
1107
+ "references": {}
1108
+ },
1109
+ "required": false,
1110
+ "optional": false,
1111
+ "docs": {
1112
+ "tags": [],
1113
+ "text": "string[]: List of layer ids that should be shown as potential selection layers\r\nwhen skectching with \"Use layer features\" option"
1114
+ },
1115
+ "defaultValue": "[]"
1116
+ },
1117
+ "showRefineSelection": {
1118
+ "type": "boolean",
1119
+ "mutable": false,
1120
+ "complexType": {
1121
+ "original": "boolean",
1122
+ "resolved": "boolean",
1123
+ "references": {}
1124
+ },
1125
+ "required": false,
1126
+ "optional": false,
1127
+ "docs": {
1128
+ "tags": [],
1129
+ "text": "boolean: When true the refine selection workflow will be included in the UI"
1130
+ },
1131
+ "attribute": "show-refine-selection",
1132
+ "reflect": false,
1133
+ "defaultValue": "false"
1134
+ },
1135
+ "showSearchSettings": {
1136
+ "type": "boolean",
1137
+ "mutable": false,
1138
+ "complexType": {
1139
+ "original": "boolean",
1140
+ "resolved": "boolean",
1141
+ "references": {}
1142
+ },
1143
+ "required": false,
1144
+ "optional": false,
1145
+ "docs": {
1146
+ "tags": [],
1147
+ "text": "boolean: When false no buffer distance or unit controls will be exposed"
1148
+ },
1149
+ "attribute": "show-search-settings",
1150
+ "reflect": false,
1151
+ "defaultValue": "true"
1152
+ },
1153
+ "sketchLineSymbol": {
1154
+ "type": "any",
1155
+ "mutable": false,
1156
+ "complexType": {
1157
+ "original": "__esri.SimpleLineSymbol | any",
1158
+ "resolved": "any",
1159
+ "references": {
1160
+ "___esri": {
1161
+ "location": "global"
1162
+ }
1163
+ }
1164
+ },
1165
+ "required": false,
1166
+ "optional": false,
1167
+ "docs": {
1168
+ "tags": [],
1169
+ "text": "esri/symbols/SimpleLineSymbol | JSON representation : https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1170
+ },
1171
+ "attribute": "sketch-line-symbol",
1172
+ "reflect": false
1173
+ },
1174
+ "sketchPointSymbol": {
1175
+ "type": "any",
1176
+ "mutable": false,
1177
+ "complexType": {
1178
+ "original": "__esri.SimpleMarkerSymbol | any",
1179
+ "resolved": "any",
1180
+ "references": {
1181
+ "___esri": {
1182
+ "location": "global"
1183
+ }
1184
+ }
1185
+ },
1186
+ "required": false,
1187
+ "optional": false,
1188
+ "docs": {
1189
+ "tags": [],
1190
+ "text": "esri/symbols/SimpleMarkerSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1191
+ },
1192
+ "attribute": "sketch-point-symbol",
1193
+ "reflect": false
1194
+ },
1195
+ "sketchPolygonSymbol": {
1196
+ "type": "any",
1197
+ "mutable": false,
1198
+ "complexType": {
1199
+ "original": "__esri.SimpleFillSymbol | any",
1200
+ "resolved": "any",
1201
+ "references": {
1202
+ "___esri": {
1203
+ "location": "global"
1204
+ }
1205
+ }
1206
+ },
1207
+ "required": false,
1208
+ "optional": false,
1209
+ "docs": {
1210
+ "tags": [],
1211
+ "text": "esri/symbols/SimpleFillSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html\r\n\r\nA JSON representation of the instance in the ArcGIS format.\r\nSee the ArcGIS REST API documentation for examples of the structure of various input JSON objects.\r\nhttps://developers.arcgis.com/documentation/common-data-types/symbol-objects.htm"
1212
+ },
1213
+ "attribute": "sketch-polygon-symbol",
1214
+ "reflect": false
1215
+ }
1216
+ };
1217
+ }
1218
+ static get states() {
1219
+ return {
1220
+ "_addMap": {},
1221
+ "_addTitle": {},
1222
+ "_downloadActive": {},
1223
+ "_exportType": {},
1224
+ "_fetchingData": {},
1225
+ "_isMobile": {},
1226
+ "_numDuplicates": {},
1227
+ "_pageType": {},
1228
+ "_saveEnabled": {},
1229
+ "_selectionSets": {},
1230
+ "_translations": {}
1231
+ };
1232
+ }
1233
+ static get events() {
1234
+ return [{
1235
+ "method": "searchConfigurationChange",
1236
+ "name": "searchConfigurationChange",
1237
+ "bubbles": true,
1238
+ "cancelable": true,
1239
+ "composed": true,
1240
+ "docs": {
1241
+ "tags": [],
1242
+ "text": "Emitted on demand when searchConfiguration gets a new value"
1243
+ },
1244
+ "complexType": {
1245
+ "original": "ISearchConfiguration",
1246
+ "resolved": "ISearchConfiguration",
1247
+ "references": {
1248
+ "ISearchConfiguration": {
1249
+ "location": "import",
1250
+ "path": "../../utils/interfaces"
1251
+ }
1252
+ }
1253
+ }
1254
+ }];
1255
+ }
1256
+ static get elementRef() { return "el"; }
1257
+ static get watchers() {
1258
+ return [{
1259
+ "propName": "mapView",
1260
+ "methodName": "mapViewWatchHandler"
1261
+ }, {
1262
+ "propName": "searchConfiguration",
1263
+ "methodName": "watchSearchConfigurationHandler"
1264
+ }, {
1265
+ "propName": "sketchLineSymbol",
1266
+ "methodName": "sketchLineSymbolWatchHandler"
1267
+ }, {
1268
+ "propName": "sketchPointSymbol",
1269
+ "methodName": "sketchPointSymbolWatchHandler"
1270
+ }, {
1271
+ "propName": "sketchPolygonSymbol",
1272
+ "methodName": "sketchPolygonSymbolWatchHandler"
1273
+ }, {
1274
+ "propName": "_pageType",
1275
+ "methodName": "pageTypeWatchHandler"
1276
+ }];
1277
+ }
1278
+ static get listeners() {
1279
+ return [{
1280
+ "name": "selectionSetsChanged",
1281
+ "method": "selectionSetsChanged",
1282
+ "target": "window",
1283
+ "capture": false,
1284
+ "passive": false
1285
+ }];
1286
+ }
1287
+ }