@esri/solutions-components 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1280) hide show
  1. package/dist/cjs/ExpandToggle-e6a0d66e.js +117 -0
  2. package/dist/cjs/FloatingArrow-0119ec6e.js +48 -0
  3. package/dist/cjs/Heading-521f39ac.js +25 -0
  4. package/dist/cjs/app-globals-72576a1c.js +69 -0
  5. package/dist/cjs/ar-1718ae57.js +97 -0
  6. package/dist/cjs/basemap-gallery_4.cjs.entry.js +622 -0
  7. package/dist/cjs/bg-190a176c.js +78 -0
  8. package/dist/cjs/bs-919e0de8.js +47 -0
  9. package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
  10. package/dist/cjs/ca-94918e06.js +67 -0
  11. package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
  12. package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
  13. package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
  14. package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
  15. package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
  16. package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
  17. package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
  18. package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
  19. package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
  20. package/dist/cjs/calcite-block.cjs.entry.js +131 -131
  21. package/dist/cjs/calcite-button.cjs.entry.js +182 -182
  22. package/dist/cjs/calcite-card.cjs.entry.js +99 -99
  23. package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
  24. package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
  25. package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
  26. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
  27. package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
  28. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
  29. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
  30. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
  31. package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
  32. package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
  33. package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
  34. package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
  35. package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
  36. package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
  37. package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
  38. package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
  39. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
  40. package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
  41. package/dist/cjs/calcite-input-time-picker-b99baf7b.js +1718 -0
  42. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
  43. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
  44. package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
  45. package/dist/cjs/calcite-label.cjs.entry.js +40 -40
  46. package/dist/cjs/calcite-link.cjs.entry.js +96 -96
  47. package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
  48. package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
  49. package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
  50. package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
  51. package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
  52. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
  53. package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
  54. package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
  55. package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
  56. package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
  57. package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
  58. package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
  59. package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
  60. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
  61. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
  62. package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
  63. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
  64. package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
  65. package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
  66. package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
  67. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
  68. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
  69. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
  70. package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
  71. package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
  72. package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
  73. package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
  74. package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
  75. package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
  76. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
  77. package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
  78. package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
  79. package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
  80. package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
  81. package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
  82. package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
  83. package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
  84. package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
  85. package/dist/cjs/card-manager_4.cjs.entry.js +707 -653
  86. package/dist/cjs/conditionalSlot-85b3a6b3.js +63 -0
  87. package/dist/cjs/crowdsource-manager.cjs.entry.js +258 -256
  88. package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
  89. package/dist/cjs/cs-fe27e732.js +143 -0
  90. package/dist/cjs/da-1b7f3440.js +62 -0
  91. package/dist/cjs/date-cec32b0e.js +250 -0
  92. package/dist/cjs/de-0dc1effa.js +87 -0
  93. package/dist/cjs/de-at-acdc4d01.js +86 -0
  94. package/dist/cjs/de-ch-778a0d99.js +86 -0
  95. package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
  96. package/dist/cjs/dom-c1807fc1.js +1046 -0
  97. package/dist/cjs/downloadUtils-a8c530f7.js +2767 -0
  98. package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
  99. package/dist/cjs/el-fdbc9bc1.js +62 -0
  100. package/dist/cjs/en-au-0ff50cdf.js +62 -0
  101. package/dist/cjs/en-ca-284e9368.js +61 -0
  102. package/dist/cjs/en-gb-0fcae8ae.js +65 -0
  103. package/dist/cjs/es-cd54acba.js +62 -0
  104. package/dist/cjs/es-mx-2078d50f.js +61 -0
  105. package/dist/cjs/et-17f323f6.js +88 -0
  106. package/dist/cjs/fi-82f27397.js +111 -0
  107. package/dist/cjs/filter-bda212b4.js +765 -0
  108. package/dist/cjs/floating-ui-8d10af88.js +1888 -0
  109. package/dist/cjs/focusTrapComponent-a22fc6a8.js +1009 -0
  110. package/dist/cjs/form-9d8ebf06.js +288 -0
  111. package/dist/cjs/fr-af7e1192.js +64 -0
  112. package/dist/cjs/fr-ch-5e1f2c28.js +62 -0
  113. package/dist/cjs/he-ea851800.js +101 -0
  114. package/dist/cjs/hi-5212a21d.js +61 -0
  115. package/dist/cjs/hr-4eecb2ed.js +76 -0
  116. package/dist/cjs/hu-6b527d8e.js +84 -0
  117. package/dist/cjs/id-d78f12ec.js +62 -0
  118. package/dist/cjs/index-0e50040c.js +1938 -0
  119. package/dist/cjs/index-2b60e135.js +201 -0
  120. package/dist/cjs/index.es-4542630e.js +10808 -0
  121. package/dist/cjs/interfaces-d539e30c.js +85 -0
  122. package/dist/cjs/it-15242935.js +62 -0
  123. package/dist/cjs/it-ch-9dc21944.js +62 -0
  124. package/dist/cjs/ja-f702cfc2.js +68 -0
  125. package/dist/cjs/ko-aa9bde2c.js +68 -0
  126. package/dist/cjs/label-6e33e971.js +136 -0
  127. package/dist/cjs/list-item.cjs.entry.js +60 -60
  128. package/dist/cjs/loadModules-31cab7ac.js +30 -0
  129. package/dist/cjs/loadable-bac9cdd6.js +94 -0
  130. package/dist/cjs/loader.cjs.js +5 -14
  131. package/dist/cjs/locale-c63a1b57.js +604 -0
  132. package/dist/cjs/locale-d15cd743.js +416 -0
  133. package/dist/cjs/lt-e741ff2f.js +93 -0
  134. package/dist/cjs/lv-92d6768e.js +62 -0
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
  136. package/dist/cjs/mapViewUtils-9da2dddd.js +411 -0
  137. package/dist/cjs/mk-b209ac0d.js +62 -0
  138. package/dist/cjs/nb-db13e666.js +63 -0
  139. package/dist/cjs/nl-fcd9e0c5.js +63 -0
  140. package/dist/cjs/openCloseComponent-5d70fcd8.js +84 -0
  141. package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
  142. package/dist/cjs/pciUtils-e0ddeb7c.js +847 -0
  143. package/dist/cjs/pl-87c83322.js +110 -0
  144. package/dist/cjs/pt-b0b5f472.js +63 -0
  145. package/dist/cjs/pt-br-03333e90.js +61 -0
  146. package/dist/cjs/public-notification.cjs.entry.js +844 -844
  147. package/dist/cjs/publicNotificationStore-55edd658.js +51 -0
  148. package/dist/cjs/ro-c3661b73.js +62 -0
  149. package/dist/cjs/ru-8dd3fd58.js +122 -0
  150. package/dist/cjs/shared-list-render-c0adb192.js +364 -0
  151. package/dist/cjs/sk-151d9acf.js +144 -0
  152. package/dist/cjs/sl-9b45a152.js +62 -0
  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 +4100 -0
  156. package/dist/cjs/solutions-components.cjs.js +5 -5
  157. package/dist/cjs/sortableComponent-58679f07.js +3112 -0
  158. package/dist/cjs/sr-186bf15c.js +97 -0
  159. package/dist/cjs/store-manager.cjs.entry.js +52 -52
  160. package/dist/cjs/sv-a93fee0c.js +67 -0
  161. package/dist/cjs/t9n-1d032c30.js +100 -0
  162. package/dist/cjs/th-41680352.js +61 -0
  163. package/dist/cjs/throttle-aeeb1b4d.js +75 -0
  164. package/dist/cjs/time-5e450ec8.js +208 -0
  165. package/dist/cjs/tr-0bd886d6.js +62 -0
  166. package/dist/cjs/uk-4fade133.js +100 -0
  167. package/dist/cjs/utils-acfeed9d.js +64 -0
  168. package/dist/cjs/utils-ae9bdd59.js +55 -0
  169. package/dist/cjs/vi-1c9fe343.js +66 -0
  170. package/dist/cjs/zh-cn-28fa1fe1.js +90 -0
  171. package/dist/cjs/zh-hk-5abf8eb5.js +67 -0
  172. package/dist/cjs/zh-tw-07500357.js +88 -0
  173. package/dist/collection/collection-manifest.json +37 -35
  174. package/dist/collection/components/basemap-gallery/basemap-gallery.css +19 -0
  175. package/dist/collection/components/basemap-gallery/basemap-gallery.js +166 -0
  176. package/dist/collection/components/basemap-gallery/test/basemap-gallery.e2e.js +29 -0
  177. package/dist/collection/components/basemap-gallery/test/basemap-gallery.spec.js +37 -0
  178. package/dist/collection/components/buffer-tools/buffer-tools.js +481 -476
  179. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +29 -0
  180. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +160 -0
  181. package/dist/collection/components/card-manager/card-manager.js +199 -197
  182. package/dist/collection/components/card-manager/test/card-manager.e2e.js +29 -0
  183. package/dist/collection/components/card-manager/test/card-manager.spec.js +37 -0
  184. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +448 -406
  185. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +29 -0
  186. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +37 -0
  187. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
  188. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +29 -0
  189. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +37 -0
  190. package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
  191. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +29 -0
  192. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +37 -0
  193. package/dist/collection/components/edit-card/edit-card.js +302 -300
  194. package/dist/collection/components/edit-card/test/edit-card.e2e.js +14 -0
  195. package/dist/collection/components/edit-card/test/edit-card.spec.js +22 -0
  196. package/dist/collection/components/info-card/info-card.js +361 -357
  197. package/dist/collection/components/info-card/test/info-card.e2e.js +29 -0
  198. package/dist/collection/components/info-card/test/info-card.spec.js +37 -0
  199. package/dist/collection/components/json-editor/json-editor.js +618 -614
  200. package/dist/collection/components/json-editor/test/json-editor.e2e.js +36 -0
  201. package/dist/collection/components/json-editor/test/json-editor.spec.js +65 -0
  202. package/dist/collection/components/layer-table/layer-table.js +620 -548
  203. package/dist/collection/components/layer-table/test/layer-table.e2e.js +29 -0
  204. package/dist/collection/components/layer-table/test/layer-table.spec.js +37 -0
  205. package/dist/collection/components/layout-manager/layout-manager.js +136 -135
  206. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +29 -0
  207. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +37 -0
  208. package/dist/collection/components/list-item/list-item.js +89 -89
  209. package/dist/collection/components/list-item/test/list-item.e2e.js +29 -0
  210. package/dist/collection/components/list-item/test/list-item.spec.js +37 -0
  211. package/dist/collection/components/map-card/map-card.css +0 -7
  212. package/dist/collection/components/map-card/map-card.js +211 -203
  213. package/dist/collection/components/map-card/test/map-card.e2e.js +29 -0
  214. package/dist/collection/components/map-card/test/map-card.spec.js +37 -0
  215. package/dist/collection/components/map-draw-tools/map-draw-tools.js +692 -683
  216. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +29 -0
  217. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +37 -0
  218. package/dist/collection/components/map-layer-picker/map-layer-picker.js +424 -423
  219. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +29 -0
  220. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +114 -0
  221. package/dist/collection/components/map-picker/map-picker.js +226 -224
  222. package/dist/collection/components/map-picker/test/map-picker.e2e.js +29 -0
  223. package/dist/collection/components/map-picker/test/map-picker.spec.js +37 -0
  224. package/dist/collection/components/map-search/map-search.css +24 -0
  225. package/dist/collection/components/map-search/map-search.js +321 -0
  226. package/dist/collection/components/map-search/test/map-search.e2e.js +29 -0
  227. package/dist/collection/components/map-search/test/map-search.spec.js +37 -0
  228. package/dist/collection/components/map-select-tools/map-select-tools.js +1242 -1229
  229. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +29 -0
  230. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +366 -0
  231. package/dist/collection/components/map-tools/map-tools.js +337 -210
  232. package/dist/collection/components/map-tools/test/map-tools.e2e.js +29 -0
  233. package/dist/collection/components/map-tools/test/map-tools.spec.js +37 -0
  234. package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
  235. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +29 -0
  236. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +37 -0
  237. package/dist/collection/components/pdf-download/pdf-download.js +338 -333
  238. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +76 -0
  239. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +107 -0
  240. package/dist/collection/components/public-notification/public-notification.js +1295 -1287
  241. package/dist/collection/components/public-notification/test/public-notification.spec.js +161 -0
  242. package/dist/collection/components/refine-selection/refine-selection.js +608 -601
  243. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +14 -0
  244. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +22 -0
  245. package/dist/collection/components/solution-configuration/solution-configuration.js +739 -735
  246. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +36 -0
  247. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +119 -0
  248. package/dist/collection/components/solution-contents/solution-contents.js +163 -162
  249. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +94 -0
  250. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +143 -0
  251. package/dist/collection/components/solution-item/solution-item.js +203 -202
  252. package/dist/collection/components/solution-item/test/solution-item.e2e.js +36 -0
  253. package/dist/collection/components/solution-item/test/solution-item.spec.js +77 -0
  254. package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
  255. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +36 -0
  256. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +142 -0
  257. package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
  258. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +29 -0
  259. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +39 -0
  260. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +200 -199
  261. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +36 -0
  262. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +54 -0
  263. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
  264. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +36 -0
  265. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +65 -0
  266. package/dist/collection/components/solution-resource-item/solution-resource-item.js +348 -347
  267. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +36 -0
  268. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +55 -0
  269. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +515 -510
  270. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
  271. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +36 -0
  272. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +175 -0
  273. package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
  274. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +36 -0
  275. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +60 -0
  276. package/dist/collection/components/solution-variables/solution-variables.js +168 -168
  277. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +36 -0
  278. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +131 -0
  279. package/dist/collection/components/store-manager/store-manager.js +128 -127
  280. package/dist/collection/demos/crowdsource-manager.html +3 -3
  281. package/dist/collection/index.js +1 -1
  282. package/dist/collection/utils/common.js +296 -296
  283. package/dist/collection/utils/csvDownload.js +41 -41
  284. package/dist/collection/utils/csvUtils.js +37 -37
  285. package/dist/collection/utils/downloadUtils.js +530 -530
  286. package/dist/collection/utils/interfaces.js +83 -83
  287. package/dist/collection/utils/interfaces.ts +2 -0
  288. package/dist/collection/utils/languageUtil.js +90 -90
  289. package/dist/collection/utils/loadModules.js +25 -25
  290. package/dist/collection/utils/locale.js +61 -61
  291. package/dist/collection/utils/mapViewUtils.js +240 -240
  292. package/dist/collection/utils/pciUtils.js +842 -842
  293. package/dist/collection/utils/pdfUtils.js +87 -87
  294. package/dist/collection/utils/publicNotificationStore.js +47 -47
  295. package/dist/collection/utils/queryUtils.js +200 -200
  296. package/dist/collection/utils/solution-store.js +584 -584
  297. package/dist/collection/utils/templates.e2e.js +30 -0
  298. package/dist/collection/utils/templates.js +346 -346
  299. package/dist/collection/utils/test/csvUtils.spec.js +51 -0
  300. package/dist/collection/utils/test/downloadUtils.spec.js +357 -0
  301. package/dist/collection/utils/test/mocks/jsApi.js +79 -79
  302. package/dist/collection/utils/test/pciUtils.spec.js +302 -0
  303. package/dist/collection/utils/test/solution-store.spec.js +444 -0
  304. package/dist/collection/utils/test/testUtils.js +123 -123
  305. package/dist/collection/utils/types.js +1 -1
  306. package/dist/components/ExpandToggle.js +1 -1
  307. package/dist/components/action-bar.js +262 -262
  308. package/dist/components/action-group.js +144 -144
  309. package/dist/components/action-menu.js +310 -310
  310. package/dist/components/action.js +185 -185
  311. package/dist/components/alert.js +286 -286
  312. package/dist/components/avatar.js +99 -99
  313. package/dist/components/basemap-gallery.d.ts +11 -0
  314. package/dist/components/basemap-gallery.js +11 -0
  315. package/dist/components/basemap-gallery2.js +118 -0
  316. package/dist/components/buffer-tools2.js +263 -263
  317. package/dist/components/button.js +225 -225
  318. package/dist/components/calcite-accordion-item.js +168 -167
  319. package/dist/components/calcite-accordion.js +95 -95
  320. package/dist/components/calcite-action-pad.js +180 -180
  321. package/dist/components/calcite-block-section.js +150 -150
  322. package/dist/components/calcite-block.js +186 -186
  323. package/dist/components/calcite-card.js +132 -132
  324. package/dist/components/calcite-chip-group.js +181 -181
  325. package/dist/components/calcite-color-picker.js +979 -979
  326. package/dist/components/calcite-combobox-item-group.js +52 -52
  327. package/dist/components/calcite-fab.js +104 -104
  328. package/dist/components/calcite-filter.js +1 -1
  329. package/dist/components/calcite-flow-item.js +204 -204
  330. package/dist/components/calcite-flow.js +136 -136
  331. package/dist/components/calcite-inline-editable.js +259 -259
  332. package/dist/components/calcite-input-date-picker.js +703 -703
  333. package/dist/components/calcite-input-time-picker.js +595 -595
  334. package/dist/components/calcite-input-time-zone.js +189 -189
  335. package/dist/components/calcite-label.js +1 -1
  336. package/dist/components/calcite-list-item-group.js +64 -64
  337. package/dist/components/calcite-menu-item.js +297 -296
  338. package/dist/components/calcite-modal.js +328 -328
  339. package/dist/components/calcite-navigation-logo.js +76 -76
  340. package/dist/components/calcite-navigation-user.js +78 -78
  341. package/dist/components/calcite-navigation.js +166 -166
  342. package/dist/components/calcite-option-group.js +42 -42
  343. package/dist/components/calcite-pagination.js +217 -217
  344. package/dist/components/calcite-pick-list-group.js +59 -59
  345. package/dist/components/calcite-pick-list.js +150 -150
  346. package/dist/components/calcite-radio-button-group.js +141 -141
  347. package/dist/components/calcite-radio-button.js +316 -316
  348. package/dist/components/calcite-rating.js +279 -279
  349. package/dist/components/calcite-shell-center-row.js +57 -57
  350. package/dist/components/calcite-sortable-list.js +153 -153
  351. package/dist/components/calcite-split-button.js +142 -142
  352. package/dist/components/calcite-stack.js +1 -1
  353. package/dist/components/calcite-stepper-item.js +225 -225
  354. package/dist/components/calcite-stepper.js +212 -212
  355. package/dist/components/calcite-text-area.js +266 -266
  356. package/dist/components/calcite-tile-select-group.js +44 -44
  357. package/dist/components/calcite-tile-select.js +223 -223
  358. package/dist/components/calcite-tip-group.js +27 -27
  359. package/dist/components/calcite-tip-manager.js +222 -222
  360. package/dist/components/calcite-tip.js +126 -126
  361. package/dist/components/card-manager2.js +155 -155
  362. package/dist/components/checkbox.js +146 -146
  363. package/dist/components/chip.js +245 -245
  364. package/dist/components/color-picker-hex-input.js +287 -287
  365. package/dist/components/color-picker-swatch.js +79 -79
  366. package/dist/components/combobox-item.js +135 -135
  367. package/dist/components/combobox.js +921 -921
  368. package/dist/components/crowdsource-manager.js +528 -512
  369. package/dist/components/crowdsource-reporter.js +75 -75
  370. package/dist/components/date-picker-day.js +110 -109
  371. package/dist/components/date-picker-month-header.js +197 -197
  372. package/dist/components/date-picker-month.js +372 -372
  373. package/dist/components/date-picker.js +492 -492
  374. package/dist/components/date.js +1 -1
  375. package/dist/components/deduct-calculator2.js +981 -981
  376. package/dist/components/dom.js +2 -23
  377. package/dist/components/downloadUtils.js +655 -655
  378. package/dist/components/dropdown-group.js +72 -72
  379. package/dist/components/dropdown-item.js +195 -195
  380. package/dist/components/dropdown.js +420 -420
  381. package/dist/components/edit-card2.js +191 -191
  382. package/dist/components/esri-loader.js +301 -0
  383. package/dist/components/filter.js +751 -202
  384. package/dist/components/filter2.js +191 -740
  385. package/dist/components/floating-ui.js +2 -2
  386. package/dist/components/focusTrapComponent.js +1 -1
  387. package/dist/components/graph.js +86 -86
  388. package/dist/components/handle.js +165 -165
  389. package/dist/components/icon.js +99 -99
  390. package/dist/components/index.d.ts +5 -35
  391. package/dist/components/index.js +26 -154
  392. package/dist/components/info-card2.js +251 -251
  393. package/dist/components/input-message.js +66 -66
  394. package/dist/components/input-number.js +600 -599
  395. package/dist/components/input-text.js +368 -367
  396. package/dist/components/input.js +687 -686
  397. package/dist/components/interfaces.js +78 -78
  398. package/dist/components/json-editor2.js +425 -425
  399. package/dist/components/label.js +117 -65
  400. package/dist/components/label2.js +58 -110
  401. package/dist/components/layer-table2.js +598 -547
  402. package/dist/components/layout-manager2.js +118 -118
  403. package/dist/components/link.js +123 -122
  404. package/dist/components/list-item.js +75 -75
  405. package/dist/components/list-item2.js +431 -431
  406. package/dist/components/list.js +510 -510
  407. package/dist/components/loadModules.js +19 -19
  408. package/dist/components/loader.js +86 -86
  409. package/dist/components/locale.js +106 -399
  410. package/dist/components/locale2.js +2 -2
  411. package/dist/components/map-card2.js +236 -218
  412. package/dist/components/map-draw-tools2.js +383 -383
  413. package/dist/components/map-layer-picker2.js +291 -291
  414. package/dist/components/map-picker2.js +235 -235
  415. package/dist/components/map-search.d.ts +11 -0
  416. package/dist/components/map-search.js +11 -0
  417. package/dist/components/map-search2.js +201 -0
  418. package/dist/components/map-select-tools2.js +916 -916
  419. package/dist/components/map-tools2.js +287 -177
  420. package/dist/components/mapViewUtils.js +235 -235
  421. package/dist/components/menu.js +178 -178
  422. package/dist/components/notice.js +130 -130
  423. package/dist/components/option.js +91 -91
  424. package/dist/components/panel.js +307 -307
  425. package/dist/components/pci-calculator.js +169 -169
  426. package/dist/components/pdf-download2.js +173 -173
  427. package/dist/components/pick-list-item.js +219 -219
  428. package/dist/components/popover.js +349 -349
  429. package/dist/components/progress.js +46 -45
  430. package/dist/components/public-notification.js +1101 -1101
  431. package/dist/components/publicNotificationStore.js +39 -39
  432. package/dist/components/queryUtils.js +152 -152
  433. package/dist/components/refine-selection2.js +546 -546
  434. package/dist/components/resources.js +17 -9
  435. package/dist/components/resources2.js +9 -13
  436. package/dist/components/resources3.js +9 -5
  437. package/dist/components/scrim.js +115 -115
  438. package/dist/components/segmented-control-item.js +62 -62
  439. package/dist/components/segmented-control.js +213 -213
  440. package/dist/components/select.js +226 -226
  441. package/dist/components/shared-list-render.js +3 -3
  442. package/dist/components/shell-panel.js +398 -397
  443. package/dist/components/shell.js +119 -119
  444. package/dist/components/slider.js +898 -898
  445. package/dist/components/solution-configuration.js +1095 -1095
  446. package/dist/components/solution-contents2.js +111 -111
  447. package/dist/components/solution-item-details2.js +217 -217
  448. package/dist/components/solution-item-icon2.js +330 -330
  449. package/dist/components/solution-item-sharing2.js +151 -151
  450. package/dist/components/solution-item2.js +269 -269
  451. package/dist/components/solution-organization-variables2.js +115 -115
  452. package/dist/components/solution-resource-item2.js +331 -331
  453. package/dist/components/solution-spatial-ref2.js +21420 -21420
  454. package/dist/components/solution-store.js +575 -575
  455. package/dist/components/solution-template-data2.js +202 -202
  456. package/dist/components/solution-variables2.js +132 -132
  457. package/dist/components/sortableComponent.js +1 -1
  458. package/dist/components/stack.js +78 -78
  459. package/dist/components/store-manager.js +70 -70
  460. package/dist/components/switch.js +118 -118
  461. package/dist/components/tab-nav.js +254 -254
  462. package/dist/components/tab-title.js +300 -300
  463. package/dist/components/tab.js +111 -111
  464. package/dist/components/tabs.js +130 -130
  465. package/dist/components/tile.js +89 -89
  466. package/dist/components/time-picker.js +654 -654
  467. package/dist/components/tooltip.js +207 -207
  468. package/dist/components/tree-item.js +288 -287
  469. package/dist/components/tree.js +281 -281
  470. package/dist/components/utils.js +1 -1
  471. package/dist/components/utils2.js +2 -2
  472. package/dist/components/utils3.js +1 -1
  473. package/dist/components/value-list-item.js +169 -169
  474. package/dist/components/value-list.js +275 -275
  475. package/dist/esm/ExpandToggle-3d10bd1e.js +109 -0
  476. package/dist/esm/FloatingArrow-29db6da6.js +46 -0
  477. package/dist/esm/Heading-cb79e5b2.js +22 -0
  478. package/dist/esm/app-globals-5cbac6b0.js +67 -0
  479. package/dist/esm/ar-4b751ba8.js +95 -0
  480. package/dist/esm/basemap-gallery_4.entry.js +615 -0
  481. package/dist/esm/bg-5d8bf5ea.js +76 -0
  482. package/dist/esm/bs-ff510e71.js +45 -0
  483. package/dist/esm/buffer-tools_4.entry.js +1437 -1437
  484. package/dist/esm/ca-b9a5e51a.js +65 -0
  485. package/dist/esm/calcite-accordion-item.entry.js +140 -140
  486. package/dist/esm/calcite-accordion.entry.js +75 -75
  487. package/dist/esm/calcite-action-bar.entry.js +216 -216
  488. package/dist/esm/calcite-action-group_2.entry.js +365 -365
  489. package/dist/esm/calcite-action-pad.entry.js +135 -135
  490. package/dist/esm/calcite-action_2.entry.js +445 -445
  491. package/dist/esm/calcite-alert.entry.js +247 -247
  492. package/dist/esm/calcite-avatar.entry.js +73 -73
  493. package/dist/esm/calcite-block-section.entry.js +122 -122
  494. package/dist/esm/calcite-block.entry.js +131 -131
  495. package/dist/esm/calcite-button.entry.js +182 -182
  496. package/dist/esm/calcite-card.entry.js +99 -99
  497. package/dist/esm/calcite-checkbox.entry.js +125 -125
  498. package/dist/esm/calcite-chip-group.entry.js +164 -164
  499. package/dist/esm/calcite-chip.entry.js +213 -213
  500. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
  501. package/dist/esm/calcite-color-picker.entry.js +886 -886
  502. package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
  503. package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
  504. package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
  505. package/dist/esm/calcite-date-picker.entry.js +434 -434
  506. package/dist/esm/calcite-fab.entry.js +66 -66
  507. package/dist/esm/calcite-filter_5.entry.js +1131 -1131
  508. package/dist/esm/calcite-flow-item.entry.js +146 -146
  509. package/dist/esm/calcite-flow.entry.js +117 -117
  510. package/dist/esm/calcite-graph.entry.js +66 -66
  511. package/dist/esm/calcite-icon.entry.js +80 -80
  512. package/dist/esm/calcite-inline-editable.entry.js +225 -225
  513. package/dist/esm/calcite-input-date-picker.entry.js +632 -632
  514. package/dist/esm/calcite-input-number_2.entry.js +846 -846
  515. package/dist/esm/calcite-input-time-picker-13448515.js +1715 -0
  516. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  517. package/dist/esm/calcite-input-time-zone.entry.js +150 -150
  518. package/dist/esm/calcite-input_2.entry.js +645 -645
  519. package/dist/esm/calcite-label.entry.js +40 -40
  520. package/dist/esm/calcite-link.entry.js +96 -96
  521. package/dist/esm/calcite-list-item-group.entry.js +46 -46
  522. package/dist/esm/calcite-loader.entry.js +65 -65
  523. package/dist/esm/calcite-menu-item.entry.js +246 -246
  524. package/dist/esm/calcite-menu.entry.js +161 -161
  525. package/dist/esm/calcite-modal.entry.js +282 -282
  526. package/dist/esm/calcite-navigation-logo.entry.js +52 -52
  527. package/dist/esm/calcite-navigation-user.entry.js +45 -45
  528. package/dist/esm/calcite-navigation.entry.js +126 -126
  529. package/dist/esm/calcite-notice.entry.js +105 -105
  530. package/dist/esm/calcite-option-group.entry.js +24 -24
  531. package/dist/esm/calcite-option_2.entry.js +271 -271
  532. package/dist/esm/calcite-pagination.entry.js +191 -191
  533. package/dist/esm/calcite-panel_2.entry.js +346 -346
  534. package/dist/esm/calcite-pick-list-group.entry.js +46 -46
  535. package/dist/esm/calcite-pick-list-item.entry.js +181 -181
  536. package/dist/esm/calcite-pick-list.entry.js +130 -130
  537. package/dist/esm/calcite-radio-button-group.entry.js +118 -118
  538. package/dist/esm/calcite-radio-button.entry.js +292 -292
  539. package/dist/esm/calcite-rating.entry.js +245 -245
  540. package/dist/esm/calcite-scrim.entry.js +93 -93
  541. package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
  542. package/dist/esm/calcite-shell-center-row.entry.js +42 -42
  543. package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
  544. package/dist/esm/calcite-sortable-list.entry.js +134 -134
  545. package/dist/esm/calcite-split-button.entry.js +92 -92
  546. package/dist/esm/calcite-stepper-item.entry.js +197 -197
  547. package/dist/esm/calcite-stepper.entry.js +187 -187
  548. package/dist/esm/calcite-switch.entry.js +100 -100
  549. package/dist/esm/calcite-text-area.entry.js +235 -235
  550. package/dist/esm/calcite-tile-select-group.entry.js +27 -27
  551. package/dist/esm/calcite-tile-select.entry.js +180 -180
  552. package/dist/esm/calcite-tile.entry.js +58 -58
  553. package/dist/esm/calcite-time-picker.entry.js +619 -619
  554. package/dist/esm/calcite-tip-group.entry.js +10 -10
  555. package/dist/esm/calcite-tip-manager.entry.js +185 -185
  556. package/dist/esm/calcite-tip.entry.js +94 -94
  557. package/dist/esm/calcite-tooltip.entry.js +185 -185
  558. package/dist/esm/calcite-tree_3.entry.js +821 -821
  559. package/dist/esm/card-manager_4.entry.js +707 -653
  560. package/dist/esm/conditionalSlot-27a0fce0.js +60 -0
  561. package/dist/esm/crowdsource-manager.entry.js +258 -256
  562. package/dist/esm/crowdsource-reporter.entry.js +60 -60
  563. package/dist/esm/cs-f21a0628.js +141 -0
  564. package/dist/esm/da-dc48fc4c.js +60 -0
  565. package/dist/esm/date-0ed48e97.js +235 -0
  566. package/dist/esm/de-59290071.js +85 -0
  567. package/dist/esm/de-at-cd6e6ab7.js +84 -0
  568. package/dist/esm/de-ch-27c44e34.js +84 -0
  569. package/dist/esm/deduct-calculator.entry.js +90 -90
  570. package/dist/esm/dom-843e3afd.js +1017 -0
  571. package/dist/esm/downloadUtils-63661805.js +2761 -0
  572. package/dist/esm/edit-card_2.entry.js +345 -345
  573. package/dist/esm/el-f09fdec6.js +60 -0
  574. package/dist/esm/en-au-90087aa5.js +60 -0
  575. package/dist/esm/en-ca-10751695.js +59 -0
  576. package/dist/esm/en-gb-0f8547bd.js +63 -0
  577. package/dist/esm/es-b0997cf1.js +60 -0
  578. package/dist/esm/es-mx-226f5028.js +59 -0
  579. package/dist/esm/et-dc96c453.js +86 -0
  580. package/dist/esm/fi-0941704d.js +109 -0
  581. package/dist/esm/filter-1cac3edf.js +763 -0
  582. package/dist/esm/floating-ui-d28d0fd6.js +1880 -0
  583. package/dist/esm/focusTrapComponent-ff3a9f28.js +1004 -0
  584. package/dist/esm/form-11c6a015.js +280 -0
  585. package/dist/esm/fr-8da3458d.js +62 -0
  586. package/dist/esm/fr-ch-739ceddf.js +60 -0
  587. package/dist/esm/he-8b662dfa.js +99 -0
  588. package/dist/esm/hi-10996f89.js +59 -0
  589. package/dist/esm/hr-42c2024d.js +74 -0
  590. package/dist/esm/hu-4768b3ff.js +82 -0
  591. package/dist/esm/id-24a08170.js +60 -0
  592. package/dist/esm/index-b5d9d795.js +1904 -0
  593. package/dist/esm/index-b91c174c.js +199 -0
  594. package/dist/esm/index.es-3a3aa8e3.js +10722 -0
  595. package/dist/esm/interfaces-5a2fe8b4.js +85 -0
  596. package/dist/esm/it-ad09649f.js +60 -0
  597. package/dist/esm/it-ch-b05fc10d.js +60 -0
  598. package/dist/esm/ja-ab839b73.js +66 -0
  599. package/dist/esm/ko-c778539e.js +66 -0
  600. package/dist/esm/label-6a1caf64.js +130 -0
  601. package/dist/esm/list-item.entry.js +60 -60
  602. package/dist/esm/loadModules-2ecd1e44.js +28 -0
  603. package/dist/esm/loadable-6bca96ad.js +89 -0
  604. package/dist/esm/loader.js +6 -15
  605. package/dist/esm/locale-aa3de591.js +412 -0
  606. package/dist/esm/locale-d8561d54.js +592 -0
  607. package/dist/esm/lt-447d9aa9.js +91 -0
  608. package/dist/esm/lv-4d715e11.js +60 -0
  609. package/dist/esm/map-select-tools_3.entry.js +1285 -1285
  610. package/dist/esm/mapViewUtils-f0c04325.js +395 -0
  611. package/dist/esm/mk-b3d7401a.js +60 -0
  612. package/dist/esm/nb-2b4a8366.js +61 -0
  613. package/dist/esm/nl-c0db1da2.js +61 -0
  614. package/dist/esm/openCloseComponent-2b5c6bed.js +82 -0
  615. package/dist/esm/pci-calculator.entry.js +102 -102
  616. package/dist/esm/pciUtils-59c29b42.js +844 -0
  617. package/dist/esm/pl-0d322bb4.js +108 -0
  618. package/dist/esm/pt-5997598c.js +61 -0
  619. package/dist/esm/pt-br-6b77e7db.js +59 -0
  620. package/dist/esm/public-notification.entry.js +844 -844
  621. package/dist/esm/publicNotificationStore-ade82148.js +49 -0
  622. package/dist/esm/resources-40d8e06f.js +20 -0
  623. package/dist/esm/ro-ac3724e0.js +60 -0
  624. package/dist/esm/ru-4e75151f.js +120 -0
  625. package/dist/esm/shared-list-render-abd19c8d.js +342 -0
  626. package/dist/esm/sk-bbfa22a3.js +142 -0
  627. package/dist/esm/sl-867cecfc.js +60 -0
  628. package/dist/esm/solution-configuration.entry.js +888 -888
  629. package/dist/esm/solution-contents_3.entry.js +21506 -21506
  630. package/dist/esm/solution-store-46bc46a5.js +4092 -0
  631. package/dist/esm/solutions-components.js +6 -6
  632. package/dist/esm/sortableComponent-db502e97.js +3109 -0
  633. package/dist/esm/sr-198b5c00.js +95 -0
  634. package/dist/esm/store-manager.entry.js +52 -52
  635. package/dist/esm/sv-02d64370.js +65 -0
  636. package/dist/esm/t9n-76168237.js +95 -0
  637. package/dist/esm/th-1616e303.js +59 -0
  638. package/dist/esm/throttle-9ab70933.js +73 -0
  639. package/dist/esm/time-6721a4c2.js +195 -0
  640. package/dist/esm/tr-f4619f64.js +60 -0
  641. package/dist/esm/uk-df7df34a.js +98 -0
  642. package/dist/esm/utils-ccfd94a7.js +45 -0
  643. package/dist/esm/utils-f54411df.js +61 -0
  644. package/dist/esm/vi-176ca9f7.js +64 -0
  645. package/dist/esm/zh-cn-e13d83d1.js +88 -0
  646. package/dist/esm/zh-hk-d97365d8.js +65 -0
  647. package/dist/esm/zh-tw-a2b6f0b7.js +86 -0
  648. package/dist/loader/index.d.ts +2 -2
  649. package/dist/solutions-components/demos/crowdsource-manager.html +3 -3
  650. package/dist/solutions-components/p-022a9b7a.js +6 -0
  651. package/dist/solutions-components/p-03fccde6.entry.js +11 -0
  652. package/dist/solutions-components/p-052ff2c7.js +6 -0
  653. package/dist/solutions-components/p-05db4340.js +6 -0
  654. package/dist/solutions-components/p-07bc4f07.entry.js +11 -0
  655. package/dist/solutions-components/p-0cc32f06.js +6 -0
  656. package/dist/solutions-components/p-0e7914e6.entry.js +11 -0
  657. package/dist/solutions-components/p-0ece6df1.entry.js +12 -0
  658. package/dist/solutions-components/p-0f8440bb.entry.js +6 -0
  659. package/dist/solutions-components/p-0fbc27fd.entry.js +11 -0
  660. package/dist/solutions-components/p-10248e04.js +11 -0
  661. package/dist/solutions-components/p-108fbf59.entry.js +6 -0
  662. package/dist/solutions-components/p-12a4fa84.js +6 -0
  663. package/dist/solutions-components/p-13290851.js +259 -0
  664. package/dist/solutions-components/p-15ef7894.js +6 -0
  665. package/dist/solutions-components/p-164be8ef.entry.js +6 -0
  666. package/dist/solutions-components/p-19fe7725.js +6 -0
  667. package/dist/solutions-components/p-1add4e39.entry.js +11 -0
  668. package/dist/solutions-components/p-1ea1dcac.js +61 -0
  669. package/dist/solutions-components/p-1ede2e18.js +11 -0
  670. package/dist/solutions-components/p-2005280f.js +11 -0
  671. package/dist/solutions-components/p-216801d5.js +6 -0
  672. package/dist/solutions-components/p-21f00df6.js +6 -0
  673. package/dist/solutions-components/p-22d580b0.entry.js +11 -0
  674. package/dist/solutions-components/p-2656168f.entry.js +11 -0
  675. package/dist/solutions-components/p-27a1ac1f.entry.js +17 -0
  676. package/dist/solutions-components/p-28d2670f.entry.js +6 -0
  677. package/dist/solutions-components/p-29d41c7e.js +11 -0
  678. package/dist/solutions-components/p-2ae17fa2.js +6 -0
  679. package/dist/solutions-components/p-2b252afd.entry.js +6 -0
  680. package/dist/solutions-components/p-2b96e551.entry.js +11 -0
  681. package/dist/solutions-components/p-2c0dc7b1.js +6 -0
  682. package/dist/solutions-components/p-2d70d3fd.js +12 -0
  683. package/dist/solutions-components/p-31316d61.entry.js +11 -0
  684. package/dist/solutions-components/p-31ff3452.entry.js +11 -0
  685. package/dist/solutions-components/p-326fa270.js +6 -0
  686. package/dist/solutions-components/p-32ef065d.entry.js +11 -0
  687. package/dist/solutions-components/p-32f9c709.js +6 -0
  688. package/dist/solutions-components/p-3445a8c6.js +21 -0
  689. package/dist/solutions-components/p-35123c90.js +6 -0
  690. package/dist/solutions-components/p-361f1fe1.js +11 -0
  691. package/dist/solutions-components/p-39ff5ee5.js +11 -0
  692. package/dist/solutions-components/p-3aba40e8.js +18 -0
  693. package/dist/solutions-components/p-3bd99fc9.js +11 -0
  694. package/dist/solutions-components/p-3cbe5ef3.js +6 -0
  695. package/dist/solutions-components/p-3cce003d.js +27 -0
  696. package/dist/solutions-components/p-3e139360.js +6 -0
  697. package/dist/solutions-components/p-3f0193e9.js +6 -0
  698. package/dist/solutions-components/p-418d0b60.entry.js +6 -0
  699. package/dist/solutions-components/p-421d5e7c.js +6 -0
  700. package/dist/solutions-components/p-42c7a5fa.entry.js +11 -0
  701. package/dist/solutions-components/p-46d5970b.entry.js +37 -0
  702. package/dist/solutions-components/p-4b95d05e.entry.js +6 -0
  703. package/dist/solutions-components/p-4bc7b875.entry.js +11 -0
  704. package/dist/solutions-components/p-4c43820f.entry.js +6 -0
  705. package/dist/solutions-components/p-4d17943f.js +6 -0
  706. package/dist/solutions-components/p-4daae757.js +6 -0
  707. package/dist/solutions-components/p-4e4b55b9.entry.js +37 -0
  708. package/dist/solutions-components/p-4f0c3fc1.js +6 -0
  709. package/dist/solutions-components/p-525f1188.js +11 -0
  710. package/dist/solutions-components/p-5383607a.js +22 -0
  711. package/dist/solutions-components/p-541697d0.js +11 -0
  712. package/dist/solutions-components/p-55aefaa8.entry.js +6 -0
  713. package/dist/solutions-components/p-56300653.js +16 -0
  714. package/dist/solutions-components/p-57c08531.entry.js +6 -0
  715. package/dist/solutions-components/p-5adf37ea.entry.js +12 -0
  716. package/dist/solutions-components/p-5b5a6ac8.entry.js +6 -0
  717. package/dist/solutions-components/p-5b9b1cbb.entry.js +11 -0
  718. package/dist/solutions-components/p-5c097e25.entry.js +11 -0
  719. package/dist/solutions-components/p-5e59219b.entry.js +6 -0
  720. package/dist/solutions-components/p-5f5c371e.js +6 -0
  721. package/dist/solutions-components/p-606ca126.js +6 -0
  722. package/dist/solutions-components/p-634e1240.js +6 -0
  723. package/dist/solutions-components/p-639cca97.js +6 -0
  724. package/dist/solutions-components/p-6431fd69.js +11 -0
  725. package/dist/solutions-components/p-647a4130.js +16 -0
  726. package/dist/solutions-components/p-6665fa1f.js +6 -0
  727. package/dist/solutions-components/p-67ce3c0c.entry.js +11 -0
  728. package/dist/solutions-components/p-680d193d.entry.js +11 -0
  729. package/dist/solutions-components/p-6a524392.entry.js +11 -0
  730. package/dist/solutions-components/p-6a820c4d.js +6 -0
  731. package/dist/solutions-components/p-6b2f2b85.js +17 -0
  732. package/dist/solutions-components/p-6de98c51.js +21 -0
  733. package/dist/solutions-components/p-754e2df2.js +6 -0
  734. package/dist/solutions-components/p-75f26870.js +474 -0
  735. package/dist/solutions-components/p-7601988d.entry.js +11 -0
  736. package/dist/solutions-components/p-761a033a.entry.js +11 -0
  737. package/dist/solutions-components/p-7920b5a2.entry.js +11 -0
  738. package/dist/solutions-components/p-7aa949a3.entry.js +11 -0
  739. package/dist/solutions-components/p-7b90c18e.entry.js +6 -0
  740. package/dist/solutions-components/p-7b9adfff.js +6 -0
  741. package/dist/solutions-components/p-7c33e500.entry.js +6 -0
  742. package/dist/solutions-components/p-804e4751.entry.js +17 -0
  743. package/dist/solutions-components/p-82199b7b.entry.js +6 -0
  744. package/dist/solutions-components/p-825bac0e.js +6 -0
  745. package/dist/solutions-components/p-844ee452.entry.js +11 -0
  746. package/dist/solutions-components/p-8a758303.js +17 -0
  747. package/dist/solutions-components/p-90bbf223.entry.js +6 -0
  748. package/dist/solutions-components/p-916f90ec.entry.js +6 -0
  749. package/dist/solutions-components/p-91caf655.entry.js +11 -0
  750. package/dist/solutions-components/p-93074bd4.entry.js +11 -0
  751. package/dist/solutions-components/p-9310b882.js +7 -0
  752. package/dist/solutions-components/p-955a956a.entry.js +23 -0
  753. package/dist/solutions-components/p-9603c3ff.entry.js +11 -0
  754. package/dist/solutions-components/p-97c47bbd.entry.js +18 -0
  755. package/dist/solutions-components/p-9bbc05ff.js +11 -0
  756. package/dist/solutions-components/p-9cb94ea0.js +6 -0
  757. package/dist/solutions-components/p-9e727488.js +6 -0
  758. package/dist/solutions-components/p-9fb16c72.entry.js +35 -0
  759. package/dist/solutions-components/p-a040efff.js +6 -0
  760. package/dist/solutions-components/p-a08bd8c1.entry.js +6 -0
  761. package/dist/solutions-components/p-a0a2c53d.js +21 -0
  762. package/dist/solutions-components/p-a0edbb27.js +6 -0
  763. package/dist/solutions-components/p-a258f5e7.js +6 -0
  764. package/dist/solutions-components/p-a2748b38.entry.js +6 -0
  765. package/dist/solutions-components/p-a6900100.entry.js +11 -0
  766. package/dist/solutions-components/p-a6c85bd7.entry.js +6 -0
  767. package/dist/solutions-components/p-a775ba2f.entry.js +11 -0
  768. package/dist/solutions-components/p-a777b18c.js +11 -0
  769. package/dist/solutions-components/p-a82f35c9.js +6 -0
  770. package/dist/solutions-components/p-a843af2a.js +6 -0
  771. package/dist/solutions-components/p-ab8f5c6b.entry.js +11 -0
  772. package/dist/solutions-components/p-abda8ca2.entry.js +11 -0
  773. package/dist/solutions-components/p-ad4d6d02.entry.js +22 -0
  774. package/dist/solutions-components/p-ad72a379.entry.js +16 -0
  775. package/dist/solutions-components/p-aeebdb15.js +6 -0
  776. package/dist/solutions-components/p-b0c4138f.entry.js +11 -0
  777. package/dist/solutions-components/p-b1f84ae5.js +6 -0
  778. package/dist/solutions-components/p-b2e6c578.js +6 -0
  779. package/dist/solutions-components/p-b4157e6a.js +6 -0
  780. package/dist/solutions-components/p-b49bdc72.entry.js +6 -0
  781. package/dist/solutions-components/p-b5d67495.entry.js +11 -0
  782. package/dist/solutions-components/p-b6578a32.js +6 -0
  783. package/dist/solutions-components/p-b684bbc7.entry.js +6 -0
  784. package/dist/solutions-components/p-b86b4512.entry.js +11 -0
  785. package/dist/solutions-components/p-b948ecd2.entry.js +11 -0
  786. package/dist/solutions-components/p-baccfd70.entry.js +6 -0
  787. package/dist/solutions-components/p-bba3fa4e.entry.js +11 -0
  788. package/dist/solutions-components/p-bbb0d957.entry.js +6 -0
  789. package/dist/solutions-components/p-bd3a3afe.js +6 -0
  790. package/dist/solutions-components/p-bf9e18d4.js +8 -0
  791. package/dist/solutions-components/p-c07af9c2.entry.js +11 -0
  792. package/dist/solutions-components/p-c1ee0d69.js +11 -0
  793. package/dist/solutions-components/p-c3f8b670.js +6 -0
  794. package/dist/solutions-components/p-c5e294e4.js +6 -0
  795. package/dist/solutions-components/p-c6d83122.entry.js +11 -0
  796. package/dist/solutions-components/p-c70392c4.entry.js +6 -0
  797. package/dist/solutions-components/p-c9858d8f.entry.js +11 -0
  798. package/dist/solutions-components/p-cad5587c.entry.js +35 -0
  799. package/dist/solutions-components/p-cf1af08f.entry.js +6 -0
  800. package/dist/solutions-components/p-cf43278c.entry.js +11 -0
  801. package/dist/solutions-components/p-d3a22725.js +6 -0
  802. package/dist/solutions-components/p-d62784a4.js +11 -0
  803. package/dist/solutions-components/p-d6322e4b.js +6 -0
  804. package/dist/solutions-components/p-dc9dad31.entry.js +6 -0
  805. package/dist/solutions-components/p-de58bd49.js +6 -0
  806. package/dist/solutions-components/p-de59d2f5.js +6 -0
  807. package/dist/solutions-components/p-e02fcfa9.entry.js +12 -0
  808. package/dist/solutions-components/p-e07b8a72.entry.js +11 -0
  809. package/dist/solutions-components/p-e10a62f4.entry.js +11 -0
  810. package/dist/solutions-components/p-e4253e1b.entry.js +6 -0
  811. package/dist/solutions-components/p-e645edf2.entry.js +6 -0
  812. package/dist/solutions-components/p-e6bee82f.js +6 -0
  813. package/dist/solutions-components/p-ea282908.js +6 -0
  814. package/dist/solutions-components/p-ee066c67.js +16 -0
  815. package/dist/solutions-components/p-ef48bd77.entry.js +17 -0
  816. package/dist/solutions-components/p-ef96894d.entry.js +23 -0
  817. package/dist/solutions-components/p-f28d69ac.entry.js +11 -0
  818. package/dist/solutions-components/p-f41105c8.js +6 -0
  819. package/dist/solutions-components/p-f8dd2784.js +36 -0
  820. package/dist/solutions-components/p-ffac6f88.entry.js +6 -0
  821. package/dist/solutions-components/solutions-components.esm.js +1 -1
  822. package/dist/solutions-components/utils/interfaces.ts +2 -0
  823. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +64 -0
  824. package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
  825. package/dist/types/components/card-manager/card-manager.d.ts +70 -70
  826. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +182 -174
  827. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
  828. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
  829. package/dist/types/components/edit-card/edit-card.d.ts +140 -140
  830. package/dist/types/components/info-card/info-card.d.ts +143 -143
  831. package/dist/types/components/json-editor/json-editor.d.ts +229 -229
  832. package/dist/types/components/layer-table/layer-table.d.ts +298 -276
  833. package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
  834. package/dist/types/components/list-item/list-item.d.ts +26 -26
  835. package/dist/types/components/map-card/map-card.d.ts +91 -83
  836. package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
  837. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
  838. package/dist/types/components/map-picker/map-picker.d.ts +109 -109
  839. package/dist/types/components/map-search/map-search.d.ts +107 -0
  840. package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
  841. package/dist/types/components/map-tools/map-tools.d.ts +167 -104
  842. package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
  843. package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
  844. package/dist/types/components/public-notification/public-notification.d.ts +610 -610
  845. package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
  846. package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
  847. package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
  848. package/dist/types/components/solution-item/solution-item.d.ts +71 -71
  849. package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
  850. package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
  851. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
  852. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
  853. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
  854. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
  855. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
  856. package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
  857. package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
  858. package/dist/types/components/store-manager/store-manager.d.ts +55 -55
  859. package/dist/types/components.d.ts +124 -0
  860. package/dist/types/index.d.ts +16 -16
  861. package/dist/types/preact.d.ts +4 -0
  862. package/dist/types/stencil-public-runtime.d.ts +29 -14
  863. package/dist/types/utils/common.d.ts +49 -49
  864. package/dist/types/utils/csvDownload.d.ts +24 -24
  865. package/dist/types/utils/csvUtils.d.ts +22 -22
  866. package/dist/types/utils/downloadUtils.d.ts +118 -118
  867. package/dist/types/utils/interfaces.d.ts +400 -398
  868. package/dist/types/utils/languageUtil.d.ts +11 -11
  869. package/dist/types/utils/loadModules.d.ts +17 -17
  870. package/dist/types/utils/locale.d.ts +22 -22
  871. package/dist/types/utils/mapViewUtils.d.ts +124 -124
  872. package/dist/types/utils/pciUtils.d.ts +97 -97
  873. package/dist/types/utils/pdfUtils.d.ts +27 -27
  874. package/dist/types/utils/publicNotificationStore.d.ts +24 -24
  875. package/dist/types/utils/queryUtils.d.ts +95 -95
  876. package/dist/types/utils/solution-store.d.ts +234 -234
  877. package/dist/types/utils/templates.d.ts +50 -50
  878. package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
  879. package/dist/types/utils/test/testUtils.d.ts +36 -36
  880. package/dist/types/utils/types.d.ts +1 -1
  881. package/package.json +2 -2
  882. package/dist/cjs/ExpandToggle-70890ae0.js +0 -117
  883. package/dist/cjs/FloatingArrow-4ca06439.js +0 -48
  884. package/dist/cjs/Heading-c5c71fc5.js +0 -25
  885. package/dist/cjs/app-globals-a34c0991.js +0 -64
  886. package/dist/cjs/ar-fa16156d.js +0 -97
  887. package/dist/cjs/bg-b39e773e.js +0 -78
  888. package/dist/cjs/bs-4579ea2a.js +0 -47
  889. package/dist/cjs/ca-f3f64686.js +0 -67
  890. package/dist/cjs/calcite-input-time-picker-6f38ef8c.js +0 -1718
  891. package/dist/cjs/conditionalSlot-a51326e7.js +0 -63
  892. package/dist/cjs/cs-1bcd5b46.js +0 -143
  893. package/dist/cjs/da-30ee21db.js +0 -62
  894. package/dist/cjs/date-f6611a19.js +0 -250
  895. package/dist/cjs/de-42aae5ad.js +0 -87
  896. package/dist/cjs/de-at-a3a6f020.js +0 -86
  897. package/dist/cjs/de-ch-36c13310.js +0 -86
  898. package/dist/cjs/dom-d529bae8.js +0 -1046
  899. package/dist/cjs/downloadUtils-6eb59363.js +0 -2767
  900. package/dist/cjs/el-90d066ae.js +0 -62
  901. package/dist/cjs/en-au-685b882b.js +0 -62
  902. package/dist/cjs/en-ca-ff4bc403.js +0 -61
  903. package/dist/cjs/en-gb-2f5587ad.js +0 -65
  904. package/dist/cjs/es-e9183ca0.js +0 -62
  905. package/dist/cjs/es-mx-dcc9afb2.js +0 -61
  906. package/dist/cjs/et-a18949ea.js +0 -88
  907. package/dist/cjs/fi-1ce00d38.js +0 -111
  908. package/dist/cjs/filter-494bf35e.js +0 -765
  909. package/dist/cjs/floating-ui-7d6e57d3.js +0 -1888
  910. package/dist/cjs/focusTrapComponent-0c4d7671.js +0 -1009
  911. package/dist/cjs/form-bcf49eae.js +0 -288
  912. package/dist/cjs/fr-a9435a19.js +0 -64
  913. package/dist/cjs/fr-ch-51efa9bf.js +0 -62
  914. package/dist/cjs/he-c5dccfa2.js +0 -101
  915. package/dist/cjs/hi-0898e7f2.js +0 -61
  916. package/dist/cjs/hr-68f7d8da.js +0 -76
  917. package/dist/cjs/hu-e494037d.js +0 -84
  918. package/dist/cjs/id-bef40c1c.js +0 -62
  919. package/dist/cjs/index-6654298b.js +0 -1796
  920. package/dist/cjs/index-e1b1954f.js +0 -201
  921. package/dist/cjs/index.es-d9b5d3a5.js +0 -10808
  922. package/dist/cjs/interfaces-ad03ec39.js +0 -85
  923. package/dist/cjs/it-1144ca67.js +0 -62
  924. package/dist/cjs/it-ch-2c14dca7.js +0 -62
  925. package/dist/cjs/ja-caad9809.js +0 -68
  926. package/dist/cjs/ko-ddec9054.js +0 -68
  927. package/dist/cjs/label-215c4af3.js +0 -136
  928. package/dist/cjs/loadModules-ae7715f2.js +0 -30
  929. package/dist/cjs/loadable-6da743c6.js +0 -94
  930. package/dist/cjs/locale-477d8d51.js +0 -604
  931. package/dist/cjs/locale-b113c6b2.js +0 -416
  932. package/dist/cjs/lt-205a1aa6.js +0 -93
  933. package/dist/cjs/lv-3ba82f9b.js +0 -62
  934. package/dist/cjs/map-picker_2.cjs.entry.js +0 -264
  935. package/dist/cjs/mapViewUtils-77a1ff88.js +0 -411
  936. package/dist/cjs/mk-069ea86a.js +0 -62
  937. package/dist/cjs/nb-9e9c934f.js +0 -63
  938. package/dist/cjs/nl-5dd0116f.js +0 -63
  939. package/dist/cjs/openCloseComponent-3fa18210.js +0 -84
  940. package/dist/cjs/pciUtils-423cfc68.js +0 -847
  941. package/dist/cjs/pl-74e70b37.js +0 -110
  942. package/dist/cjs/pt-br-0f76e430.js +0 -61
  943. package/dist/cjs/pt-cc737fcc.js +0 -63
  944. package/dist/cjs/publicNotificationStore-ec1bdd2d.js +0 -51
  945. package/dist/cjs/ro-5e396753.js +0 -62
  946. package/dist/cjs/ru-f7371aca.js +0 -122
  947. package/dist/cjs/shared-list-render-76c5dc25.js +0 -364
  948. package/dist/cjs/sk-ec02498f.js +0 -144
  949. package/dist/cjs/sl-8363f4d7.js +0 -62
  950. package/dist/cjs/solution-store-bd956f06.js +0 -4100
  951. package/dist/cjs/sortableComponent-8135ea87.js +0 -3112
  952. package/dist/cjs/sr-b0f92cb1.js +0 -97
  953. package/dist/cjs/sv-e2c27fff.js +0 -67
  954. package/dist/cjs/t9n-8be30efb.js +0 -100
  955. package/dist/cjs/th-8a6dc2cc.js +0 -61
  956. package/dist/cjs/throttle-8ee74c77.js +0 -75
  957. package/dist/cjs/time-9004df7e.js +0 -208
  958. package/dist/cjs/tr-09137435.js +0 -62
  959. package/dist/cjs/uk-c30401f4.js +0 -100
  960. package/dist/cjs/utils-ed4e5028.js +0 -55
  961. package/dist/cjs/utils-fb81c6b3.js +0 -64
  962. package/dist/cjs/vi-e069c9e4.js +0 -66
  963. package/dist/cjs/zh-cn-50f223a8.js +0 -90
  964. package/dist/cjs/zh-hk-5498073d.js +0 -67
  965. package/dist/cjs/zh-tw-dfdb0ae8.js +0 -88
  966. package/dist/esm/ExpandToggle-3420fa39.js +0 -109
  967. package/dist/esm/FloatingArrow-cd8eafa4.js +0 -46
  968. package/dist/esm/Heading-1763134e.js +0 -22
  969. package/dist/esm/app-globals-580889bd.js +0 -62
  970. package/dist/esm/ar-ceb1b389.js +0 -95
  971. package/dist/esm/bg-a8824832.js +0 -76
  972. package/dist/esm/bs-5c2ca44f.js +0 -45
  973. package/dist/esm/ca-47f86073.js +0 -65
  974. package/dist/esm/calcite-input-time-picker-59a3ed66.js +0 -1715
  975. package/dist/esm/conditionalSlot-91396dd5.js +0 -60
  976. package/dist/esm/cs-f651c3cd.js +0 -141
  977. package/dist/esm/da-e32ccc0a.js +0 -60
  978. package/dist/esm/date-51fa981b.js +0 -235
  979. package/dist/esm/de-9b417aed.js +0 -85
  980. package/dist/esm/de-at-f73447e2.js +0 -84
  981. package/dist/esm/de-ch-7ec8c31e.js +0 -84
  982. package/dist/esm/dom-8a9e4ee8.js +0 -1017
  983. package/dist/esm/downloadUtils-43b53f5a.js +0 -2761
  984. package/dist/esm/el-9a3189a2.js +0 -60
  985. package/dist/esm/en-au-5aea3b73.js +0 -60
  986. package/dist/esm/en-ca-fe3e706b.js +0 -59
  987. package/dist/esm/en-gb-a4278000.js +0 -63
  988. package/dist/esm/es-383f9c9e.js +0 -60
  989. package/dist/esm/es-mx-7845b382.js +0 -59
  990. package/dist/esm/et-d8f8df06.js +0 -86
  991. package/dist/esm/fi-14894338.js +0 -109
  992. package/dist/esm/filter-bf34614b.js +0 -763
  993. package/dist/esm/floating-ui-9870f74c.js +0 -1880
  994. package/dist/esm/focusTrapComponent-34010d00.js +0 -1004
  995. package/dist/esm/form-6669a774.js +0 -280
  996. package/dist/esm/fr-6f570086.js +0 -62
  997. package/dist/esm/fr-ch-b9f89159.js +0 -60
  998. package/dist/esm/he-174aca6e.js +0 -99
  999. package/dist/esm/hi-7e469aab.js +0 -59
  1000. package/dist/esm/hr-a4ac455a.js +0 -74
  1001. package/dist/esm/hu-207da291.js +0 -82
  1002. package/dist/esm/id-8e4d57bf.js +0 -60
  1003. package/dist/esm/index-4c4a4f3d.js +0 -199
  1004. package/dist/esm/index-d298aca9.js +0 -1762
  1005. package/dist/esm/index.es-a185f2b1.js +0 -10722
  1006. package/dist/esm/interfaces-bf20e69c.js +0 -85
  1007. package/dist/esm/it-7ade952c.js +0 -60
  1008. package/dist/esm/it-ch-181d76ab.js +0 -60
  1009. package/dist/esm/ja-42013dd3.js +0 -66
  1010. package/dist/esm/ko-8de07550.js +0 -66
  1011. package/dist/esm/label-661d8e10.js +0 -130
  1012. package/dist/esm/loadModules-cd3569de.js +0 -28
  1013. package/dist/esm/loadable-08376d90.js +0 -89
  1014. package/dist/esm/locale-54cac39a.js +0 -412
  1015. package/dist/esm/locale-73d0926a.js +0 -592
  1016. package/dist/esm/lt-1ef29b5b.js +0 -91
  1017. package/dist/esm/lv-263a2f78.js +0 -60
  1018. package/dist/esm/map-picker_2.entry.js +0 -259
  1019. package/dist/esm/mapViewUtils-1e68cede.js +0 -395
  1020. package/dist/esm/mk-d8bae136.js +0 -60
  1021. package/dist/esm/nb-494542b3.js +0 -61
  1022. package/dist/esm/nl-cd882d7f.js +0 -61
  1023. package/dist/esm/openCloseComponent-a40fd6fd.js +0 -82
  1024. package/dist/esm/pciUtils-ecda46e5.js +0 -844
  1025. package/dist/esm/pl-b79095d5.js +0 -108
  1026. package/dist/esm/polyfills/css-shim.js +0 -1
  1027. package/dist/esm/pt-5ca0b751.js +0 -61
  1028. package/dist/esm/pt-br-e1a1ce60.js +0 -59
  1029. package/dist/esm/publicNotificationStore-6ef555f3.js +0 -49
  1030. package/dist/esm/ro-5cbc0f2a.js +0 -60
  1031. package/dist/esm/ru-e66f5b84.js +0 -120
  1032. package/dist/esm/shared-list-render-5b788e63.js +0 -342
  1033. package/dist/esm/sk-be2b5cec.js +0 -142
  1034. package/dist/esm/sl-74600272.js +0 -60
  1035. package/dist/esm/solution-store-c107ca4d.js +0 -4092
  1036. package/dist/esm/sortableComponent-1dd8a4ae.js +0 -3109
  1037. package/dist/esm/sr-58280ce5.js +0 -95
  1038. package/dist/esm/sv-f0e2171a.js +0 -65
  1039. package/dist/esm/t9n-745553e0.js +0 -95
  1040. package/dist/esm/th-6c3eac31.js +0 -59
  1041. package/dist/esm/throttle-26fa347b.js +0 -73
  1042. package/dist/esm/time-7e3ba7c6.js +0 -195
  1043. package/dist/esm/tr-092713ca.js +0 -60
  1044. package/dist/esm/uk-95df0f95.js +0 -98
  1045. package/dist/esm/utils-4f695ec2.js +0 -45
  1046. package/dist/esm/utils-ddff4ef3.js +0 -61
  1047. package/dist/esm/vi-70a9857c.js +0 -64
  1048. package/dist/esm/zh-cn-e024ef2d.js +0 -88
  1049. package/dist/esm/zh-hk-36ff9e8f.js +0 -65
  1050. package/dist/esm/zh-tw-96ddb74c.js +0 -86
  1051. package/dist/solutions-components/p-0056655c.js +0 -6
  1052. package/dist/solutions-components/p-017265ef.entry.js +0 -23
  1053. package/dist/solutions-components/p-017543d5.entry.js +0 -11
  1054. package/dist/solutions-components/p-0209ed2e.js +0 -6
  1055. package/dist/solutions-components/p-0245bb56.entry.js +0 -6
  1056. package/dist/solutions-components/p-043ead99.entry.js +0 -6
  1057. package/dist/solutions-components/p-048a2a6d.js +0 -6
  1058. package/dist/solutions-components/p-050e12eb.entry.js +0 -12
  1059. package/dist/solutions-components/p-06916de9.entry.js +0 -11
  1060. package/dist/solutions-components/p-08320fb9.entry.js +0 -11
  1061. package/dist/solutions-components/p-08e12eb0.js +0 -6
  1062. package/dist/solutions-components/p-0a2c02fd.js +0 -6
  1063. package/dist/solutions-components/p-0a4bc416.js +0 -6
  1064. package/dist/solutions-components/p-0afa17dc.entry.js +0 -23
  1065. package/dist/solutions-components/p-0b4eb6e4.entry.js +0 -11
  1066. package/dist/solutions-components/p-0d900572.js +0 -6
  1067. package/dist/solutions-components/p-0f4d3009.entry.js +0 -11
  1068. package/dist/solutions-components/p-10181f33.entry.js +0 -6
  1069. package/dist/solutions-components/p-105ef63c.entry.js +0 -17
  1070. package/dist/solutions-components/p-11983a08.js +0 -6
  1071. package/dist/solutions-components/p-1260db08.js +0 -61
  1072. package/dist/solutions-components/p-129fcd0a.js +0 -6
  1073. package/dist/solutions-components/p-13f7e487.js +0 -11
  1074. package/dist/solutions-components/p-14769a01.js +0 -11
  1075. package/dist/solutions-components/p-14a4ad77.entry.js +0 -11
  1076. package/dist/solutions-components/p-15e67907.entry.js +0 -11
  1077. package/dist/solutions-components/p-17799448.entry.js +0 -11
  1078. package/dist/solutions-components/p-185a82e0.js +0 -17
  1079. package/dist/solutions-components/p-191c59e9.js +0 -6
  1080. package/dist/solutions-components/p-1b63bec9.entry.js +0 -11
  1081. package/dist/solutions-components/p-1c810f4c.entry.js +0 -6
  1082. package/dist/solutions-components/p-1d28ff09.entry.js +0 -11
  1083. package/dist/solutions-components/p-1e30069a.entry.js +0 -6
  1084. package/dist/solutions-components/p-1e63db11.entry.js +0 -6
  1085. package/dist/solutions-components/p-20274226.entry.js +0 -6
  1086. package/dist/solutions-components/p-2411f1f6.js +0 -6
  1087. package/dist/solutions-components/p-2509b65f.entry.js +0 -22
  1088. package/dist/solutions-components/p-25faeab6.js +0 -6
  1089. package/dist/solutions-components/p-27f5bb4f.js +0 -36
  1090. package/dist/solutions-components/p-2a0d8a46.entry.js +0 -11
  1091. package/dist/solutions-components/p-2dea68b6.entry.js +0 -17
  1092. package/dist/solutions-components/p-2ecd5cb7.js +0 -6
  1093. package/dist/solutions-components/p-30dbc43d.entry.js +0 -11
  1094. package/dist/solutions-components/p-32d821d1.entry.js +0 -37
  1095. package/dist/solutions-components/p-3479d873.entry.js +0 -6
  1096. package/dist/solutions-components/p-36d09c0c.entry.js +0 -35
  1097. package/dist/solutions-components/p-375f0b74.js +0 -474
  1098. package/dist/solutions-components/p-38b4873b.entry.js +0 -6
  1099. package/dist/solutions-components/p-38d61356.js +0 -18
  1100. package/dist/solutions-components/p-3a7156b8.entry.js +0 -6
  1101. package/dist/solutions-components/p-3b041268.js +0 -6
  1102. package/dist/solutions-components/p-3ca9bb95.js +0 -6
  1103. package/dist/solutions-components/p-3e5c8b2f.js +0 -6
  1104. package/dist/solutions-components/p-3ee6af74.js +0 -11
  1105. package/dist/solutions-components/p-3eecbcf0.entry.js +0 -18
  1106. package/dist/solutions-components/p-40432de5.entry.js +0 -11
  1107. package/dist/solutions-components/p-4058733e.entry.js +0 -11
  1108. package/dist/solutions-components/p-4152fae0.js +0 -6
  1109. package/dist/solutions-components/p-4321edfc.js +0 -6
  1110. package/dist/solutions-components/p-4344b6ca.entry.js +0 -11
  1111. package/dist/solutions-components/p-44e26e37.js +0 -6
  1112. package/dist/solutions-components/p-477ae127.js +0 -21
  1113. package/dist/solutions-components/p-4c8b1179.js +0 -6
  1114. package/dist/solutions-components/p-4e32bf8c.js +0 -6
  1115. package/dist/solutions-components/p-4e93132b.entry.js +0 -6
  1116. package/dist/solutions-components/p-4ea79dc4.entry.js +0 -11
  1117. package/dist/solutions-components/p-4f51db32.js +0 -6
  1118. package/dist/solutions-components/p-4f64d786.js +0 -6
  1119. package/dist/solutions-components/p-4ff653eb.js +0 -6
  1120. package/dist/solutions-components/p-53347add.js +0 -6
  1121. package/dist/solutions-components/p-54fce798.js +0 -11
  1122. package/dist/solutions-components/p-573d282b.entry.js +0 -11
  1123. package/dist/solutions-components/p-58340eba.js +0 -6
  1124. package/dist/solutions-components/p-5930cd6d.entry.js +0 -6
  1125. package/dist/solutions-components/p-5fc99541.js +0 -257
  1126. package/dist/solutions-components/p-6071078a.entry.js +0 -6
  1127. package/dist/solutions-components/p-69863a28.entry.js +0 -6
  1128. package/dist/solutions-components/p-699031c9.entry.js +0 -11
  1129. package/dist/solutions-components/p-6998e886.entry.js +0 -11
  1130. package/dist/solutions-components/p-6a813a31.entry.js +0 -6
  1131. package/dist/solutions-components/p-6b12b5eb.entry.js +0 -16
  1132. package/dist/solutions-components/p-6e89e9dd.js +0 -6
  1133. package/dist/solutions-components/p-705b7f81.entry.js +0 -12
  1134. package/dist/solutions-components/p-75578ebf.entry.js +0 -6
  1135. package/dist/solutions-components/p-7c72df3c.js +0 -22
  1136. package/dist/solutions-components/p-7ca47589.entry.js +0 -11
  1137. package/dist/solutions-components/p-7cb8a4db.js +0 -6
  1138. package/dist/solutions-components/p-7cc13b24.js +0 -8
  1139. package/dist/solutions-components/p-8008b2fe.entry.js +0 -6
  1140. package/dist/solutions-components/p-81531fbe.entry.js +0 -11
  1141. package/dist/solutions-components/p-81627211.entry.js +0 -11
  1142. package/dist/solutions-components/p-8aa806fe.js +0 -12
  1143. package/dist/solutions-components/p-8ae8b789.js +0 -6
  1144. package/dist/solutions-components/p-8b1236bf.js +0 -6
  1145. package/dist/solutions-components/p-8b14f9aa.js +0 -16
  1146. package/dist/solutions-components/p-8b4e79fd.js +0 -16
  1147. package/dist/solutions-components/p-8bc91d5b.entry.js +0 -11
  1148. package/dist/solutions-components/p-8df0c98c.entry.js +0 -35
  1149. package/dist/solutions-components/p-953cf07a.entry.js +0 -6
  1150. package/dist/solutions-components/p-95cf8aa0.entry.js +0 -11
  1151. package/dist/solutions-components/p-99ece5e1.js +0 -11
  1152. package/dist/solutions-components/p-9a2a551d.js +0 -6
  1153. package/dist/solutions-components/p-9b43b4cf.js +0 -11
  1154. package/dist/solutions-components/p-9f922d49.js +0 -11
  1155. package/dist/solutions-components/p-9fb09c2c.js +0 -11
  1156. package/dist/solutions-components/p-a0e50ea6.entry.js +0 -6
  1157. package/dist/solutions-components/p-a1154bb5.entry.js +0 -11
  1158. package/dist/solutions-components/p-a709a84a.js +0 -11
  1159. package/dist/solutions-components/p-a99832c1.js +0 -27
  1160. package/dist/solutions-components/p-ad41cd27.entry.js +0 -6
  1161. package/dist/solutions-components/p-ad962e25.js +0 -6
  1162. package/dist/solutions-components/p-ae1459ed.entry.js +0 -6
  1163. package/dist/solutions-components/p-af9510a4.entry.js +0 -6
  1164. package/dist/solutions-components/p-afc462f0.js +0 -6
  1165. package/dist/solutions-components/p-b02a2b2f.js +0 -11
  1166. package/dist/solutions-components/p-b0eb13a1.js +0 -6
  1167. package/dist/solutions-components/p-b1228e6c.entry.js +0 -11
  1168. package/dist/solutions-components/p-b1ff9f2e.entry.js +0 -11
  1169. package/dist/solutions-components/p-b20bf7b7.entry.js +0 -6
  1170. package/dist/solutions-components/p-b361af64.entry.js +0 -11
  1171. package/dist/solutions-components/p-b4a6abe2.js +0 -11
  1172. package/dist/solutions-components/p-b68b17b6.entry.js +0 -37
  1173. package/dist/solutions-components/p-b73e9c4d.js +0 -6
  1174. package/dist/solutions-components/p-b9111e12.js +0 -6
  1175. package/dist/solutions-components/p-b9653a1e.js +0 -6
  1176. package/dist/solutions-components/p-b9fa9ca9.js +0 -6
  1177. package/dist/solutions-components/p-ba9bb2ba.entry.js +0 -11
  1178. package/dist/solutions-components/p-bc35e445.entry.js +0 -6
  1179. package/dist/solutions-components/p-bccc74a8.js +0 -6
  1180. package/dist/solutions-components/p-bd213033.entry.js +0 -6
  1181. package/dist/solutions-components/p-c0dc792a.entry.js +0 -11
  1182. package/dist/solutions-components/p-c16e540d.js +0 -6
  1183. package/dist/solutions-components/p-c35b219b.entry.js +0 -11
  1184. package/dist/solutions-components/p-c38c0612.entry.js +0 -11
  1185. package/dist/solutions-components/p-c8c3554b.js +0 -17
  1186. package/dist/solutions-components/p-cbebdffa.js +0 -6
  1187. package/dist/solutions-components/p-cbf52aa2.entry.js +0 -11
  1188. package/dist/solutions-components/p-ce21ee76.js +0 -6
  1189. package/dist/solutions-components/p-ce3e73ae.entry.js +0 -6
  1190. package/dist/solutions-components/p-cf14e2f3.js +0 -6
  1191. package/dist/solutions-components/p-cfebc45c.entry.js +0 -11
  1192. package/dist/solutions-components/p-d15a4f36.entry.js +0 -11
  1193. package/dist/solutions-components/p-d3550542.js +0 -6
  1194. package/dist/solutions-components/p-d3dceabd.entry.js +0 -11
  1195. package/dist/solutions-components/p-d43c1fc8.entry.js +0 -11
  1196. package/dist/solutions-components/p-d7ddd3a2.js +0 -21
  1197. package/dist/solutions-components/p-d841cb8b.js +0 -6
  1198. package/dist/solutions-components/p-d9868bac.js +0 -6
  1199. package/dist/solutions-components/p-dc94bec2.js +0 -6
  1200. package/dist/solutions-components/p-dd0f8875.js +0 -6
  1201. package/dist/solutions-components/p-dec7b660.js +0 -11
  1202. package/dist/solutions-components/p-deca8a07.js +0 -6
  1203. package/dist/solutions-components/p-df5ec082.entry.js +0 -11
  1204. package/dist/solutions-components/p-e046f728.js +0 -6
  1205. package/dist/solutions-components/p-e27ce6d2.entry.js +0 -11
  1206. package/dist/solutions-components/p-e2abc969.js +0 -6
  1207. package/dist/solutions-components/p-e3f9e213.js +0 -6
  1208. package/dist/solutions-components/p-e43839a8.entry.js +0 -11
  1209. package/dist/solutions-components/p-e4d5188b.entry.js +0 -6
  1210. package/dist/solutions-components/p-e666c0d6.entry.js +0 -6
  1211. package/dist/solutions-components/p-e6c20791.js +0 -11
  1212. package/dist/solutions-components/p-ec4c8dc3.js +0 -11
  1213. package/dist/solutions-components/p-ef34c9e2.entry.js +0 -11
  1214. package/dist/solutions-components/p-f346f8ab.js +0 -11
  1215. package/dist/solutions-components/p-f780ecc1.entry.js +0 -11
  1216. package/dist/solutions-components/p-f8be5d5f.js +0 -7
  1217. package/dist/solutions-components/p-f9a56d6b.entry.js +0 -6
  1218. package/dist/solutions-components/p-f9b9b211.entry.js +0 -12
  1219. package/dist/solutions-components/p-fc2277fe.js +0 -21
  1220. package/dist/solutions-components/p-fd65b14d.entry.js +0 -6
  1221. package/dist/solutions-components/p-fe0e8542.entry.js +0 -17
  1222. /package/dist/cjs/{array-51e7da8f.js → array-46bb7df1.js} +0 -0
  1223. /package/dist/cjs/{debounce-69c3bada.js → debounce-30afab47.js} +0 -0
  1224. /package/dist/cjs/{guid-ca85ade0.js → guid-3abe3cc6.js} +0 -0
  1225. /package/dist/cjs/{html2canvas-770c1171.js → html2canvas-34208bbf.js} +0 -0
  1226. /package/dist/cjs/{interactive-4e212b36.js → interactive-2fe0f43a.js} +0 -0
  1227. /package/dist/cjs/{key-b32a6438.js → key-b8b55ea3.js} +0 -0
  1228. /package/dist/cjs/{math-ef14a84a.js → math-5132d9bd.js} +0 -0
  1229. /package/dist/cjs/{observers-20fe6f01.js → observers-f5fa975b.js} +0 -0
  1230. /package/dist/cjs/{purify-5389d8d6.js → purify-f8c3e427.js} +0 -0
  1231. /package/dist/cjs/{resources-1d2258a1.js → resources-2901b608.js} +0 -0
  1232. /package/dist/cjs/{resources-a7e3371d.js → resources-4da89742.js} +0 -0
  1233. /package/dist/cjs/{resources-7c9bff85.js → resources-60c27547.js} +0 -0
  1234. /package/dist/cjs/{resources-b4b4b4fe.js → resources-77713c2e.js} +0 -0
  1235. /package/dist/cjs/{resources-b176fc52.js → resources-8233a151.js} +0 -0
  1236. /package/dist/cjs/{resources-f13e2605.js → resources-91409a5d.js} +0 -0
  1237. /package/dist/cjs/{resources-9dcbf30f.js → resources-9f2b33ee.js} +0 -0
  1238. /package/dist/cjs/{resources-f3e30b7b.js → resources-c913200c.js} +0 -0
  1239. /package/dist/cjs/{resources-c6f066a4.js → resources-e1258e8a.js} +0 -0
  1240. /package/dist/cjs/{utils-662561ad.js → utils-bae432a9.js} +0 -0
  1241. /package/dist/cjs/{utils-8a0f3e68.js → utils-cd14113f.js} +0 -0
  1242. /package/dist/{esm/resources-b5267429.js → components/resources4.js} +0 -0
  1243. /package/dist/esm/{array-4a653f59.js → array-751a2b87.js} +0 -0
  1244. /package/dist/esm/{debounce-4c884e5c.js → debounce-229b1a22.js} +0 -0
  1245. /package/dist/esm/{guid-1608fd71.js → guid-2bbb8cd1.js} +0 -0
  1246. /package/dist/esm/{html2canvas-12c862c8.js → html2canvas-a0a4df55.js} +0 -0
  1247. /package/dist/esm/{interactive-0733ee76.js → interactive-eaf4be29.js} +0 -0
  1248. /package/dist/esm/{key-97b504af.js → key-7a525416.js} +0 -0
  1249. /package/dist/esm/{math-e006358c.js → math-5f92f517.js} +0 -0
  1250. /package/dist/esm/{observers-67bdf9e5.js → observers-9d66685a.js} +0 -0
  1251. /package/dist/esm/{purify-75c61cf7.js → purify-c99d2ace.js} +0 -0
  1252. /package/dist/esm/{resources-913009ae.js → resources-58d30a0f.js} +0 -0
  1253. /package/dist/esm/{resources-6be20fcc.js → resources-5bce3953.js} +0 -0
  1254. /package/dist/esm/{resources-f97db74e.js → resources-94c47e64.js} +0 -0
  1255. /package/dist/esm/{resources-43d63050.js → resources-a9b2d33c.js} +0 -0
  1256. /package/dist/esm/{resources-34b761fa.js → resources-c253772f.js} +0 -0
  1257. /package/dist/esm/{resources-6b7800e6.js → resources-c65f5654.js} +0 -0
  1258. /package/dist/esm/{resources-01034dfa.js → resources-d6a4d343.js} +0 -0
  1259. /package/dist/esm/{resources-5490ccf4.js → resources-dca3d475.js} +0 -0
  1260. /package/dist/esm/{utils-dcd05f69.js → utils-18db6b1d.js} +0 -0
  1261. /package/dist/esm/{utils-649c76ab.js → utils-2c91c963.js} +0 -0
  1262. /package/dist/solutions-components/{p-5d25ba99.js → p-18869c0f.js} +0 -0
  1263. /package/dist/solutions-components/{p-43ebe36a.js → p-18f1772b.js} +0 -0
  1264. /package/dist/solutions-components/{p-76b83a13.js → p-1f468797.js} +0 -0
  1265. /package/dist/solutions-components/{p-f93e6931.js → p-215d3505.js} +0 -0
  1266. /package/dist/solutions-components/{p-0b32d4fe.js → p-2291b598.js} +0 -0
  1267. /package/dist/solutions-components/{p-0630e686.js → p-283e3a2d.js} +0 -0
  1268. /package/dist/solutions-components/{p-a963dd48.js → p-38ef0684.js} +0 -0
  1269. /package/dist/solutions-components/{p-3adf63ca.js → p-3fc17d72.js} +0 -0
  1270. /package/dist/solutions-components/{p-fb3ba11a.js → p-4805ff13.js} +0 -0
  1271. /package/dist/solutions-components/{p-5242a652.js → p-58ce5639.js} +0 -0
  1272. /package/dist/solutions-components/{p-203b16df.js → p-5961c4e0.js} +0 -0
  1273. /package/dist/solutions-components/{p-cc815aca.js → p-63a0e9bf.js} +0 -0
  1274. /package/dist/solutions-components/{p-d556b5c4.js → p-6f2edf5b.js} +0 -0
  1275. /package/dist/solutions-components/{p-9ab03591.js → p-868df4a0.js} +0 -0
  1276. /package/dist/solutions-components/{p-ff4afb7d.js → p-b9749e09.js} +0 -0
  1277. /package/dist/solutions-components/{p-3b72043f.js → p-d4c103a8.js} +0 -0
  1278. /package/dist/solutions-components/{p-7ac7b1a1.js → p-d554507d.js} +0 -0
  1279. /package/dist/solutions-components/{p-0506e06f.js → p-f055a840.js} +0 -0
  1280. /package/dist/solutions-components/{p-08ab045a.js → p-fb7e0054.js} +0 -0
@@ -7,773 +7,773 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- const index = require('./index-6654298b.js');
11
- const loadModules = require('./loadModules-ae7715f2.js');
12
- const mapViewUtils = require('./mapViewUtils-77a1ff88.js');
13
- const interfaces = require('./interfaces-ad03ec39.js');
14
- const publicNotificationStore = require('./publicNotificationStore-ec1bdd2d.js');
15
- const locale = require('./locale-b113c6b2.js');
16
- const downloadUtils = require('./downloadUtils-6eb59363.js');
17
- require('./index-e1b1954f.js');
10
+ const index = require('./index-0e50040c.js');
11
+ const loadModules = require('./loadModules-31cab7ac.js');
12
+ const mapViewUtils = require('./mapViewUtils-9da2dddd.js');
13
+ const interfaces = require('./interfaces-d539e30c.js');
14
+ const publicNotificationStore = require('./publicNotificationStore-55edd658.js');
15
+ const locale = require('./locale-d15cd743.js');
16
+ const downloadUtils = require('./downloadUtils-a8c530f7.js');
17
+ require('./index-2b60e135.js');
18
18
  require('./_commonjsHelpers-384729db.js');
19
19
 
20
20
  const mapSelectToolsCss = ":host{display:block}.div-visible{display:inherit}.div-visible-search{display:flex;height:44px;align-items:center;padding-bottom:0}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.padding-top-1{padding-top:1rem}.search-widget{width:100% !important;border:1px solid var(--calcite-ui-border-input)}.w-100{width:100%}.w-50{width:50%}.search-distance-container{padding-top:\"1rem\" !important}.end-border{border-inline-end:1px solid var(--calcite-ui-border-2)}.search-distance{display:flex;padding-top:1rem}.font-bold{font:bold}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.tooltip-container{display:flex}.padding-start-1-2{padding-inline-start:0.5rem}.icon{--calcite-ui-icon-color:var(--calcite-ui-brand)}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-2)}";
21
21
 
22
- const MapSelectTools = class {
23
- constructor(hostRef) {
24
- index.registerInstance(this, hostRef);
25
- this.selectionSetChange = index.createEvent(this, "selectionSetChange", 7);
26
- /**
27
- * number[]: the oids of the selected features
28
- */
29
- this._selectedIds = [];
30
- /**
31
- * string: A label to help uniquely identify the selection set
32
- */
33
- this._selectionLabel = "";
34
- /**
35
- * esri/Graphic[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
36
- */
37
- this._graphics = [];
38
- /**
39
- * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
40
- */
41
- this._featuresCollection = {};
42
- this.bufferColor = [227, 139, 79, 0.8];
43
- this.bufferOutlineColor = [255, 255, 255];
44
- this.customLabelEnabled = undefined;
45
- this.enabledLayerIds = [];
46
- this.defaultBufferDistance = undefined;
47
- this.defaultBufferUnit = undefined;
48
- this.geometries = [];
49
- this.isUpdate = false;
50
- this.layerViews = [];
51
- this.mapView = undefined;
52
- this.noResultText = undefined;
53
- this.searchConfiguration = undefined;
54
- this.selectionSet = undefined;
55
- this.selectionLayerIds = [];
56
- this.selectLayerView = undefined;
57
- this.sketchLineSymbol = undefined;
58
- this.sketchPointSymbol = undefined;
59
- this.sketchPolygonSymbol = undefined;
60
- this._numSelected = 0;
61
- this._searchDistanceEnabled = false;
62
- this._searchTerm = undefined;
63
- this._selectionLoading = false;
64
- this._translations = undefined;
65
- this._useLayerFeaturesEnabled = false;
66
- }
67
- //--------------------------------------------------------------------------
68
- //
69
- // Watch handlers
70
- //
71
- //--------------------------------------------------------------------------
72
- /**
73
- * Called each time the geometries prop is changed.
74
- *
75
- * @returns Promise when complete
76
- */
77
- async watchGeometriesHandler(newValue, oldValue) {
78
- if (newValue !== oldValue) {
79
- const isEmpty = newValue.length === 0;
80
- await this._clearResults(isEmpty, isEmpty);
81
- if (newValue.length > 0) {
82
- return this._highlightWithOIDsOrGeoms();
83
- }
84
- }
85
- }
86
- /**
87
- * Called each time the searchConfiguration prop is changed.
88
- *
89
- * @returns Promise when complete
90
- */
91
- async watchSearchConfigurationHandler(newValue, oldValue) {
92
- if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
93
- this._initSearchWidget();
94
- }
95
- }
96
- //--------------------------------------------------------------------------
97
- //
98
- // Methods (public)
99
- //
100
- //--------------------------------------------------------------------------
101
- /**
102
- * Clear any selection results
103
- *
104
- * @returns Promise when the results have been cleared
105
- */
106
- async clearSelection() {
107
- return this._clearResults(true, true);
108
- }
109
- /**
110
- * Get the new selection set
111
- *
112
- * @returns Promise with the new selection set
113
- */
114
- async getSelection() {
115
- // Allow any non whitespace
116
- if (!/\S+/gm.test(this._selectionLabel)) {
117
- this._updateLabel();
118
- }
119
- return {
120
- id: this.isUpdate ? this.selectionSet.id : Date.now(),
121
- searchResult: this._searchResult,
122
- buffer: this._bufferGeometry,
123
- distance: this._bufferTools.distance,
124
- download: true,
125
- unit: this._bufferTools.unit,
126
- label: this._selectionLabel,
127
- selectedIds: this._selectedIds,
128
- layerView: this.selectLayerView,
129
- geometries: this.geometries,
130
- graphics: this._graphics,
131
- selectLayers: this.layerViews,
132
- skipGeomOIDs: this._skipGeomOIDs,
133
- searchDistanceEnabled: this._searchDistanceEnabled,
134
- workflowType: this._workflowType,
135
- useLayerFeaturesEnabled: this._useLayerFeaturesEnabled,
136
- sketchGraphic: this._sketchGraphic
137
- };
138
- }
139
- /**
140
- * Handle changes to the search configuration
141
- */
142
- searchConfigurationChangeChanged(event) {
143
- this.searchConfiguration = event.detail;
144
- }
145
- /**
146
- * Handle changes to the buffer distance value
147
- */
148
- distanceChanged(event) {
149
- this._distanceChanged(event.detail);
150
- }
151
- /**
152
- * Handle changes to the buffer unit
153
- */
154
- unitChanged(event) {
155
- if (event.detail.newValue !== event.detail.oldValue) {
156
- this._unit = event.detail.newValue;
157
- this._updateLabel();
158
- }
159
- }
160
- //--------------------------------------------------------------------------
161
- //
162
- // Functions (lifecycle)
163
- //
164
- //--------------------------------------------------------------------------
165
- /**
166
- * StencilJS: Called once just after the component is first connected to the DOM.
167
- */
168
- async componentWillLoad() {
169
- await this._getTranslations();
170
- await this._initModules();
171
- }
172
- /**
173
- * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
174
- */
175
- async componentDidLoad() {
176
- return this._init();
177
- }
178
- /**
179
- * Renders the component.
180
- */
181
- render() {
182
- return (index.h(index.Host, null, this._getMapLayerPicker(), index.h("div", { class: "border-bottom" }), index.h("div", { class: "padding-top-sides-1" }, index.h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), index.h("div", { class: "padding-top-1" }, index.h("map-draw-tools", { active: true, editGraphicsEnabled: !this._useLayerFeaturesEnabled, graphics: this._graphics, mapView: this.mapView, onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, ref: (el) => { this._drawTools = el; } })), this._getBufferOptions(), this._getUseLayerFeaturesOptions(), this._getNumSelected()), index.h("div", { class: "border-bottom" }), this._getNameInput()));
183
- }
184
- /**
185
- * Renders the buffer tools component.
186
- */
187
- _getBufferOptions() {
188
- var _a, _b;
189
- const showBufferToolsClass = this._searchDistanceEnabled ? "search-distance" : "div-not-visible";
190
- const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
191
- return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.searchDistance, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), index.h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), index.h("div", { class: showBufferToolsClass }, index.h("buffer-tools", { disabled: !this._searchDistanceEnabled, distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit }))));
192
- }
193
- /**
194
- * Renders the map layer picker component.
195
- */
196
- _getUseLayerFeaturesOptions() {
197
- const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
198
- return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
199
- }
200
- /**
201
- * Renders the number of selected features
202
- */
203
- _getNumSelected() {
204
- const locale$1 = locale.getComponentClosestLanguage(this.el);
205
- const selectionLoading = locale$1 && locale$1 === "en" ?
206
- `${this._translations.selectionLoading}...` : this._translations.selectionLoading;
207
- return (index.h("div", { class: "padding-top-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (index.h("div", null, index.h("calcite-loader", { class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (index.h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), index.h("calcite-input-message", { class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
208
- this.noResultText && this._numSelected === 0 ? this.noResultText :
209
- this._translations.selectedFeatures.replace("{{n}}", this._numSelected.toString()))));
210
- }
211
- /**
212
- * Renders the custom label input
213
- */
214
- _getNameInput() {
215
- const nameLabelClass = this.customLabelEnabled ? "" : "display-none";
216
- return (index.h("div", { class: "padding-sides-1 padding-top-1 " + nameLabelClass }, index.h("calcite-label", { class: "font-bold" }, this._translations.listName, index.h("calcite-input", { onInput: () => {
217
- this._selectionLabel = this._labelName.value;
218
- }, placeholder: this._translations.listNamePlaceholder, ref: (el) => { this._labelName = el; }, value: this._selectionLabel || "" }))));
219
- }
220
- /**
221
- * Create the UI element that will expose the addressee layers
222
- *
223
- * @returns addressee layer list node
224
- * @protected
225
- */
226
- _getMapLayerPicker() {
227
- return (index.h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, index.h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._inputLayerSelectionChange(evt), selectedIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [] }))));
228
- }
229
- //--------------------------------------------------------------------------
230
- //
231
- // Functions (protected)
232
- //
233
- //--------------------------------------------------------------------------
234
- /**
235
- * Load esri javascript api modules
236
- *
237
- * @returns Promise resolving when function is done
238
- *
239
- * @protected
240
- */
241
- async _initModules() {
242
- const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules.loadModules([
243
- "esri/layers/GraphicsLayer",
244
- "esri/Graphic",
245
- "esri/widgets/Search",
246
- "esri/geometry/geometryEngine",
247
- "esri/layers/FeatureLayer"
248
- ]);
249
- this.GraphicsLayer = GraphicsLayer;
250
- this.Graphic = Graphic;
251
- this.Search = Search;
252
- this._geometryEngine = geometryEngine;
253
- this.FeatureLayer = FeatureLayer;
254
- }
255
- /**
256
- * Initialize the graphics layer, selection set, and search widget
257
- *
258
- * @returns Promise when the operation has completed
259
- */
260
- async _init() {
261
- this._initGraphicsLayer();
262
- await this._initSelectionSet();
263
- this._initSearchWidget();
264
- }
265
- /**
266
- * Initialize the state of the component with any stored values in a selection set
267
- *
268
- * @protected
269
- */
270
- async _initSelectionSet() {
271
- var _a, _b, _c, _d;
272
- if (this.selectionSet) {
273
- this._searchTerm = (_a = this.selectionSet.searchResult) === null || _a === void 0 ? void 0 : _a.name;
274
- this._searchResult = this.selectionSet.searchResult;
275
- this._selectLayers = this.selectionSet.selectLayers;
276
- this._selectedIds = this.selectionSet.selectedIds;
277
- this._skipGeomOIDs = this.selectionSet.skipGeomOIDs;
278
- this._searchDistanceEnabled = this.selectionSet.searchDistanceEnabled;
279
- this._useLayerFeaturesEnabled = this.selectionSet.useLayerFeaturesEnabled;
280
- this._distance = this.selectionSet.searchDistanceEnabled ? this.selectionSet.distance : 0;
281
- this._unit = this.selectionSet.unit;
282
- this._workflowType = this.selectionSet.workflowType;
283
- this.selectLayerView = this.selectionSet.layerView;
284
- this._sketchGraphic = this.selectionSet.sketchGraphic;
285
- this.geometries = [
286
- ...((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.geometries) || []
287
- ];
288
- // restore graphics from geometries to avoid issues with temp modifications to graphics that were aborted
289
- this._graphics = this.geometries.map(geometry => {
290
- const symbol = geometry.type === "point" ? this.sketchPointSymbol :
291
- geometry.type === "polyline" ? this.sketchLineSymbol : this.sketchPolygonSymbol;
292
- return new this.Graphic({
293
- geometry,
294
- symbol
295
- });
296
- });
297
- this._selectionLabel = (_c = this.selectionSet) === null || _c === void 0 ? void 0 : _c.label;
298
- if (!this._useLayerFeaturesEnabled) {
299
- (_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics();
300
- }
301
- await mapViewUtils.goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
302
- }
303
- }
304
- /**
305
- * Initialize the search widget
306
- *
307
- * @protected
308
- */
309
- _initSearchWidget() {
310
- if (this.mapView && this._searchElement) {
311
- const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
312
- const searchOptions = Object.assign({ view: this.mapView, container: this._searchElement, searchTerm: this._searchTerm }, searchConfiguration);
313
- this._searchWidget = new this.Search(searchOptions);
314
- this._searchWidget.popupEnabled = false;
315
- this._searchWidget.resultGraphicEnabled = false;
316
- this._searchWidget.on("search-clear", () => {
317
- const clearLabel = this._searchClearLabel();
318
- void this._clearResults(false, clearLabel);
319
- });
320
- this._searchWidget.on("select-result", (searchResults) => {
321
- var _a, _b;
322
- if (searchResults.result) {
323
- this._searchResult = searchResults.result;
324
- const useOIDs = ((_b = (_a = searchResults.source) === null || _a === void 0 ? void 0 : _a.layer) === null || _b === void 0 ? void 0 : _b.id) && searchResults.source.layer.id === this.selectLayerView.layer.id;
325
- const oids = useOIDs ? [searchResults.result.feature.getObjectId()] : undefined;
326
- this._workflowType = interfaces.EWorkflowType.SEARCH;
327
- this._updateLabel();
328
- const graphics = [searchResults.result.feature];
329
- this._updateSelection(graphics, useOIDs, oids);
330
- this._drawTools.graphics = graphics;
331
- this._searchWidget.resultGraphic.visible = false;
332
- }
333
- else {
334
- const clearLabel = this._searchClearLabel();
335
- void this._clearResults(false, clearLabel);
336
- }
337
- });
338
- }
339
- }
340
- /**
341
- * Check if the current label should be cleared
342
- *
343
- * @returns true when the current label is based on search result
344
- * @protected
345
- */
346
- _searchClearLabel() {
347
- var _a;
348
- return ((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) && this._labelName.value.indexOf(this._searchResult.name) > -1;
349
- }
350
- /**
351
- * Initialize the search widget based on user defined configuration
352
- *
353
- * @param searchConfiguration search configuration defined by the user
354
- * @param view the current map view
355
- *
356
- * @protected
357
- */
358
- _getSearchConfig(searchConfiguration, view) {
359
- const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
360
- const sources = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources;
361
- if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
362
- searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
363
- sources.forEach((source) => {
364
- var _a, _b;
365
- const isLayerSource = source.hasOwnProperty("layer");
366
- if (isLayerSource) {
367
- const layerSource = source;
368
- const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
369
- const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
370
- const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
371
- if (layerFromMap) {
372
- layerSource.layer = layerFromMap;
373
- }
374
- else if (layerUrl) {
375
- layerSource.layer = new this.FeatureLayer(layerUrl);
376
- }
377
- }
378
- });
379
- sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
380
- const isLocatorSource = source.hasOwnProperty("locator");
381
- if (isLocatorSource) {
382
- const locatorSource = source;
383
- if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
384
- const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
385
- locatorSource.outFields = outFields;
386
- locatorSource.singleLineFieldName = "SingleLine";
387
- }
388
- locatorSource.url = locatorSource.url;
389
- delete locatorSource.url;
390
- }
391
- });
392
- }
393
- else {
394
- searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
395
- }
396
- return searchConfiguration;
397
- }
398
- /**
399
- * Initialize the graphics layer used to store any buffer grapghics
400
- *
401
- * @protected
402
- */
403
- _initGraphicsLayer() {
404
- const title = this._translations.bufferLayer;
405
- const bufferIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
406
- if (bufferIndex > -1) {
407
- this._bufferGraphicsLayer = this.mapView.map.layers.getItemAt(bufferIndex);
408
- }
409
- else {
410
- this._bufferGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
411
- publicNotificationStore.state.managedLayers.push(title);
412
- const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === this._translations.sketchLayer);
413
- if (sketchIndex > -1) {
414
- this.mapView.map.layers.add(this._bufferGraphicsLayer, sketchIndex);
415
- }
416
- else {
417
- this.mapView.map.layers.add(this._bufferGraphicsLayer);
418
- }
419
- }
420
- }
421
- /**
422
- * Handle changes in the sketch graphics
423
- *
424
- * @param event stores the graphics that will be used to select features
425
- * @param forceUpdate when true the drawn graphic will be used to select features from
426
- * use layer features layer...then the selected layer features will be used to select from the main input layer
427
- *
428
- */
429
- async _sketchGraphicsChanged(event, forceUpdate = false) {
430
- const graphics = event.detail.graphics;
431
- if (graphics.length > 0 && graphics[0]) {
432
- if (!forceUpdate) {
433
- this._sketchGraphic = graphics[0];
434
- }
435
- this._workflowType = this._useLayerFeaturesEnabled ? interfaces.EWorkflowType.SELECT : interfaces.EWorkflowType.SKETCH;
436
- if (this._workflowType === interfaces.EWorkflowType.SKETCH) {
437
- this._drawTools.updateGraphics();
438
- }
439
- this._updateLabel();
440
- this._clearSearchWidget();
441
- if (this._useLayerFeaturesEnabled && !forceUpdate) {
442
- // Will only ever be a single graphic
443
- const geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
444
- await this._selectLayerFeatures(geometries[0]);
445
- }
446
- else {
447
- const oids = graphics.reduce((prev, cur) => {
448
- var _a;
449
- if ((_a = cur === null || cur === void 0 ? void 0 : cur.layer) === null || _a === void 0 ? void 0 : _a.objectIdField) {
450
- prev.push(cur.attributes[cur.layer.objectIdField]);
451
- }
452
- else if (cur.getObjectId) {
453
- prev.push(cur.getObjectId());
454
- }
455
- return prev;
456
- }, []);
457
- const useOIDs = event.detail.useOIDs && oids.length > 0;
458
- this._updateSelection(graphics, useOIDs, oids);
459
- if (useOIDs) {
460
- await this._highlightFeatures(oids);
461
- }
462
- }
463
- }
464
- else {
465
- await this._clearResults(true, true);
466
- }
467
- }
468
- /**
469
- * Highlight the features in the map based on OIDs when skipOIDs have been defined
470
- *
471
- * @protected
472
- */
473
- async _highlightWithOIDsOrGeoms() {
474
- var _a;
475
- if (((_a = this._skipGeomOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
476
- this._selectedIds = this._skipGeomOIDs;
477
- return this._highlightFeatures(this._selectedIds);
478
- }
479
- else {
480
- return this._geomQuery(this.geometries);
481
- }
482
- }
483
- /**
484
- * Highlight the features in the map
485
- *
486
- * @param ids the ids that should be highlighted
487
- *
488
- * @protected
489
- */
490
- async _highlightFeatures(ids) {
491
- publicNotificationStore.state.removeHandles();
492
- if (ids.length > 0) {
493
- publicNotificationStore.state.highlightHandles.push(await mapViewUtils.highlightFeatures(ids, this.selectLayerView, this.mapView));
494
- }
495
- this._numSelected = ids.length;
496
- this.selectionSetChange.emit(ids.length);
497
- }
498
- /**
499
- * Query the selectLayerView based on any user drawn geometries or buffers
500
- *
501
- * @param geometries Array of geometries used for the selection of ids from the select layer view
502
- *
503
- * @returns Promise when the selection is complete and the graphics have been highlighted
504
- */
505
- async _selectFeatures(geometries) {
506
- this._selectionLoading = true;
507
- this._selectedIds = await mapViewUtils.queryObjectIds(geometries, this.selectLayerView.layer);
508
- this._selectionLoading = false;
509
- // stored as graphics now in addition to the geoms
510
- this._drawTools.graphics = this._graphics;
511
- await this._highlightFeatures(this._selectedIds);
512
- }
513
- /**
514
- * Query the selectLayerView based on any user drawn geometries or buffers
515
- *
516
- * @param evt CustomEvent that contains the result of the buffer
517
- *
518
- * @protected
519
- */
520
- async _bufferComplete(evt) {
521
- this._bufferGeometry = Array.isArray(evt.detail) ?
522
- evt.detail[0] : evt.detail;
523
- let oldValue = this._bufferTools.distance;
524
- let newValue = 0;
525
- if (this._bufferGeometry) {
526
- // Create a symbol for rendering the graphic
527
- const symbol = {
528
- type: "simple-fill",
529
- color: this.bufferColor,
530
- outline: {
531
- color: this.bufferOutlineColor,
532
- width: 1
533
- }
534
- };
535
- // Add the geometry and symbol to a new graphic
536
- const polygonGraphic = new this.Graphic({
537
- geometry: this._bufferGeometry,
538
- symbol
539
- });
540
- this._bufferGraphicsLayer.removeAll();
541
- this._bufferGraphicsLayer.add(polygonGraphic);
542
- await this._selectFeatures([this._bufferGeometry]);
543
- await this.mapView.goTo(polygonGraphic.geometry.extent);
544
- // We need to swap the values again if they were previously
545
- // set based on disable of buffer tools when the tools have a value
546
- newValue = oldValue;
547
- oldValue = 0;
548
- }
549
- else {
550
- if (this._bufferGraphicsLayer) {
551
- this._bufferGraphicsLayer.removeAll();
552
- }
553
- await this._highlightWithOIDsOrGeoms();
554
- }
555
- // mock this b/c the tools can store a value that is different than what is shown in the map
556
- // this occurs when a distance is set but then buffer is disabled
557
- this._distanceChanged({
558
- oldValue,
559
- newValue
560
- });
561
- }
562
- /**
563
- * Fetch a single geometry for each potential geometry type
564
- *
565
- * @param geometries All current selection geometries
566
- *
567
- * @protected
568
- */
569
- _geomQuery(geometries) {
570
- const queryGeoms = mapViewUtils.getQueryGeoms(geometries, this._geometryEngine);
571
- return this._selectFeatures(queryGeoms);
572
- }
573
- /**
574
- * Clear all stored values and general state for the component
575
- *
576
- * @param clearSearchWidget Optional boolean for clearing the search widget (default is true)
577
- * @param clearLabel Optional boolean for clearing the search label (default is true)
578
- *
579
- * @protected
580
- */
581
- async _clearResults(clearSearchWidget = true, clearLabel = false) {
582
- var _a;
583
- this._selectedIds = [];
584
- this._distance = undefined;
585
- this._unit = undefined;
586
- if (clearLabel) {
587
- this._selectionLabel = "";
588
- this._labelName.value = "";
589
- }
590
- if (this._bufferGraphicsLayer) {
591
- this._bufferGraphicsLayer.removeAll();
592
- }
593
- if (clearSearchWidget && this._searchWidget) {
594
- this._clearSearchWidget();
595
- }
596
- publicNotificationStore.state.removeHandles();
597
- // checking for clear as it would throw off tests
598
- if ((_a = this._drawTools) === null || _a === void 0 ? void 0 : _a.clear) {
599
- this._graphics = [];
600
- await this._drawTools.clear();
601
- }
602
- this.selectionSetChange.emit(this._selectedIds.length);
603
- }
604
- /**
605
- * Clear all the search widget and any stored search result
606
- *
607
- * @protected
608
- */
609
- _clearSearchWidget() {
610
- this._searchWidget.clear();
611
- this._searchResult = undefined;
612
- }
613
- /**
614
- * Fetch a single geometry for the current geometry type
615
- *
616
- * @param type worflow type
617
- * @param graphics graphics to be used for selection
618
- * @param label selection label
619
- * @param useOIDs indicates if the OIDs should override the geometry for selection
620
- * @param oids list of IDs to select when useOIDs is true
621
- *
622
- * @protected
623
- */
624
- _updateSelection(graphics, useOIDs, oids) {
625
- this._selectedIds = useOIDs && oids ? oids : this._selectedIds;
626
- // see https://github.com/Esri/solutions-components/issues/148
627
- this._skipGeomOIDs = useOIDs ? oids : undefined;
628
- this.geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
629
- this._graphics = graphics;
630
- }
631
- /**
632
- * Updates the label for the selection set
633
- *
634
- * @protected
635
- */
636
- _updateLabel() {
637
- var _a, _b;
638
- const hasSketch = this._selectionLabel.indexOf(this._translations.sketch) > -1;
639
- const hasSelect = this._selectionLabel.indexOf(this._translations.select) > -1;
640
- const hasSearch = this._selectionLabel.indexOf((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) > -1;
641
- const label = this._workflowType === interfaces.EWorkflowType.SEARCH ? (_b = this._searchResult) === null || _b === void 0 ? void 0 : _b.name :
642
- this._workflowType === interfaces.EWorkflowType.SELECT ?
643
- this._translations.select : this._translations.sketch;
644
- const unit = !this._unit ? this._bufferTools.unit : this._unit;
645
- const distance = isNaN(this._distance) ? this._bufferTools.distance : this._distance;
646
- this._selectionLabel = hasSketch || hasSelect || hasSearch || !this._selectionLabel ?
647
- `${label} ${distance} ${unit}` : this._selectionLabel;
648
- this._labelName.value = this._selectionLabel;
649
- }
650
- /**
651
- * Gets the layer views from the map when the layer selection changes
652
- *
653
- * @returns Promise resolving when function is done
654
- *
655
- * @protected
656
- */
657
- async _layerSelectionChange(evt) {
658
- if (Array.isArray(evt.detail) && evt.detail.length > 0) {
659
- const layerPromises = evt.detail.map(id => {
660
- return mapViewUtils.getFeatureLayerView(this.mapView, id);
661
- });
662
- return Promise.all(layerPromises).then((layerViews) => {
663
- this.layerViews = layerViews;
664
- this._featuresCollection = {};
665
- if (this._sketchGraphic) {
666
- void this._sketchGraphicsChanged({
667
- detail: {
668
- graphics: [this._sketchGraphic],
669
- useOIDs: false
670
- }
671
- });
672
- }
673
- });
674
- }
675
- }
676
- /**
677
- * Fetch the layer from the map
678
- *
679
- * @param evt layer selection change event
680
- *
681
- * @returns Promise when the function has completed
682
- * @protected
683
- */
684
- async _inputLayerSelectionChange(evt) {
685
- var _a;
686
- const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
687
- if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
688
- this.selectLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, id);
689
- this._updateLabel();
690
- this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
691
- await this._highlightWithOIDsOrGeoms();
692
- }
693
- }
694
- /**
695
- * Handle changes to the buffer distance value
696
- */
697
- _distanceChanged(detail) {
698
- if (detail.newValue !== detail.oldValue) {
699
- this._distance = detail.newValue;
700
- this._updateLabel();
701
- }
702
- }
703
- /**
704
- * Select features based on the input geometry
705
- *
706
- * @param geom the geometry used for selection
707
- *
708
- * @returns Promise resolving when function is done
709
- *
710
- * @protected
711
- */
712
- async _selectLayerFeatures(geom) {
713
- this._selectionLoading = true;
714
- const queryFeaturePromises = this.layerViews.map(layerView => {
715
- this._featuresCollection[layerView.layer.id] = [];
716
- return mapViewUtils.queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
717
- });
718
- return Promise.all(queryFeaturePromises).then(async (response) => {
719
- this._selectionLoading = false;
720
- let graphics = [];
721
- response.forEach(r => {
722
- Object.keys(r).forEach(k => {
723
- graphics = graphics.concat(r[k]);
724
- });
725
- });
726
- let hasOID = false;
727
- graphics.forEach((g) => {
728
- var _a;
729
- const geom = g.geometry;
730
- g.symbol = geom.type === "point" ?
731
- this.sketchPointSymbol : geom.type === "polyline" ?
732
- this.sketchLineSymbol : geom.type === "polygon" ?
733
- this.sketchPolygonSymbol : undefined;
734
- hasOID = ((_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.hasOwnProperty("objectIdField")) || g.hasOwnProperty("getObjectId");
735
- });
736
- // OIDs are used when the addressee layer and the current "use layer features" layer are the same
737
- const useOIDs = (this.layerViews[0].layer.title === this.selectLayerView.layer.title) && hasOID;
738
- await this._sketchGraphicsChanged({
739
- detail: {
740
- graphics,
741
- useOIDs
742
- }
743
- }, true);
744
- });
745
- }
746
- /**
747
- * Store use layer features value and re-select features based on the original sketch graphic
748
- *
749
- * @protected
750
- */
751
- _useLayerFeaturesEnabledChanged() {
752
- this._useLayerFeaturesEnabled = !this._useLayerFeaturesEnabled;
753
- if (this._sketchGraphic) {
754
- void this._sketchGraphicsChanged({
755
- detail: {
756
- graphics: [this._sketchGraphic],
757
- useOIDs: false
758
- }
759
- });
760
- }
761
- }
762
- /**
763
- * Fetches the component's translations
764
- *
765
- * @protected
766
- */
767
- async _getTranslations() {
768
- const translations = await locale.getLocaleComponentStrings(this.el);
769
- this._translations = translations[0];
770
- }
771
- get el() { return index.getElement(this); }
772
- static get watchers() { return {
773
- "geometries": ["watchGeometriesHandler"],
774
- "searchConfiguration": ["watchSearchConfigurationHandler"]
775
- }; }
776
- };
22
+ const MapSelectTools = class {
23
+ constructor(hostRef) {
24
+ index.registerInstance(this, hostRef);
25
+ this.selectionSetChange = index.createEvent(this, "selectionSetChange", 7);
26
+ /**
27
+ * number[]: the oids of the selected features
28
+ */
29
+ this._selectedIds = [];
30
+ /**
31
+ * string: A label to help uniquely identify the selection set
32
+ */
33
+ this._selectionLabel = "";
34
+ /**
35
+ * esri/Graphic[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
36
+ */
37
+ this._graphics = [];
38
+ /**
39
+ * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
40
+ */
41
+ this._featuresCollection = {};
42
+ this.bufferColor = [227, 139, 79, 0.8];
43
+ this.bufferOutlineColor = [255, 255, 255];
44
+ this.customLabelEnabled = undefined;
45
+ this.enabledLayerIds = [];
46
+ this.defaultBufferDistance = undefined;
47
+ this.defaultBufferUnit = undefined;
48
+ this.geometries = [];
49
+ this.isUpdate = false;
50
+ this.layerViews = [];
51
+ this.mapView = undefined;
52
+ this.noResultText = undefined;
53
+ this.searchConfiguration = undefined;
54
+ this.selectionSet = undefined;
55
+ this.selectionLayerIds = [];
56
+ this.selectLayerView = undefined;
57
+ this.sketchLineSymbol = undefined;
58
+ this.sketchPointSymbol = undefined;
59
+ this.sketchPolygonSymbol = undefined;
60
+ this._numSelected = 0;
61
+ this._searchDistanceEnabled = false;
62
+ this._searchTerm = undefined;
63
+ this._selectionLoading = false;
64
+ this._translations = undefined;
65
+ this._useLayerFeaturesEnabled = false;
66
+ }
67
+ //--------------------------------------------------------------------------
68
+ //
69
+ // Watch handlers
70
+ //
71
+ //--------------------------------------------------------------------------
72
+ /**
73
+ * Called each time the geometries prop is changed.
74
+ *
75
+ * @returns Promise when complete
76
+ */
77
+ async watchGeometriesHandler(newValue, oldValue) {
78
+ if (newValue !== oldValue) {
79
+ const isEmpty = newValue.length === 0;
80
+ await this._clearResults(isEmpty, isEmpty);
81
+ if (newValue.length > 0) {
82
+ return this._highlightWithOIDsOrGeoms();
83
+ }
84
+ }
85
+ }
86
+ /**
87
+ * Called each time the searchConfiguration prop is changed.
88
+ *
89
+ * @returns Promise when complete
90
+ */
91
+ async watchSearchConfigurationHandler(newValue, oldValue) {
92
+ if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
93
+ this._initSearchWidget();
94
+ }
95
+ }
96
+ //--------------------------------------------------------------------------
97
+ //
98
+ // Methods (public)
99
+ //
100
+ //--------------------------------------------------------------------------
101
+ /**
102
+ * Clear any selection results
103
+ *
104
+ * @returns Promise when the results have been cleared
105
+ */
106
+ async clearSelection() {
107
+ return this._clearResults(true, true);
108
+ }
109
+ /**
110
+ * Get the new selection set
111
+ *
112
+ * @returns Promise with the new selection set
113
+ */
114
+ async getSelection() {
115
+ // Allow any non whitespace
116
+ if (!/\S+/gm.test(this._selectionLabel)) {
117
+ this._updateLabel();
118
+ }
119
+ return {
120
+ id: this.isUpdate ? this.selectionSet.id : Date.now(),
121
+ searchResult: this._searchResult,
122
+ buffer: this._bufferGeometry,
123
+ distance: this._bufferTools.distance,
124
+ download: true,
125
+ unit: this._bufferTools.unit,
126
+ label: this._selectionLabel,
127
+ selectedIds: this._selectedIds,
128
+ layerView: this.selectLayerView,
129
+ geometries: this.geometries,
130
+ graphics: this._graphics,
131
+ selectLayers: this.layerViews,
132
+ skipGeomOIDs: this._skipGeomOIDs,
133
+ searchDistanceEnabled: this._searchDistanceEnabled,
134
+ workflowType: this._workflowType,
135
+ useLayerFeaturesEnabled: this._useLayerFeaturesEnabled,
136
+ sketchGraphic: this._sketchGraphic
137
+ };
138
+ }
139
+ /**
140
+ * Handle changes to the search configuration
141
+ */
142
+ searchConfigurationChangeChanged(event) {
143
+ this.searchConfiguration = event.detail;
144
+ }
145
+ /**
146
+ * Handle changes to the buffer distance value
147
+ */
148
+ distanceChanged(event) {
149
+ this._distanceChanged(event.detail);
150
+ }
151
+ /**
152
+ * Handle changes to the buffer unit
153
+ */
154
+ unitChanged(event) {
155
+ if (event.detail.newValue !== event.detail.oldValue) {
156
+ this._unit = event.detail.newValue;
157
+ this._updateLabel();
158
+ }
159
+ }
160
+ //--------------------------------------------------------------------------
161
+ //
162
+ // Functions (lifecycle)
163
+ //
164
+ //--------------------------------------------------------------------------
165
+ /**
166
+ * StencilJS: Called once just after the component is first connected to the DOM.
167
+ */
168
+ async componentWillLoad() {
169
+ await this._getTranslations();
170
+ await this._initModules();
171
+ }
172
+ /**
173
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
174
+ */
175
+ async componentDidLoad() {
176
+ return this._init();
177
+ }
178
+ /**
179
+ * Renders the component.
180
+ */
181
+ render() {
182
+ return (index.h(index.Host, null, this._getMapLayerPicker(), index.h("div", { class: "border-bottom" }), index.h("div", { class: "padding-top-sides-1" }, index.h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), index.h("div", { class: "padding-top-1" }, index.h("map-draw-tools", { active: true, editGraphicsEnabled: !this._useLayerFeaturesEnabled, graphics: this._graphics, mapView: this.mapView, onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, ref: (el) => { this._drawTools = el; } })), this._getBufferOptions(), this._getUseLayerFeaturesOptions(), this._getNumSelected()), index.h("div", { class: "border-bottom" }), this._getNameInput()));
183
+ }
184
+ /**
185
+ * Renders the buffer tools component.
186
+ */
187
+ _getBufferOptions() {
188
+ var _a, _b;
189
+ const showBufferToolsClass = this._searchDistanceEnabled ? "search-distance" : "div-not-visible";
190
+ const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
191
+ return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.searchDistance, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), index.h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), index.h("div", { class: showBufferToolsClass }, index.h("buffer-tools", { disabled: !this._searchDistanceEnabled, distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit }))));
192
+ }
193
+ /**
194
+ * Renders the map layer picker component.
195
+ */
196
+ _getUseLayerFeaturesOptions() {
197
+ const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
198
+ return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
199
+ }
200
+ /**
201
+ * Renders the number of selected features
202
+ */
203
+ _getNumSelected() {
204
+ const locale$1 = locale.getComponentClosestLanguage(this.el);
205
+ const selectionLoading = locale$1 && locale$1 === "en" ?
206
+ `${this._translations.selectionLoading}...` : this._translations.selectionLoading;
207
+ return (index.h("div", { class: "padding-top-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (index.h("div", null, index.h("calcite-loader", { class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (index.h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), index.h("calcite-input-message", { class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
208
+ this.noResultText && this._numSelected === 0 ? this.noResultText :
209
+ this._translations.selectedFeatures.replace("{{n}}", this._numSelected.toString()))));
210
+ }
211
+ /**
212
+ * Renders the custom label input
213
+ */
214
+ _getNameInput() {
215
+ const nameLabelClass = this.customLabelEnabled ? "" : "display-none";
216
+ return (index.h("div", { class: "padding-sides-1 padding-top-1 " + nameLabelClass }, index.h("calcite-label", { class: "font-bold" }, this._translations.listName, index.h("calcite-input", { onInput: () => {
217
+ this._selectionLabel = this._labelName.value;
218
+ }, placeholder: this._translations.listNamePlaceholder, ref: (el) => { this._labelName = el; }, value: this._selectionLabel || "" }))));
219
+ }
220
+ /**
221
+ * Create the UI element that will expose the addressee layers
222
+ *
223
+ * @returns addressee layer list node
224
+ * @protected
225
+ */
226
+ _getMapLayerPicker() {
227
+ return (index.h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, index.h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._inputLayerSelectionChange(evt), selectedIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [] }))));
228
+ }
229
+ //--------------------------------------------------------------------------
230
+ //
231
+ // Functions (protected)
232
+ //
233
+ //--------------------------------------------------------------------------
234
+ /**
235
+ * Load esri javascript api modules
236
+ *
237
+ * @returns Promise resolving when function is done
238
+ *
239
+ * @protected
240
+ */
241
+ async _initModules() {
242
+ const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules.loadModules([
243
+ "esri/layers/GraphicsLayer",
244
+ "esri/Graphic",
245
+ "esri/widgets/Search",
246
+ "esri/geometry/geometryEngine",
247
+ "esri/layers/FeatureLayer"
248
+ ]);
249
+ this.GraphicsLayer = GraphicsLayer;
250
+ this.Graphic = Graphic;
251
+ this.Search = Search;
252
+ this._geometryEngine = geometryEngine;
253
+ this.FeatureLayer = FeatureLayer;
254
+ }
255
+ /**
256
+ * Initialize the graphics layer, selection set, and search widget
257
+ *
258
+ * @returns Promise when the operation has completed
259
+ */
260
+ async _init() {
261
+ this._initGraphicsLayer();
262
+ await this._initSelectionSet();
263
+ this._initSearchWidget();
264
+ }
265
+ /**
266
+ * Initialize the state of the component with any stored values in a selection set
267
+ *
268
+ * @protected
269
+ */
270
+ async _initSelectionSet() {
271
+ var _a, _b, _c, _d;
272
+ if (this.selectionSet) {
273
+ this._searchTerm = (_a = this.selectionSet.searchResult) === null || _a === void 0 ? void 0 : _a.name;
274
+ this._searchResult = this.selectionSet.searchResult;
275
+ this._selectLayers = this.selectionSet.selectLayers;
276
+ this._selectedIds = this.selectionSet.selectedIds;
277
+ this._skipGeomOIDs = this.selectionSet.skipGeomOIDs;
278
+ this._searchDistanceEnabled = this.selectionSet.searchDistanceEnabled;
279
+ this._useLayerFeaturesEnabled = this.selectionSet.useLayerFeaturesEnabled;
280
+ this._distance = this.selectionSet.searchDistanceEnabled ? this.selectionSet.distance : 0;
281
+ this._unit = this.selectionSet.unit;
282
+ this._workflowType = this.selectionSet.workflowType;
283
+ this.selectLayerView = this.selectionSet.layerView;
284
+ this._sketchGraphic = this.selectionSet.sketchGraphic;
285
+ this.geometries = [
286
+ ...((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.geometries) || []
287
+ ];
288
+ // restore graphics from geometries to avoid issues with temp modifications to graphics that were aborted
289
+ this._graphics = this.geometries.map(geometry => {
290
+ const symbol = geometry.type === "point" ? this.sketchPointSymbol :
291
+ geometry.type === "polyline" ? this.sketchLineSymbol : this.sketchPolygonSymbol;
292
+ return new this.Graphic({
293
+ geometry,
294
+ symbol
295
+ });
296
+ });
297
+ this._selectionLabel = (_c = this.selectionSet) === null || _c === void 0 ? void 0 : _c.label;
298
+ if (!this._useLayerFeaturesEnabled) {
299
+ (_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics();
300
+ }
301
+ await mapViewUtils.goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
302
+ }
303
+ }
304
+ /**
305
+ * Initialize the search widget
306
+ *
307
+ * @protected
308
+ */
309
+ _initSearchWidget() {
310
+ if (this.mapView && this._searchElement) {
311
+ const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
312
+ const searchOptions = Object.assign({ view: this.mapView, container: this._searchElement, searchTerm: this._searchTerm }, searchConfiguration);
313
+ this._searchWidget = new this.Search(searchOptions);
314
+ this._searchWidget.popupEnabled = false;
315
+ this._searchWidget.resultGraphicEnabled = false;
316
+ this._searchWidget.on("search-clear", () => {
317
+ const clearLabel = this._searchClearLabel();
318
+ void this._clearResults(false, clearLabel);
319
+ });
320
+ this._searchWidget.on("select-result", (searchResults) => {
321
+ var _a, _b;
322
+ if (searchResults.result) {
323
+ this._searchResult = searchResults.result;
324
+ const useOIDs = ((_b = (_a = searchResults.source) === null || _a === void 0 ? void 0 : _a.layer) === null || _b === void 0 ? void 0 : _b.id) && searchResults.source.layer.id === this.selectLayerView.layer.id;
325
+ const oids = useOIDs ? [searchResults.result.feature.getObjectId()] : undefined;
326
+ this._workflowType = interfaces.EWorkflowType.SEARCH;
327
+ this._updateLabel();
328
+ const graphics = [searchResults.result.feature];
329
+ this._updateSelection(graphics, useOIDs, oids);
330
+ this._drawTools.graphics = graphics;
331
+ this._searchWidget.resultGraphic.visible = false;
332
+ }
333
+ else {
334
+ const clearLabel = this._searchClearLabel();
335
+ void this._clearResults(false, clearLabel);
336
+ }
337
+ });
338
+ }
339
+ }
340
+ /**
341
+ * Check if the current label should be cleared
342
+ *
343
+ * @returns true when the current label is based on search result
344
+ * @protected
345
+ */
346
+ _searchClearLabel() {
347
+ var _a;
348
+ return ((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) && this._labelName.value.indexOf(this._searchResult.name) > -1;
349
+ }
350
+ /**
351
+ * Initialize the search widget based on user defined configuration
352
+ *
353
+ * @param searchConfiguration search configuration defined by the user
354
+ * @param view the current map view
355
+ *
356
+ * @protected
357
+ */
358
+ _getSearchConfig(searchConfiguration, view) {
359
+ const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
360
+ const sources = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources;
361
+ if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
362
+ searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
363
+ sources.forEach((source) => {
364
+ var _a, _b;
365
+ const isLayerSource = source.hasOwnProperty("layer");
366
+ if (isLayerSource) {
367
+ const layerSource = source;
368
+ const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
369
+ const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
370
+ const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
371
+ if (layerFromMap) {
372
+ layerSource.layer = layerFromMap;
373
+ }
374
+ else if (layerUrl) {
375
+ layerSource.layer = new this.FeatureLayer(layerUrl);
376
+ }
377
+ }
378
+ });
379
+ sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
380
+ const isLocatorSource = source.hasOwnProperty("locator");
381
+ if (isLocatorSource) {
382
+ const locatorSource = source;
383
+ if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
384
+ const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
385
+ locatorSource.outFields = outFields;
386
+ locatorSource.singleLineFieldName = "SingleLine";
387
+ }
388
+ locatorSource.url = locatorSource.url;
389
+ delete locatorSource.url;
390
+ }
391
+ });
392
+ }
393
+ else {
394
+ searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
395
+ }
396
+ return searchConfiguration;
397
+ }
398
+ /**
399
+ * Initialize the graphics layer used to store any buffer grapghics
400
+ *
401
+ * @protected
402
+ */
403
+ _initGraphicsLayer() {
404
+ const title = this._translations.bufferLayer;
405
+ const bufferIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
406
+ if (bufferIndex > -1) {
407
+ this._bufferGraphicsLayer = this.mapView.map.layers.getItemAt(bufferIndex);
408
+ }
409
+ else {
410
+ this._bufferGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
411
+ publicNotificationStore.state.managedLayers.push(title);
412
+ const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === this._translations.sketchLayer);
413
+ if (sketchIndex > -1) {
414
+ this.mapView.map.layers.add(this._bufferGraphicsLayer, sketchIndex);
415
+ }
416
+ else {
417
+ this.mapView.map.layers.add(this._bufferGraphicsLayer);
418
+ }
419
+ }
420
+ }
421
+ /**
422
+ * Handle changes in the sketch graphics
423
+ *
424
+ * @param event stores the graphics that will be used to select features
425
+ * @param forceUpdate when true the drawn graphic will be used to select features from
426
+ * use layer features layer...then the selected layer features will be used to select from the main input layer
427
+ *
428
+ */
429
+ async _sketchGraphicsChanged(event, forceUpdate = false) {
430
+ const graphics = event.detail.graphics;
431
+ if (graphics.length > 0 && graphics[0]) {
432
+ if (!forceUpdate) {
433
+ this._sketchGraphic = graphics[0];
434
+ }
435
+ this._workflowType = this._useLayerFeaturesEnabled ? interfaces.EWorkflowType.SELECT : interfaces.EWorkflowType.SKETCH;
436
+ if (this._workflowType === interfaces.EWorkflowType.SKETCH) {
437
+ this._drawTools.updateGraphics();
438
+ }
439
+ this._updateLabel();
440
+ this._clearSearchWidget();
441
+ if (this._useLayerFeaturesEnabled && !forceUpdate) {
442
+ // Will only ever be a single graphic
443
+ const geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
444
+ await this._selectLayerFeatures(geometries[0]);
445
+ }
446
+ else {
447
+ const oids = graphics.reduce((prev, cur) => {
448
+ var _a;
449
+ if ((_a = cur === null || cur === void 0 ? void 0 : cur.layer) === null || _a === void 0 ? void 0 : _a.objectIdField) {
450
+ prev.push(cur.attributes[cur.layer.objectIdField]);
451
+ }
452
+ else if (cur.getObjectId) {
453
+ prev.push(cur.getObjectId());
454
+ }
455
+ return prev;
456
+ }, []);
457
+ const useOIDs = event.detail.useOIDs && oids.length > 0;
458
+ this._updateSelection(graphics, useOIDs, oids);
459
+ if (useOIDs) {
460
+ await this._highlightFeatures(oids);
461
+ }
462
+ }
463
+ }
464
+ else {
465
+ await this._clearResults(true, true);
466
+ }
467
+ }
468
+ /**
469
+ * Highlight the features in the map based on OIDs when skipOIDs have been defined
470
+ *
471
+ * @protected
472
+ */
473
+ async _highlightWithOIDsOrGeoms() {
474
+ var _a;
475
+ if (((_a = this._skipGeomOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
476
+ this._selectedIds = this._skipGeomOIDs;
477
+ return this._highlightFeatures(this._selectedIds);
478
+ }
479
+ else {
480
+ return this._geomQuery(this.geometries);
481
+ }
482
+ }
483
+ /**
484
+ * Highlight the features in the map
485
+ *
486
+ * @param ids the ids that should be highlighted
487
+ *
488
+ * @protected
489
+ */
490
+ async _highlightFeatures(ids) {
491
+ publicNotificationStore.state.removeHandles();
492
+ if (ids.length > 0) {
493
+ publicNotificationStore.state.highlightHandles.push(await mapViewUtils.highlightFeatures(ids, this.selectLayerView, this.mapView));
494
+ }
495
+ this._numSelected = ids.length;
496
+ this.selectionSetChange.emit(ids.length);
497
+ }
498
+ /**
499
+ * Query the selectLayerView based on any user drawn geometries or buffers
500
+ *
501
+ * @param geometries Array of geometries used for the selection of ids from the select layer view
502
+ *
503
+ * @returns Promise when the selection is complete and the graphics have been highlighted
504
+ */
505
+ async _selectFeatures(geometries) {
506
+ this._selectionLoading = true;
507
+ this._selectedIds = await mapViewUtils.queryObjectIds(geometries, this.selectLayerView.layer);
508
+ this._selectionLoading = false;
509
+ // stored as graphics now in addition to the geoms
510
+ this._drawTools.graphics = this._graphics;
511
+ await this._highlightFeatures(this._selectedIds);
512
+ }
513
+ /**
514
+ * Query the selectLayerView based on any user drawn geometries or buffers
515
+ *
516
+ * @param evt CustomEvent that contains the result of the buffer
517
+ *
518
+ * @protected
519
+ */
520
+ async _bufferComplete(evt) {
521
+ this._bufferGeometry = Array.isArray(evt.detail) ?
522
+ evt.detail[0] : evt.detail;
523
+ let oldValue = this._bufferTools.distance;
524
+ let newValue = 0;
525
+ if (this._bufferGeometry) {
526
+ // Create a symbol for rendering the graphic
527
+ const symbol = {
528
+ type: "simple-fill",
529
+ color: this.bufferColor,
530
+ outline: {
531
+ color: this.bufferOutlineColor,
532
+ width: 1
533
+ }
534
+ };
535
+ // Add the geometry and symbol to a new graphic
536
+ const polygonGraphic = new this.Graphic({
537
+ geometry: this._bufferGeometry,
538
+ symbol
539
+ });
540
+ this._bufferGraphicsLayer.removeAll();
541
+ this._bufferGraphicsLayer.add(polygonGraphic);
542
+ await this._selectFeatures([this._bufferGeometry]);
543
+ await this.mapView.goTo(polygonGraphic.geometry.extent);
544
+ // We need to swap the values again if they were previously
545
+ // set based on disable of buffer tools when the tools have a value
546
+ newValue = oldValue;
547
+ oldValue = 0;
548
+ }
549
+ else {
550
+ if (this._bufferGraphicsLayer) {
551
+ this._bufferGraphicsLayer.removeAll();
552
+ }
553
+ await this._highlightWithOIDsOrGeoms();
554
+ }
555
+ // mock this b/c the tools can store a value that is different than what is shown in the map
556
+ // this occurs when a distance is set but then buffer is disabled
557
+ this._distanceChanged({
558
+ oldValue,
559
+ newValue
560
+ });
561
+ }
562
+ /**
563
+ * Fetch a single geometry for each potential geometry type
564
+ *
565
+ * @param geometries All current selection geometries
566
+ *
567
+ * @protected
568
+ */
569
+ _geomQuery(geometries) {
570
+ const queryGeoms = mapViewUtils.getQueryGeoms(geometries, this._geometryEngine);
571
+ return this._selectFeatures(queryGeoms);
572
+ }
573
+ /**
574
+ * Clear all stored values and general state for the component
575
+ *
576
+ * @param clearSearchWidget Optional boolean for clearing the search widget (default is true)
577
+ * @param clearLabel Optional boolean for clearing the search label (default is true)
578
+ *
579
+ * @protected
580
+ */
581
+ async _clearResults(clearSearchWidget = true, clearLabel = false) {
582
+ var _a;
583
+ this._selectedIds = [];
584
+ this._distance = undefined;
585
+ this._unit = undefined;
586
+ if (clearLabel) {
587
+ this._selectionLabel = "";
588
+ this._labelName.value = "";
589
+ }
590
+ if (this._bufferGraphicsLayer) {
591
+ this._bufferGraphicsLayer.removeAll();
592
+ }
593
+ if (clearSearchWidget && this._searchWidget) {
594
+ this._clearSearchWidget();
595
+ }
596
+ publicNotificationStore.state.removeHandles();
597
+ // checking for clear as it would throw off tests
598
+ if ((_a = this._drawTools) === null || _a === void 0 ? void 0 : _a.clear) {
599
+ this._graphics = [];
600
+ await this._drawTools.clear();
601
+ }
602
+ this.selectionSetChange.emit(this._selectedIds.length);
603
+ }
604
+ /**
605
+ * Clear all the search widget and any stored search result
606
+ *
607
+ * @protected
608
+ */
609
+ _clearSearchWidget() {
610
+ this._searchWidget.clear();
611
+ this._searchResult = undefined;
612
+ }
613
+ /**
614
+ * Fetch a single geometry for the current geometry type
615
+ *
616
+ * @param type worflow type
617
+ * @param graphics graphics to be used for selection
618
+ * @param label selection label
619
+ * @param useOIDs indicates if the OIDs should override the geometry for selection
620
+ * @param oids list of IDs to select when useOIDs is true
621
+ *
622
+ * @protected
623
+ */
624
+ _updateSelection(graphics, useOIDs, oids) {
625
+ this._selectedIds = useOIDs && oids ? oids : this._selectedIds;
626
+ // see https://github.com/Esri/solutions-components/issues/148
627
+ this._skipGeomOIDs = useOIDs ? oids : undefined;
628
+ this.geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
629
+ this._graphics = graphics;
630
+ }
631
+ /**
632
+ * Updates the label for the selection set
633
+ *
634
+ * @protected
635
+ */
636
+ _updateLabel() {
637
+ var _a, _b;
638
+ const hasSketch = this._selectionLabel.indexOf(this._translations.sketch) > -1;
639
+ const hasSelect = this._selectionLabel.indexOf(this._translations.select) > -1;
640
+ const hasSearch = this._selectionLabel.indexOf((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) > -1;
641
+ const label = this._workflowType === interfaces.EWorkflowType.SEARCH ? (_b = this._searchResult) === null || _b === void 0 ? void 0 : _b.name :
642
+ this._workflowType === interfaces.EWorkflowType.SELECT ?
643
+ this._translations.select : this._translations.sketch;
644
+ const unit = !this._unit ? this._bufferTools.unit : this._unit;
645
+ const distance = isNaN(this._distance) ? this._bufferTools.distance : this._distance;
646
+ this._selectionLabel = hasSketch || hasSelect || hasSearch || !this._selectionLabel ?
647
+ `${label} ${distance} ${unit}` : this._selectionLabel;
648
+ this._labelName.value = this._selectionLabel;
649
+ }
650
+ /**
651
+ * Gets the layer views from the map when the layer selection changes
652
+ *
653
+ * @returns Promise resolving when function is done
654
+ *
655
+ * @protected
656
+ */
657
+ async _layerSelectionChange(evt) {
658
+ if (Array.isArray(evt.detail) && evt.detail.length > 0) {
659
+ const layerPromises = evt.detail.map(id => {
660
+ return mapViewUtils.getFeatureLayerView(this.mapView, id);
661
+ });
662
+ return Promise.all(layerPromises).then((layerViews) => {
663
+ this.layerViews = layerViews;
664
+ this._featuresCollection = {};
665
+ if (this._sketchGraphic) {
666
+ void this._sketchGraphicsChanged({
667
+ detail: {
668
+ graphics: [this._sketchGraphic],
669
+ useOIDs: false
670
+ }
671
+ });
672
+ }
673
+ });
674
+ }
675
+ }
676
+ /**
677
+ * Fetch the layer from the map
678
+ *
679
+ * @param evt layer selection change event
680
+ *
681
+ * @returns Promise when the function has completed
682
+ * @protected
683
+ */
684
+ async _inputLayerSelectionChange(evt) {
685
+ var _a;
686
+ const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
687
+ if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
688
+ this.selectLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, id);
689
+ this._updateLabel();
690
+ this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
691
+ await this._highlightWithOIDsOrGeoms();
692
+ }
693
+ }
694
+ /**
695
+ * Handle changes to the buffer distance value
696
+ */
697
+ _distanceChanged(detail) {
698
+ if (detail.newValue !== detail.oldValue) {
699
+ this._distance = detail.newValue;
700
+ this._updateLabel();
701
+ }
702
+ }
703
+ /**
704
+ * Select features based on the input geometry
705
+ *
706
+ * @param geom the geometry used for selection
707
+ *
708
+ * @returns Promise resolving when function is done
709
+ *
710
+ * @protected
711
+ */
712
+ async _selectLayerFeatures(geom) {
713
+ this._selectionLoading = true;
714
+ const queryFeaturePromises = this.layerViews.map(layerView => {
715
+ this._featuresCollection[layerView.layer.id] = [];
716
+ return mapViewUtils.queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
717
+ });
718
+ return Promise.all(queryFeaturePromises).then(async (response) => {
719
+ this._selectionLoading = false;
720
+ let graphics = [];
721
+ response.forEach(r => {
722
+ Object.keys(r).forEach(k => {
723
+ graphics = graphics.concat(r[k]);
724
+ });
725
+ });
726
+ let hasOID = false;
727
+ graphics.forEach((g) => {
728
+ var _a;
729
+ const geom = g.geometry;
730
+ g.symbol = geom.type === "point" ?
731
+ this.sketchPointSymbol : geom.type === "polyline" ?
732
+ this.sketchLineSymbol : geom.type === "polygon" ?
733
+ this.sketchPolygonSymbol : undefined;
734
+ hasOID = ((_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.hasOwnProperty("objectIdField")) || g.hasOwnProperty("getObjectId");
735
+ });
736
+ // OIDs are used when the addressee layer and the current "use layer features" layer are the same
737
+ const useOIDs = (this.layerViews[0].layer.title === this.selectLayerView.layer.title) && hasOID;
738
+ await this._sketchGraphicsChanged({
739
+ detail: {
740
+ graphics,
741
+ useOIDs
742
+ }
743
+ }, true);
744
+ });
745
+ }
746
+ /**
747
+ * Store use layer features value and re-select features based on the original sketch graphic
748
+ *
749
+ * @protected
750
+ */
751
+ _useLayerFeaturesEnabledChanged() {
752
+ this._useLayerFeaturesEnabled = !this._useLayerFeaturesEnabled;
753
+ if (this._sketchGraphic) {
754
+ void this._sketchGraphicsChanged({
755
+ detail: {
756
+ graphics: [this._sketchGraphic],
757
+ useOIDs: false
758
+ }
759
+ });
760
+ }
761
+ }
762
+ /**
763
+ * Fetches the component's translations
764
+ *
765
+ * @protected
766
+ */
767
+ async _getTranslations() {
768
+ const translations = await locale.getLocaleComponentStrings(this.el);
769
+ this._translations = translations[0];
770
+ }
771
+ get el() { return index.getElement(this); }
772
+ static get watchers() { return {
773
+ "geometries": ["watchGeometriesHandler"],
774
+ "searchConfiguration": ["watchSearchConfigurationHandler"]
775
+ }; }
776
+ };
777
777
  MapSelectTools.style = mapSelectToolsCss;
778
778
 
779
779
  const labelFormats = [
@@ -975,532 +975,532 @@ const pdfLabelFormats = /*#__PURE__*/Object.freeze({
975
975
 
976
976
  const pdfDownloadCss = ":host{display:block}";
977
977
 
978
- const PdfDownload = class {
979
- constructor(hostRef) {
980
- index.registerInstance(this, hostRef);
981
- this.defaultNumLabelsPerPage = undefined;
982
- this.disabled = false;
983
- this._translations = undefined;
984
- }
985
- //--------------------------------------------------------------------------
986
- //
987
- // Watch handlers
988
- //
989
- //--------------------------------------------------------------------------
990
- //--------------------------------------------------------------------------
991
- //
992
- // Methods (public)
993
- //
994
- //--------------------------------------------------------------------------
995
- /**
996
- * Downloads csv of mailing labels for the provided list of ids
997
- *
998
- * @param exportInfos Information about items to be exported
999
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1000
- * @param addColumnTitle Indicates if column headings should be included in output
1001
- * @returns Promise resolving when function is done
1002
- */
1003
- async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
1004
- return downloadUtils.downloadCSV(exportInfos, true, // formatUsingLayerPopup
1005
- removeDuplicates, addColumnTitle);
1006
- }
1007
- /**
1008
- * Downloads pdf of mailing labels for the provided list of ids
1009
- *
1010
- * @param exportInfos Information about items to be exported
1011
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1012
- * @param title Title for each page
1013
- * @param initialImageDataUrl Data URL of image for first page
1014
- * @returns Promise resolving when function is done
1015
- */
1016
- async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
1017
- var _c;
1018
- return downloadUtils.downloadPDF(exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
1019
- }
1020
- //--------------------------------------------------------------------------
1021
- //
1022
- // Events (public)
1023
- //
1024
- //--------------------------------------------------------------------------
1025
- //--------------------------------------------------------------------------
1026
- //
1027
- // Functions (lifecycle)
1028
- //
1029
- //--------------------------------------------------------------------------
1030
- /**
1031
- * StencilJS: Called once just after the component is first connected to the DOM.
1032
- */
1033
- async componentWillLoad() {
1034
- await this._getTranslations();
1035
- await this._initModules();
1036
- }
1037
- /**
1038
- * Renders the component.
1039
- */
1040
- render() {
1041
- return (index.h(index.Host, null, index.h("calcite-select", { disabled: this.disabled, label: "", ref: (el) => { this._labelInfoElement = el; } })));
1042
- }
1043
- componentDidRender() {
1044
- // Render the options outside of Stencil's rendering so that it doesn't mangle RTL text with embedded LTR
1045
- this._renderOptions();
1046
- }
1047
- //--------------------------------------------------------------------------
1048
- //
1049
- // Functions (protected)
1050
- //
1051
- //--------------------------------------------------------------------------
1052
- /**
1053
- * Load esri javascript api modules
1054
- *
1055
- * @returns Promise resolving when function is done
1056
- *
1057
- * @protected
1058
- */
1059
- async _initModules() {
1060
- const [intl] = await loadModules.loadModules([
1061
- "esri/intl"
1062
- ]);
1063
- this._intl = intl;
1064
- }
1065
- /**
1066
- * Gets the formatted pdf export size text
1067
- *
1068
- * @param labelInfo current user selected label info
1069
- *
1070
- * @returns the pdf label as a string
1071
- * @protected
1072
- */
1073
- _getLabelSizeText(labelInfo) {
1074
- const lNum = labelInfo.descriptionPDF.labelsPerPageDisplay;
1075
- const lSize = "&lrm;" + labelInfo.descriptionPDF.labelWidthDisplay + " x " +
1076
- labelInfo.descriptionPDF.labelHeightDisplay + "&rlm;";
1077
- return this._translations.pdfLabel.replace("{{n}}", lNum).replace("{{labelSize}}", lSize);
1078
- }
1079
- /**
1080
- * Fetches the component's translations
1081
- *
1082
- * @protected
1083
- */
1084
- async _getTranslations() {
1085
- const translations = await locale.getLocaleComponentStrings(this.el);
1086
- this._translations = translations[0];
1087
- }
1088
- /**
1089
- * Renders the pdf export size options and adds them to the `select` component
1090
- *
1091
- * @protected
1092
- */
1093
- _renderOptions() {
1094
- const s = pdfLabelFormats;
1095
- const sortedPdfIndo = (s.default || s).sort((a, b) => {
1096
- const _a = parseInt(a.descriptionPDF.labelsPerPageDisplay, 10);
1097
- const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);
1098
- return _a < _b ? -1 : _a > _b ? 1 : 0;
1099
- });
1100
- sortedPdfIndo.forEach((l, i) => {
1101
- const option = document.createElement("calcite-option");
1102
- option.value = l;
1103
- option.innerHTML = this._getLabelSizeText(l);
1104
- this._labelInfoElement.appendChild(option);
1105
- if (this.defaultNumLabelsPerPage ? parseInt(l.descriptionPDF.labelsPerPageDisplay, 10) === this.defaultNumLabelsPerPage : i === 0) {
1106
- // Setting selected wasn't enough to trigger it being the 'selectedOption'
1107
- option.selected = true;
1108
- this._labelInfoElement.selectedOption = option;
1109
- }
1110
- });
1111
- }
1112
- get el() { return index.getElement(this); }
1113
- };
978
+ const PdfDownload = class {
979
+ constructor(hostRef) {
980
+ index.registerInstance(this, hostRef);
981
+ this.defaultNumLabelsPerPage = undefined;
982
+ this.disabled = false;
983
+ this._translations = undefined;
984
+ }
985
+ //--------------------------------------------------------------------------
986
+ //
987
+ // Watch handlers
988
+ //
989
+ //--------------------------------------------------------------------------
990
+ //--------------------------------------------------------------------------
991
+ //
992
+ // Methods (public)
993
+ //
994
+ //--------------------------------------------------------------------------
995
+ /**
996
+ * Downloads csv of mailing labels for the provided list of ids
997
+ *
998
+ * @param exportInfos Information about items to be exported
999
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1000
+ * @param addColumnTitle Indicates if column headings should be included in output
1001
+ * @returns Promise resolving when function is done
1002
+ */
1003
+ async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
1004
+ return downloadUtils.downloadCSV(exportInfos, true, // formatUsingLayerPopup
1005
+ removeDuplicates, addColumnTitle);
1006
+ }
1007
+ /**
1008
+ * Downloads pdf of mailing labels for the provided list of ids
1009
+ *
1010
+ * @param exportInfos Information about items to be exported
1011
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1012
+ * @param title Title for each page
1013
+ * @param initialImageDataUrl Data URL of image for first page
1014
+ * @returns Promise resolving when function is done
1015
+ */
1016
+ async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
1017
+ var _c;
1018
+ return downloadUtils.downloadPDF(exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
1019
+ }
1020
+ //--------------------------------------------------------------------------
1021
+ //
1022
+ // Events (public)
1023
+ //
1024
+ //--------------------------------------------------------------------------
1025
+ //--------------------------------------------------------------------------
1026
+ //
1027
+ // Functions (lifecycle)
1028
+ //
1029
+ //--------------------------------------------------------------------------
1030
+ /**
1031
+ * StencilJS: Called once just after the component is first connected to the DOM.
1032
+ */
1033
+ async componentWillLoad() {
1034
+ await this._getTranslations();
1035
+ await this._initModules();
1036
+ }
1037
+ /**
1038
+ * Renders the component.
1039
+ */
1040
+ render() {
1041
+ return (index.h(index.Host, null, index.h("calcite-select", { disabled: this.disabled, label: "", ref: (el) => { this._labelInfoElement = el; } })));
1042
+ }
1043
+ componentDidRender() {
1044
+ // Render the options outside of Stencil's rendering so that it doesn't mangle RTL text with embedded LTR
1045
+ this._renderOptions();
1046
+ }
1047
+ //--------------------------------------------------------------------------
1048
+ //
1049
+ // Functions (protected)
1050
+ //
1051
+ //--------------------------------------------------------------------------
1052
+ /**
1053
+ * Load esri javascript api modules
1054
+ *
1055
+ * @returns Promise resolving when function is done
1056
+ *
1057
+ * @protected
1058
+ */
1059
+ async _initModules() {
1060
+ const [intl] = await loadModules.loadModules([
1061
+ "esri/intl"
1062
+ ]);
1063
+ this._intl = intl;
1064
+ }
1065
+ /**
1066
+ * Gets the formatted pdf export size text
1067
+ *
1068
+ * @param labelInfo current user selected label info
1069
+ *
1070
+ * @returns the pdf label as a string
1071
+ * @protected
1072
+ */
1073
+ _getLabelSizeText(labelInfo) {
1074
+ const lNum = labelInfo.descriptionPDF.labelsPerPageDisplay;
1075
+ const lSize = "&lrm;" + labelInfo.descriptionPDF.labelWidthDisplay + " x " +
1076
+ labelInfo.descriptionPDF.labelHeightDisplay + "&rlm;";
1077
+ return this._translations.pdfLabel.replace("{{n}}", lNum).replace("{{labelSize}}", lSize);
1078
+ }
1079
+ /**
1080
+ * Fetches the component's translations
1081
+ *
1082
+ * @protected
1083
+ */
1084
+ async _getTranslations() {
1085
+ const translations = await locale.getLocaleComponentStrings(this.el);
1086
+ this._translations = translations[0];
1087
+ }
1088
+ /**
1089
+ * Renders the pdf export size options and adds them to the `select` component
1090
+ *
1091
+ * @protected
1092
+ */
1093
+ _renderOptions() {
1094
+ const s = pdfLabelFormats;
1095
+ const sortedPdfIndo = (s.default || s).sort((a, b) => {
1096
+ const _a = parseInt(a.descriptionPDF.labelsPerPageDisplay, 10);
1097
+ const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);
1098
+ return _a < _b ? -1 : _a > _b ? 1 : 0;
1099
+ });
1100
+ sortedPdfIndo.forEach((l, i) => {
1101
+ const option = document.createElement("calcite-option");
1102
+ option.value = l;
1103
+ option.innerHTML = this._getLabelSizeText(l);
1104
+ this._labelInfoElement.appendChild(option);
1105
+ if (this.defaultNumLabelsPerPage ? parseInt(l.descriptionPDF.labelsPerPageDisplay, 10) === this.defaultNumLabelsPerPage : i === 0) {
1106
+ // Setting selected wasn't enough to trigger it being the 'selectedOption'
1107
+ option.selected = true;
1108
+ this._labelInfoElement.selectedOption = option;
1109
+ }
1110
+ });
1111
+ }
1112
+ get el() { return index.getElement(this); }
1113
+ };
1114
1114
  PdfDownload.style = pdfDownloadCss;
1115
1115
 
1116
1116
  const refineSelectionCss = ":host{display:block}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.border{outline:1px solid var(--calcite-ui-border-input)}.margin-top-1{margin-top:1rem}.esri-sketch{display:flex;flex-flow:column wrap}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:var(--calcite-ui-foreground-1)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row nowrap;padding:0}*/ .esri-sketch__tool-section{border-right:1px solid rgba(110,110,110,.3)}.esri-sketch__section{align-items:center;display:flex;flex-flow:row nowrap;padding:0 7px;margin:6px 0;border-right:1px solid rgba(110,110,110,.3)}.display-flex{display:flex}.font-bold{font-weight:bold}.width-full{width:100%}.label-margin-0{--calcite-label-margin-bottom:0}.padding-start-1-2{padding-inline-start:0.5rem}.font-weight-500{font-weight:500}.word-wrap-anywhere{word-wrap:anywhere}";
1117
1117
 
1118
- const RefineSelection = class {
1119
- constructor(hostRef) {
1120
- index.registerInstance(this, hostRef);
1121
- this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
1122
- this.selectionSetsChanged = index.createEvent(this, "selectionSetsChanged", 7);
1123
- //--------------------------------------------------------------------------
1124
- //
1125
- // Properties (protected)
1126
- //
1127
- //--------------------------------------------------------------------------
1128
- /**
1129
- * boolean: Indicates if any new graphics should be added or removed
1130
- */
1131
- this._addEnabled = true;
1132
- /**
1133
- * ISelectionSet[]: The current list of selection sets
1134
- */
1135
- this._refineSets = [];
1136
- /**
1137
- * string[]: The list of all layers that have current selections
1138
- */
1139
- this._enabledLayerIds = [];
1140
- /**
1141
- * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
1142
- */
1143
- this._featuresCollection = {};
1144
- this.addresseeLayer = undefined;
1145
- this.enabledLayerIds = [];
1146
- this.mapView = undefined;
1147
- this.selectionSets = [];
1148
- this.sketchLineSymbol = undefined;
1149
- this.sketchPointSymbol = undefined;
1150
- this.sketchPolygonSymbol = undefined;
1151
- this._translations = undefined;
1152
- this._selectionMode = interfaces.ESelectionMode.ADD;
1153
- this._refineLayer = undefined;
1154
- }
1155
- //--------------------------------------------------------------------------
1156
- //
1157
- // Functions (lifecycle)
1158
- //
1159
- //--------------------------------------------------------------------------
1160
- /**
1161
- * StencilJS: Called once just after the component is first connected to the DOM.
1162
- */
1163
- async componentWillLoad() {
1164
- await this._getTranslations();
1165
- this._enabledLayerIds = this._getEnabledLayerIds();
1166
- await this._setRefineSet(this._enabledLayerIds[0]);
1167
- }
1168
- /**
1169
- * Renders the component.
1170
- */
1171
- render() {
1172
- var _a, _b;
1173
- const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1174
- return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("div", { class: "display-flex" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, index.h("div", { class: "display-flex" }, this._translations.inputLayer, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), index.h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedIds: [this._refineLayer.layer.id] })), index.h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, index.h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, index.h("span", { class: "font-weight-500" }, this._translations.add)), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, index.h("span", { class: "font-weight-500" }, this._translations.remove)))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1175
- }
1176
- //--------------------------------------------------------------------------
1177
- //
1178
- // Functions (protected)
1179
- //
1180
- //--------------------------------------------------------------------------
1181
- /**
1182
- * Set the user selected layer as the current refine layer
1183
- *
1184
- * @param evt contains the selected layer id
1185
- *
1186
- * @protected
1187
- */
1188
- _layerSelectionChange(evt) {
1189
- const id = evt.detail[0];
1190
- void this._setRefineSet(id);
1191
- }
1192
- /**
1193
- * Store the current selection mode
1194
- *
1195
- * @param selectionMode the current selection mode ADD || REMOVE
1196
- *
1197
- * @protected
1198
- */
1199
- _setSelectionMode(selectionMode) {
1200
- this._selectionMode = selectionMode;
1201
- }
1202
- /**
1203
- * Select features based on the user drawn geometry
1204
- *
1205
- * @param evt ISketchGraphicsChange stores the new graphics and a boolean useOIDs
1206
- * useOIDs is leveraged in some situations to use the feature OIDs rather than the graphic geometry
1207
- *
1208
- * @protected
1209
- */
1210
- _sketchGraphicsChanged(evt) {
1211
- var _a;
1212
- const geom = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.graphics[0].geometry;
1213
- void this._selectFeatures(geom);
1214
- }
1215
- /**
1216
- * Get the layer ids for all layers in the selection sets
1217
- *
1218
- * @protected
1219
- */
1220
- _getEnabledLayerIds() {
1221
- return this.selectionSets.reduce((prev, cur) => {
1222
- var _a;
1223
- const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
1224
- if (id && prev.indexOf(id) < 0) {
1225
- prev.push(id);
1226
- }
1227
- else if (cur.workflowType === interfaces.EWorkflowType.REFINE) {
1228
- Object.keys(cur.refineInfos).forEach(k => {
1229
- if (prev.indexOf(k) < 0) {
1230
- prev.push(k);
1231
- }
1232
- });
1233
- }
1234
- return prev;
1235
- }, []);
1236
- }
1237
- /**
1238
- * Set the refine layer...any adds or removes will be done against this layer
1239
- *
1240
- * @param id the id of the layer that should be used as the current refine layer
1241
- *
1242
- * @protected
1243
- */
1244
- async _setRefineSet(id) {
1245
- if (!this.selectionSets.some((ss) => {
1246
- if (ss.workflowType === interfaces.EWorkflowType.REFINE) {
1247
- this._refineSelectionSet = ss;
1248
- return Object.keys(ss.refineInfos).indexOf(id) > -1;
1249
- }
1250
- })) {
1251
- await this._initRefineSet(id, this._refineSelectionSet);
1252
- }
1253
- this._refineLayer = this._refineSelectionSet.refineInfos[id].layerView;
1254
- }
1255
- /**
1256
- * Initialize the refine selection set
1257
- *
1258
- * @param id the layer id to use for the refine selection set
1259
- * @param selectionSet the current refine selection set
1260
- *
1261
- * @protected
1262
- */
1263
- async _initRefineSet(id, selectionSet) {
1264
- const refineInfo = {};
1265
- refineInfo[id] = {
1266
- addIds: [],
1267
- removeIds: [],
1268
- layerView: await mapViewUtils.getFeatureLayerView(this.mapView, id)
1269
- };
1270
- if (selectionSet) {
1271
- selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
1272
- }
1273
- else {
1274
- this._refineSelectionSet = {
1275
- id: Date.now(),
1276
- searchResult: undefined,
1277
- buffer: undefined,
1278
- distance: 0,
1279
- download: true,
1280
- unit: "feet",
1281
- label: "Refine",
1282
- selectedIds: [],
1283
- layerView: undefined,
1284
- geometries: [],
1285
- graphics: [],
1286
- selectLayers: [],
1287
- workflowType: interfaces.EWorkflowType.REFINE,
1288
- searchDistanceEnabled: false,
1289
- useLayerFeaturesEnabled: false,
1290
- refineInfos: refineInfo,
1291
- redoStack: [],
1292
- undoStack: [],
1293
- sketchGraphic: undefined
1294
- };
1295
- this.selectionSets.push(this._refineSelectionSet);
1296
- }
1297
- }
1298
- /**
1299
- * Undo the most current ADD or REMOVE operation
1300
- *
1301
- * @returns Promise resolving when function is done
1302
- *
1303
- * @protected
1304
- */
1305
- _undo() {
1306
- const undoOp = this._refineSelectionSet.undoStack.pop();
1307
- void this._updateIds(undoOp.ids, undoOp.mode === interfaces.ESelectionMode.ADD ? interfaces.ESelectionMode.REMOVE : interfaces.ESelectionMode.ADD, this._refineSelectionSet.redoStack, undoOp.layerView);
1308
- }
1309
- /**
1310
- * Redo the most current ADD or REMOVE operation
1311
- *
1312
- * @returns Promise resolving when function is done
1313
- *
1314
- * @protected
1315
- */
1316
- _redo() {
1317
- const redoOp = this._refineSelectionSet.redoStack.pop();
1318
- void this._updateIds(redoOp.ids, redoOp.mode === interfaces.ESelectionMode.ADD ? interfaces.ESelectionMode.REMOVE : interfaces.ESelectionMode.ADD, this._refineSelectionSet.undoStack, redoOp.layerView);
1319
- }
1320
- /**
1321
- * Create a list to show the number added/removed/total unique selected
1322
- *
1323
- * @returns the list node
1324
- * @protected
1325
- */
1326
- _getRefineSelectionSetList() {
1327
- const total = this._getTotal(this.selectionSets);
1328
- let refineSet;
1329
- this.selectionSets.some(ss => {
1330
- if (ss.workflowType === interfaces.EWorkflowType.REFINE) {
1331
- refineSet = ss;
1332
- return true;
1333
- }
1334
- });
1335
- let numAdded = 0;
1336
- let numRemoved = 0;
1337
- Object.keys(refineSet.refineInfos).forEach(k => {
1338
- numAdded += refineSet.refineInfos[k].addIds.length;
1339
- numRemoved += refineSet.refineInfos[k].removeIds.length;
1340
- });
1341
- return [(index.h("calcite-list-item", { label: this._translations.featuresAdded.replace("{{n}}", numAdded.toString()), "non-interactive": true })), (index.h("calcite-list-item", { label: this._translations.featuresRemoved.replace("{{n}}", numRemoved.toString()), "non-interactive": true })), (index.h("calcite-list-item", { label: this._translations.totalSelected.replace("{{n}}", total.toString()), "non-interactive": true }))];
1342
- }
1343
- /**
1344
- * Get the total number od ids across all selection sets
1345
- *
1346
- * @returns the total number of ids
1347
- * @protected
1348
- */
1349
- _getTotal(selectionSets) {
1350
- const idSets = mapViewUtils.getIdSets(selectionSets);
1351
- return Object.keys(idSets).reduce((prev, cur) => {
1352
- const idSet = idSets[cur];
1353
- prev += idSet.ids.length;
1354
- return prev;
1355
- }, 0);
1356
- }
1357
- /**
1358
- * Fetches the component's translations
1359
- *
1360
- * @protected
1361
- */
1362
- async _getTranslations() {
1363
- const translations = await locale.getLocaleComponentStrings(this.el);
1364
- this._translations = translations[0];
1365
- }
1366
- /**
1367
- * Select features based on the input geometry
1368
- *
1369
- * @param geom the geometry used for selection
1370
- *
1371
- * @returns Promise resolving when function is done
1372
- *
1373
- * @protected
1374
- */
1375
- async _selectFeatures(geom) {
1376
- var _a, _b;
1377
- this.selectionLoadingChange.emit(true);
1378
- this._featuresCollection[(_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id] = [];
1379
- const response = await mapViewUtils.queryFeaturesByGeometry(0, (_b = this._refineLayer) === null || _b === void 0 ? void 0 : _b.layer, geom, this._featuresCollection);
1380
- this.selectionLoadingChange.emit(false);
1381
- let graphics = [];
1382
- Object.keys(response).forEach(k => {
1383
- var _a;
1384
- if (k === ((_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id)) {
1385
- graphics = graphics.concat(response[k]);
1386
- }
1387
- });
1388
- const oids = Array.isArray(graphics) ? graphics.map(g => { var _a; return g.attributes[(_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.objectIdField]; }) : [];
1389
- await this._updateIds(oids, this._selectionMode, this._refineSelectionSet.undoStack, this._refineLayer);
1390
- this._drawTools.clear();
1391
- }
1392
- /**
1393
- * Highlight any selected features in the map
1394
- *
1395
- * @returns Promise resolving when function is done
1396
- * @protected
1397
- */
1398
- async _highlightFeatures() {
1399
- this._clearHighlight();
1400
- publicNotificationStore.state.highlightHandles = await mapViewUtils.highlightAllFeatures(this.selectionSets);
1401
- }
1402
- /**
1403
- * Clear any highlighted features in the map
1404
- *
1405
- * @protected
1406
- */
1407
- _clearHighlight() {
1408
- publicNotificationStore.state.removeHandles();
1409
- }
1410
- /**
1411
- * Update the ids for any ADD or REMOVE operation and highlight the features.
1412
- *
1413
- * @param oids the ids to add or remove
1414
- * @param mode ADD or REMOVE this will control if the ids are added or removed
1415
- * @param operationStack the undo or redo stack to push the operation to
1416
- * @param operationMode ADD or REMOVE the mode of the individual refine operation
1417
- *
1418
- * @returns Promise resolving when function is done
1419
- *
1420
- * @protected
1421
- */
1422
- async _updateIds(ids, mode, operationStack, layerView) {
1423
- let selectionSetsChanged = false;
1424
- const refineInfos = this._refineSelectionSet.refineInfos;
1425
- const layerId = layerView.layer.id;
1426
- const newRefineInfo = {};
1427
- newRefineInfo[layerId] = {
1428
- addIds: [],
1429
- removeIds: [],
1430
- layerView
1431
- };
1432
- const idUpdates = Object.keys(refineInfos).indexOf(layerId) > -1 ?
1433
- refineInfos[layerId] : newRefineInfo[layerId];
1434
- if (mode === interfaces.ESelectionMode.ADD) {
1435
- idUpdates.addIds = [...new Set([...ids, ...idUpdates.addIds])];
1436
- if (idUpdates.addIds.length > 0) {
1437
- operationStack.push({
1438
- ids,
1439
- mode,
1440
- layerView
1441
- });
1442
- }
1443
- if (idUpdates.removeIds.length > 0) {
1444
- idUpdates.removeIds = idUpdates.removeIds.filter(id => ids.indexOf(id) < 0);
1445
- }
1446
- }
1447
- else {
1448
- // ids are a result of the drawn geom...so it's possible they could contain ids that do
1449
- // not exist in other selection sets
1450
- const validIds = this.selectionSets.reduce((prev, cur) => {
1451
- ids.forEach(id => {
1452
- if (cur.workflowType !== interfaces.EWorkflowType.REFINE) {
1453
- if (cur.selectedIds.indexOf(id) > -1) {
1454
- prev.push(id);
1455
- }
1456
- }
1457
- else {
1458
- Object.keys(cur.refineInfos).some(k => {
1459
- const refineInfo = cur.refineInfos[k];
1460
- if (refineInfo.layerView.layer.id === layerView.layer.id && refineInfo.addIds.indexOf(id) > -1) {
1461
- prev.push(id);
1462
- return true;
1463
- }
1464
- });
1465
- }
1466
- });
1467
- return prev;
1468
- }, []);
1469
- idUpdates.removeIds = [...new Set([...validIds, ...idUpdates.removeIds])];
1470
- idUpdates.addIds = idUpdates.addIds.filter(id => validIds.indexOf(id) < 0);
1471
- if (idUpdates.removeIds.length > 0) {
1472
- operationStack.push({
1473
- ids: validIds,
1474
- mode,
1475
- layerView
1476
- });
1477
- }
1478
- this.selectionSets = this.selectionSets.reduce((prev, cur) => {
1479
- if (cur.workflowType !== interfaces.EWorkflowType.REFINE &&
1480
- cur.layerView.layer.id === layerView.layer.id) {
1481
- cur.selectedIds = cur.selectedIds.filter(id => idUpdates.removeIds.indexOf(id) < 0);
1482
- if (cur.selectedIds.length > 0) {
1483
- prev.push(cur);
1484
- }
1485
- else {
1486
- selectionSetsChanged = true;
1487
- }
1488
- }
1489
- else {
1490
- prev.push(cur);
1491
- }
1492
- return prev;
1493
- }, []);
1494
- }
1495
- this._refineSelectionSet.refineInfos[layerId] = idUpdates;
1496
- this.selectionSets = [...this.selectionSets];
1497
- if (selectionSetsChanged) {
1498
- this.selectionSetsChanged.emit(this.selectionSets);
1499
- }
1500
- await this._highlightFeatures();
1501
- }
1502
- get el() { return index.getElement(this); }
1503
- };
1118
+ const RefineSelection = class {
1119
+ constructor(hostRef) {
1120
+ index.registerInstance(this, hostRef);
1121
+ this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
1122
+ this.selectionSetsChanged = index.createEvent(this, "selectionSetsChanged", 7);
1123
+ //--------------------------------------------------------------------------
1124
+ //
1125
+ // Properties (protected)
1126
+ //
1127
+ //--------------------------------------------------------------------------
1128
+ /**
1129
+ * boolean: Indicates if any new graphics should be added or removed
1130
+ */
1131
+ this._addEnabled = true;
1132
+ /**
1133
+ * ISelectionSet[]: The current list of selection sets
1134
+ */
1135
+ this._refineSets = [];
1136
+ /**
1137
+ * string[]: The list of all layers that have current selections
1138
+ */
1139
+ this._enabledLayerIds = [];
1140
+ /**
1141
+ * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
1142
+ */
1143
+ this._featuresCollection = {};
1144
+ this.addresseeLayer = undefined;
1145
+ this.enabledLayerIds = [];
1146
+ this.mapView = undefined;
1147
+ this.selectionSets = [];
1148
+ this.sketchLineSymbol = undefined;
1149
+ this.sketchPointSymbol = undefined;
1150
+ this.sketchPolygonSymbol = undefined;
1151
+ this._translations = undefined;
1152
+ this._selectionMode = interfaces.ESelectionMode.ADD;
1153
+ this._refineLayer = undefined;
1154
+ }
1155
+ //--------------------------------------------------------------------------
1156
+ //
1157
+ // Functions (lifecycle)
1158
+ //
1159
+ //--------------------------------------------------------------------------
1160
+ /**
1161
+ * StencilJS: Called once just after the component is first connected to the DOM.
1162
+ */
1163
+ async componentWillLoad() {
1164
+ await this._getTranslations();
1165
+ this._enabledLayerIds = this._getEnabledLayerIds();
1166
+ await this._setRefineSet(this._enabledLayerIds[0]);
1167
+ }
1168
+ /**
1169
+ * Renders the component.
1170
+ */
1171
+ render() {
1172
+ var _a, _b;
1173
+ const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1174
+ return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("div", { class: "display-flex" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, index.h("div", { class: "display-flex" }, this._translations.inputLayer, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), index.h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedIds: [this._refineLayer.layer.id] })), index.h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, index.h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, index.h("span", { class: "font-weight-500" }, this._translations.add)), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, index.h("span", { class: "font-weight-500" }, this._translations.remove)))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1175
+ }
1176
+ //--------------------------------------------------------------------------
1177
+ //
1178
+ // Functions (protected)
1179
+ //
1180
+ //--------------------------------------------------------------------------
1181
+ /**
1182
+ * Set the user selected layer as the current refine layer
1183
+ *
1184
+ * @param evt contains the selected layer id
1185
+ *
1186
+ * @protected
1187
+ */
1188
+ _layerSelectionChange(evt) {
1189
+ const id = evt.detail[0];
1190
+ void this._setRefineSet(id);
1191
+ }
1192
+ /**
1193
+ * Store the current selection mode
1194
+ *
1195
+ * @param selectionMode the current selection mode ADD || REMOVE
1196
+ *
1197
+ * @protected
1198
+ */
1199
+ _setSelectionMode(selectionMode) {
1200
+ this._selectionMode = selectionMode;
1201
+ }
1202
+ /**
1203
+ * Select features based on the user drawn geometry
1204
+ *
1205
+ * @param evt ISketchGraphicsChange stores the new graphics and a boolean useOIDs
1206
+ * useOIDs is leveraged in some situations to use the feature OIDs rather than the graphic geometry
1207
+ *
1208
+ * @protected
1209
+ */
1210
+ _sketchGraphicsChanged(evt) {
1211
+ var _a;
1212
+ const geom = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.graphics[0].geometry;
1213
+ void this._selectFeatures(geom);
1214
+ }
1215
+ /**
1216
+ * Get the layer ids for all layers in the selection sets
1217
+ *
1218
+ * @protected
1219
+ */
1220
+ _getEnabledLayerIds() {
1221
+ return this.selectionSets.reduce((prev, cur) => {
1222
+ var _a;
1223
+ const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
1224
+ if (id && prev.indexOf(id) < 0) {
1225
+ prev.push(id);
1226
+ }
1227
+ else if (cur.workflowType === interfaces.EWorkflowType.REFINE) {
1228
+ Object.keys(cur.refineInfos).forEach(k => {
1229
+ if (prev.indexOf(k) < 0) {
1230
+ prev.push(k);
1231
+ }
1232
+ });
1233
+ }
1234
+ return prev;
1235
+ }, []);
1236
+ }
1237
+ /**
1238
+ * Set the refine layer...any adds or removes will be done against this layer
1239
+ *
1240
+ * @param id the id of the layer that should be used as the current refine layer
1241
+ *
1242
+ * @protected
1243
+ */
1244
+ async _setRefineSet(id) {
1245
+ if (!this.selectionSets.some((ss) => {
1246
+ if (ss.workflowType === interfaces.EWorkflowType.REFINE) {
1247
+ this._refineSelectionSet = ss;
1248
+ return Object.keys(ss.refineInfos).indexOf(id) > -1;
1249
+ }
1250
+ })) {
1251
+ await this._initRefineSet(id, this._refineSelectionSet);
1252
+ }
1253
+ this._refineLayer = this._refineSelectionSet.refineInfos[id].layerView;
1254
+ }
1255
+ /**
1256
+ * Initialize the refine selection set
1257
+ *
1258
+ * @param id the layer id to use for the refine selection set
1259
+ * @param selectionSet the current refine selection set
1260
+ *
1261
+ * @protected
1262
+ */
1263
+ async _initRefineSet(id, selectionSet) {
1264
+ const refineInfo = {};
1265
+ refineInfo[id] = {
1266
+ addIds: [],
1267
+ removeIds: [],
1268
+ layerView: await mapViewUtils.getFeatureLayerView(this.mapView, id)
1269
+ };
1270
+ if (selectionSet) {
1271
+ selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
1272
+ }
1273
+ else {
1274
+ this._refineSelectionSet = {
1275
+ id: Date.now(),
1276
+ searchResult: undefined,
1277
+ buffer: undefined,
1278
+ distance: 0,
1279
+ download: true,
1280
+ unit: "feet",
1281
+ label: "Refine",
1282
+ selectedIds: [],
1283
+ layerView: undefined,
1284
+ geometries: [],
1285
+ graphics: [],
1286
+ selectLayers: [],
1287
+ workflowType: interfaces.EWorkflowType.REFINE,
1288
+ searchDistanceEnabled: false,
1289
+ useLayerFeaturesEnabled: false,
1290
+ refineInfos: refineInfo,
1291
+ redoStack: [],
1292
+ undoStack: [],
1293
+ sketchGraphic: undefined
1294
+ };
1295
+ this.selectionSets.push(this._refineSelectionSet);
1296
+ }
1297
+ }
1298
+ /**
1299
+ * Undo the most current ADD or REMOVE operation
1300
+ *
1301
+ * @returns Promise resolving when function is done
1302
+ *
1303
+ * @protected
1304
+ */
1305
+ _undo() {
1306
+ const undoOp = this._refineSelectionSet.undoStack.pop();
1307
+ void this._updateIds(undoOp.ids, undoOp.mode === interfaces.ESelectionMode.ADD ? interfaces.ESelectionMode.REMOVE : interfaces.ESelectionMode.ADD, this._refineSelectionSet.redoStack, undoOp.layerView);
1308
+ }
1309
+ /**
1310
+ * Redo the most current ADD or REMOVE operation
1311
+ *
1312
+ * @returns Promise resolving when function is done
1313
+ *
1314
+ * @protected
1315
+ */
1316
+ _redo() {
1317
+ const redoOp = this._refineSelectionSet.redoStack.pop();
1318
+ void this._updateIds(redoOp.ids, redoOp.mode === interfaces.ESelectionMode.ADD ? interfaces.ESelectionMode.REMOVE : interfaces.ESelectionMode.ADD, this._refineSelectionSet.undoStack, redoOp.layerView);
1319
+ }
1320
+ /**
1321
+ * Create a list to show the number added/removed/total unique selected
1322
+ *
1323
+ * @returns the list node
1324
+ * @protected
1325
+ */
1326
+ _getRefineSelectionSetList() {
1327
+ const total = this._getTotal(this.selectionSets);
1328
+ let refineSet;
1329
+ this.selectionSets.some(ss => {
1330
+ if (ss.workflowType === interfaces.EWorkflowType.REFINE) {
1331
+ refineSet = ss;
1332
+ return true;
1333
+ }
1334
+ });
1335
+ let numAdded = 0;
1336
+ let numRemoved = 0;
1337
+ Object.keys(refineSet.refineInfos).forEach(k => {
1338
+ numAdded += refineSet.refineInfos[k].addIds.length;
1339
+ numRemoved += refineSet.refineInfos[k].removeIds.length;
1340
+ });
1341
+ return [(index.h("calcite-list-item", { label: this._translations.featuresAdded.replace("{{n}}", numAdded.toString()), "non-interactive": true })), (index.h("calcite-list-item", { label: this._translations.featuresRemoved.replace("{{n}}", numRemoved.toString()), "non-interactive": true })), (index.h("calcite-list-item", { label: this._translations.totalSelected.replace("{{n}}", total.toString()), "non-interactive": true }))];
1342
+ }
1343
+ /**
1344
+ * Get the total number od ids across all selection sets
1345
+ *
1346
+ * @returns the total number of ids
1347
+ * @protected
1348
+ */
1349
+ _getTotal(selectionSets) {
1350
+ const idSets = mapViewUtils.getIdSets(selectionSets);
1351
+ return Object.keys(idSets).reduce((prev, cur) => {
1352
+ const idSet = idSets[cur];
1353
+ prev += idSet.ids.length;
1354
+ return prev;
1355
+ }, 0);
1356
+ }
1357
+ /**
1358
+ * Fetches the component's translations
1359
+ *
1360
+ * @protected
1361
+ */
1362
+ async _getTranslations() {
1363
+ const translations = await locale.getLocaleComponentStrings(this.el);
1364
+ this._translations = translations[0];
1365
+ }
1366
+ /**
1367
+ * Select features based on the input geometry
1368
+ *
1369
+ * @param geom the geometry used for selection
1370
+ *
1371
+ * @returns Promise resolving when function is done
1372
+ *
1373
+ * @protected
1374
+ */
1375
+ async _selectFeatures(geom) {
1376
+ var _a, _b;
1377
+ this.selectionLoadingChange.emit(true);
1378
+ this._featuresCollection[(_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id] = [];
1379
+ const response = await mapViewUtils.queryFeaturesByGeometry(0, (_b = this._refineLayer) === null || _b === void 0 ? void 0 : _b.layer, geom, this._featuresCollection);
1380
+ this.selectionLoadingChange.emit(false);
1381
+ let graphics = [];
1382
+ Object.keys(response).forEach(k => {
1383
+ var _a;
1384
+ if (k === ((_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id)) {
1385
+ graphics = graphics.concat(response[k]);
1386
+ }
1387
+ });
1388
+ const oids = Array.isArray(graphics) ? graphics.map(g => { var _a; return g.attributes[(_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.objectIdField]; }) : [];
1389
+ await this._updateIds(oids, this._selectionMode, this._refineSelectionSet.undoStack, this._refineLayer);
1390
+ this._drawTools.clear();
1391
+ }
1392
+ /**
1393
+ * Highlight any selected features in the map
1394
+ *
1395
+ * @returns Promise resolving when function is done
1396
+ * @protected
1397
+ */
1398
+ async _highlightFeatures() {
1399
+ this._clearHighlight();
1400
+ publicNotificationStore.state.highlightHandles = await mapViewUtils.highlightAllFeatures(this.selectionSets);
1401
+ }
1402
+ /**
1403
+ * Clear any highlighted features in the map
1404
+ *
1405
+ * @protected
1406
+ */
1407
+ _clearHighlight() {
1408
+ publicNotificationStore.state.removeHandles();
1409
+ }
1410
+ /**
1411
+ * Update the ids for any ADD or REMOVE operation and highlight the features.
1412
+ *
1413
+ * @param oids the ids to add or remove
1414
+ * @param mode ADD or REMOVE this will control if the ids are added or removed
1415
+ * @param operationStack the undo or redo stack to push the operation to
1416
+ * @param operationMode ADD or REMOVE the mode of the individual refine operation
1417
+ *
1418
+ * @returns Promise resolving when function is done
1419
+ *
1420
+ * @protected
1421
+ */
1422
+ async _updateIds(ids, mode, operationStack, layerView) {
1423
+ let selectionSetsChanged = false;
1424
+ const refineInfos = this._refineSelectionSet.refineInfos;
1425
+ const layerId = layerView.layer.id;
1426
+ const newRefineInfo = {};
1427
+ newRefineInfo[layerId] = {
1428
+ addIds: [],
1429
+ removeIds: [],
1430
+ layerView
1431
+ };
1432
+ const idUpdates = Object.keys(refineInfos).indexOf(layerId) > -1 ?
1433
+ refineInfos[layerId] : newRefineInfo[layerId];
1434
+ if (mode === interfaces.ESelectionMode.ADD) {
1435
+ idUpdates.addIds = [...new Set([...ids, ...idUpdates.addIds])];
1436
+ if (idUpdates.addIds.length > 0) {
1437
+ operationStack.push({
1438
+ ids,
1439
+ mode,
1440
+ layerView
1441
+ });
1442
+ }
1443
+ if (idUpdates.removeIds.length > 0) {
1444
+ idUpdates.removeIds = idUpdates.removeIds.filter(id => ids.indexOf(id) < 0);
1445
+ }
1446
+ }
1447
+ else {
1448
+ // ids are a result of the drawn geom...so it's possible they could contain ids that do
1449
+ // not exist in other selection sets
1450
+ const validIds = this.selectionSets.reduce((prev, cur) => {
1451
+ ids.forEach(id => {
1452
+ if (cur.workflowType !== interfaces.EWorkflowType.REFINE) {
1453
+ if (cur.selectedIds.indexOf(id) > -1) {
1454
+ prev.push(id);
1455
+ }
1456
+ }
1457
+ else {
1458
+ Object.keys(cur.refineInfos).some(k => {
1459
+ const refineInfo = cur.refineInfos[k];
1460
+ if (refineInfo.layerView.layer.id === layerView.layer.id && refineInfo.addIds.indexOf(id) > -1) {
1461
+ prev.push(id);
1462
+ return true;
1463
+ }
1464
+ });
1465
+ }
1466
+ });
1467
+ return prev;
1468
+ }, []);
1469
+ idUpdates.removeIds = [...new Set([...validIds, ...idUpdates.removeIds])];
1470
+ idUpdates.addIds = idUpdates.addIds.filter(id => validIds.indexOf(id) < 0);
1471
+ if (idUpdates.removeIds.length > 0) {
1472
+ operationStack.push({
1473
+ ids: validIds,
1474
+ mode,
1475
+ layerView
1476
+ });
1477
+ }
1478
+ this.selectionSets = this.selectionSets.reduce((prev, cur) => {
1479
+ if (cur.workflowType !== interfaces.EWorkflowType.REFINE &&
1480
+ cur.layerView.layer.id === layerView.layer.id) {
1481
+ cur.selectedIds = cur.selectedIds.filter(id => idUpdates.removeIds.indexOf(id) < 0);
1482
+ if (cur.selectedIds.length > 0) {
1483
+ prev.push(cur);
1484
+ }
1485
+ else {
1486
+ selectionSetsChanged = true;
1487
+ }
1488
+ }
1489
+ else {
1490
+ prev.push(cur);
1491
+ }
1492
+ return prev;
1493
+ }, []);
1494
+ }
1495
+ this._refineSelectionSet.refineInfos[layerId] = idUpdates;
1496
+ this.selectionSets = [...this.selectionSets];
1497
+ if (selectionSetsChanged) {
1498
+ this.selectionSetsChanged.emit(this.selectionSets);
1499
+ }
1500
+ await this._highlightFeatures();
1501
+ }
1502
+ get el() { return index.getElement(this); }
1503
+ };
1504
1504
  RefineSelection.style = refineSelectionCss;
1505
1505
 
1506
1506
  exports.map_select_tools = MapSelectTools;