@esri/solutions-components 0.6.6 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
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
+ }