@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
@@ -3,773 +3,773 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-d298aca9.js';
7
- import { l as loadModules } from './loadModules-cd3569de.js';
8
- import { g as goToSelection, h as highlightFeatures, d as queryObjectIds, e as getQueryGeoms, f as getFeatureLayerView, i as queryFeaturesByGeometry, j as getIdSets, k as highlightAllFeatures } from './mapViewUtils-1e68cede.js';
9
- import { c as EWorkflowType, e as ESelectionMode, f as EDrawMode } from './interfaces-bf20e69c.js';
10
- import { s as state } from './publicNotificationStore-6ef555f3.js';
11
- import { a as getComponentClosestLanguage, g as getLocaleComponentStrings } from './locale-54cac39a.js';
12
- import { d as downloadCSV, a as downloadPDF } from './downloadUtils-43b53f5a.js';
13
- import './index-4c4a4f3d.js';
6
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b5d9d795.js';
7
+ import { l as loadModules } from './loadModules-2ecd1e44.js';
8
+ import { g as goToSelection, h as highlightFeatures, d as queryObjectIds, e as getQueryGeoms, f as getFeatureLayerView, i as queryFeaturesByGeometry, j as getIdSets, k as highlightAllFeatures } from './mapViewUtils-f0c04325.js';
9
+ import { c as EWorkflowType, e as ESelectionMode, f as EDrawMode } from './interfaces-5a2fe8b4.js';
10
+ import { s as state } from './publicNotificationStore-ade82148.js';
11
+ import { a as getComponentClosestLanguage, g as getLocaleComponentStrings } from './locale-aa3de591.js';
12
+ import { d as downloadCSV, a as downloadPDF } from './downloadUtils-63661805.js';
13
+ import './index-b91c174c.js';
14
14
  import './_commonjsHelpers-d5f9d613.js';
15
15
 
16
16
  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)}";
17
17
 
18
- const MapSelectTools = class {
19
- constructor(hostRef) {
20
- registerInstance(this, hostRef);
21
- this.selectionSetChange = createEvent(this, "selectionSetChange", 7);
22
- /**
23
- * number[]: the oids of the selected features
24
- */
25
- this._selectedIds = [];
26
- /**
27
- * string: A label to help uniquely identify the selection set
28
- */
29
- this._selectionLabel = "";
30
- /**
31
- * esri/Graphic[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
32
- */
33
- this._graphics = [];
34
- /**
35
- * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
36
- */
37
- this._featuresCollection = {};
38
- this.bufferColor = [227, 139, 79, 0.8];
39
- this.bufferOutlineColor = [255, 255, 255];
40
- this.customLabelEnabled = undefined;
41
- this.enabledLayerIds = [];
42
- this.defaultBufferDistance = undefined;
43
- this.defaultBufferUnit = undefined;
44
- this.geometries = [];
45
- this.isUpdate = false;
46
- this.layerViews = [];
47
- this.mapView = undefined;
48
- this.noResultText = undefined;
49
- this.searchConfiguration = undefined;
50
- this.selectionSet = undefined;
51
- this.selectionLayerIds = [];
52
- this.selectLayerView = undefined;
53
- this.sketchLineSymbol = undefined;
54
- this.sketchPointSymbol = undefined;
55
- this.sketchPolygonSymbol = undefined;
56
- this._numSelected = 0;
57
- this._searchDistanceEnabled = false;
58
- this._searchTerm = undefined;
59
- this._selectionLoading = false;
60
- this._translations = undefined;
61
- this._useLayerFeaturesEnabled = false;
62
- }
63
- //--------------------------------------------------------------------------
64
- //
65
- // Watch handlers
66
- //
67
- //--------------------------------------------------------------------------
68
- /**
69
- * Called each time the geometries prop is changed.
70
- *
71
- * @returns Promise when complete
72
- */
73
- async watchGeometriesHandler(newValue, oldValue) {
74
- if (newValue !== oldValue) {
75
- const isEmpty = newValue.length === 0;
76
- await this._clearResults(isEmpty, isEmpty);
77
- if (newValue.length > 0) {
78
- return this._highlightWithOIDsOrGeoms();
79
- }
80
- }
81
- }
82
- /**
83
- * Called each time the searchConfiguration prop is changed.
84
- *
85
- * @returns Promise when complete
86
- */
87
- async watchSearchConfigurationHandler(newValue, oldValue) {
88
- if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
89
- this._initSearchWidget();
90
- }
91
- }
92
- //--------------------------------------------------------------------------
93
- //
94
- // Methods (public)
95
- //
96
- //--------------------------------------------------------------------------
97
- /**
98
- * Clear any selection results
99
- *
100
- * @returns Promise when the results have been cleared
101
- */
102
- async clearSelection() {
103
- return this._clearResults(true, true);
104
- }
105
- /**
106
- * Get the new selection set
107
- *
108
- * @returns Promise with the new selection set
109
- */
110
- async getSelection() {
111
- // Allow any non whitespace
112
- if (!/\S+/gm.test(this._selectionLabel)) {
113
- this._updateLabel();
114
- }
115
- return {
116
- id: this.isUpdate ? this.selectionSet.id : Date.now(),
117
- searchResult: this._searchResult,
118
- buffer: this._bufferGeometry,
119
- distance: this._bufferTools.distance,
120
- download: true,
121
- unit: this._bufferTools.unit,
122
- label: this._selectionLabel,
123
- selectedIds: this._selectedIds,
124
- layerView: this.selectLayerView,
125
- geometries: this.geometries,
126
- graphics: this._graphics,
127
- selectLayers: this.layerViews,
128
- skipGeomOIDs: this._skipGeomOIDs,
129
- searchDistanceEnabled: this._searchDistanceEnabled,
130
- workflowType: this._workflowType,
131
- useLayerFeaturesEnabled: this._useLayerFeaturesEnabled,
132
- sketchGraphic: this._sketchGraphic
133
- };
134
- }
135
- /**
136
- * Handle changes to the search configuration
137
- */
138
- searchConfigurationChangeChanged(event) {
139
- this.searchConfiguration = event.detail;
140
- }
141
- /**
142
- * Handle changes to the buffer distance value
143
- */
144
- distanceChanged(event) {
145
- this._distanceChanged(event.detail);
146
- }
147
- /**
148
- * Handle changes to the buffer unit
149
- */
150
- unitChanged(event) {
151
- if (event.detail.newValue !== event.detail.oldValue) {
152
- this._unit = event.detail.newValue;
153
- this._updateLabel();
154
- }
155
- }
156
- //--------------------------------------------------------------------------
157
- //
158
- // Functions (lifecycle)
159
- //
160
- //--------------------------------------------------------------------------
161
- /**
162
- * StencilJS: Called once just after the component is first connected to the DOM.
163
- */
164
- async componentWillLoad() {
165
- await this._getTranslations();
166
- await this._initModules();
167
- }
168
- /**
169
- * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
170
- */
171
- async componentDidLoad() {
172
- return this._init();
173
- }
174
- /**
175
- * Renders the component.
176
- */
177
- render() {
178
- return (h(Host, null, this._getMapLayerPicker(), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), h("div", { class: "padding-top-1" }, 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()), h("div", { class: "border-bottom" }), this._getNameInput()));
179
- }
180
- /**
181
- * Renders the buffer tools component.
182
- */
183
- _getBufferOptions() {
184
- var _a, _b;
185
- const showBufferToolsClass = this._searchDistanceEnabled ? "search-distance" : "div-not-visible";
186
- const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
187
- return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.searchDistance, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), h("div", { class: showBufferToolsClass }, 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 }))));
188
- }
189
- /**
190
- * Renders the map layer picker component.
191
- */
192
- _getUseLayerFeaturesOptions() {
193
- const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
194
- return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), h("div", { class: useLayerFeaturesClass + " padding-top-1" }, h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
195
- }
196
- /**
197
- * Renders the number of selected features
198
- */
199
- _getNumSelected() {
200
- const locale = getComponentClosestLanguage(this.el);
201
- const selectionLoading = locale && locale === "en" ?
202
- `${this._translations.selectionLoading}...` : this._translations.selectionLoading;
203
- return (h("div", { class: "padding-top-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (h("div", null, h("calcite-loader", { class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), h("calcite-input-message", { class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
204
- this.noResultText && this._numSelected === 0 ? this.noResultText :
205
- this._translations.selectedFeatures.replace("{{n}}", this._numSelected.toString()))));
206
- }
207
- /**
208
- * Renders the custom label input
209
- */
210
- _getNameInput() {
211
- const nameLabelClass = this.customLabelEnabled ? "" : "display-none";
212
- return (h("div", { class: "padding-sides-1 padding-top-1 " + nameLabelClass }, h("calcite-label", { class: "font-bold" }, this._translations.listName, h("calcite-input", { onInput: () => {
213
- this._selectionLabel = this._labelName.value;
214
- }, placeholder: this._translations.listNamePlaceholder, ref: (el) => { this._labelName = el; }, value: this._selectionLabel || "" }))));
215
- }
216
- /**
217
- * Create the UI element that will expose the addressee layers
218
- *
219
- * @returns addressee layer list node
220
- * @protected
221
- */
222
- _getMapLayerPicker() {
223
- return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, 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] : [] }))));
224
- }
225
- //--------------------------------------------------------------------------
226
- //
227
- // Functions (protected)
228
- //
229
- //--------------------------------------------------------------------------
230
- /**
231
- * Load esri javascript api modules
232
- *
233
- * @returns Promise resolving when function is done
234
- *
235
- * @protected
236
- */
237
- async _initModules() {
238
- const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules([
239
- "esri/layers/GraphicsLayer",
240
- "esri/Graphic",
241
- "esri/widgets/Search",
242
- "esri/geometry/geometryEngine",
243
- "esri/layers/FeatureLayer"
244
- ]);
245
- this.GraphicsLayer = GraphicsLayer;
246
- this.Graphic = Graphic;
247
- this.Search = Search;
248
- this._geometryEngine = geometryEngine;
249
- this.FeatureLayer = FeatureLayer;
250
- }
251
- /**
252
- * Initialize the graphics layer, selection set, and search widget
253
- *
254
- * @returns Promise when the operation has completed
255
- */
256
- async _init() {
257
- this._initGraphicsLayer();
258
- await this._initSelectionSet();
259
- this._initSearchWidget();
260
- }
261
- /**
262
- * Initialize the state of the component with any stored values in a selection set
263
- *
264
- * @protected
265
- */
266
- async _initSelectionSet() {
267
- var _a, _b, _c, _d;
268
- if (this.selectionSet) {
269
- this._searchTerm = (_a = this.selectionSet.searchResult) === null || _a === void 0 ? void 0 : _a.name;
270
- this._searchResult = this.selectionSet.searchResult;
271
- this._selectLayers = this.selectionSet.selectLayers;
272
- this._selectedIds = this.selectionSet.selectedIds;
273
- this._skipGeomOIDs = this.selectionSet.skipGeomOIDs;
274
- this._searchDistanceEnabled = this.selectionSet.searchDistanceEnabled;
275
- this._useLayerFeaturesEnabled = this.selectionSet.useLayerFeaturesEnabled;
276
- this._distance = this.selectionSet.searchDistanceEnabled ? this.selectionSet.distance : 0;
277
- this._unit = this.selectionSet.unit;
278
- this._workflowType = this.selectionSet.workflowType;
279
- this.selectLayerView = this.selectionSet.layerView;
280
- this._sketchGraphic = this.selectionSet.sketchGraphic;
281
- this.geometries = [
282
- ...((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.geometries) || []
283
- ];
284
- // restore graphics from geometries to avoid issues with temp modifications to graphics that were aborted
285
- this._graphics = this.geometries.map(geometry => {
286
- const symbol = geometry.type === "point" ? this.sketchPointSymbol :
287
- geometry.type === "polyline" ? this.sketchLineSymbol : this.sketchPolygonSymbol;
288
- return new this.Graphic({
289
- geometry,
290
- symbol
291
- });
292
- });
293
- this._selectionLabel = (_c = this.selectionSet) === null || _c === void 0 ? void 0 : _c.label;
294
- if (!this._useLayerFeaturesEnabled) {
295
- (_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics();
296
- }
297
- await goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
298
- }
299
- }
300
- /**
301
- * Initialize the search widget
302
- *
303
- * @protected
304
- */
305
- _initSearchWidget() {
306
- if (this.mapView && this._searchElement) {
307
- const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
308
- const searchOptions = Object.assign({ view: this.mapView, container: this._searchElement, searchTerm: this._searchTerm }, searchConfiguration);
309
- this._searchWidget = new this.Search(searchOptions);
310
- this._searchWidget.popupEnabled = false;
311
- this._searchWidget.resultGraphicEnabled = false;
312
- this._searchWidget.on("search-clear", () => {
313
- const clearLabel = this._searchClearLabel();
314
- void this._clearResults(false, clearLabel);
315
- });
316
- this._searchWidget.on("select-result", (searchResults) => {
317
- var _a, _b;
318
- if (searchResults.result) {
319
- this._searchResult = searchResults.result;
320
- 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;
321
- const oids = useOIDs ? [searchResults.result.feature.getObjectId()] : undefined;
322
- this._workflowType = EWorkflowType.SEARCH;
323
- this._updateLabel();
324
- const graphics = [searchResults.result.feature];
325
- this._updateSelection(graphics, useOIDs, oids);
326
- this._drawTools.graphics = graphics;
327
- this._searchWidget.resultGraphic.visible = false;
328
- }
329
- else {
330
- const clearLabel = this._searchClearLabel();
331
- void this._clearResults(false, clearLabel);
332
- }
333
- });
334
- }
335
- }
336
- /**
337
- * Check if the current label should be cleared
338
- *
339
- * @returns true when the current label is based on search result
340
- * @protected
341
- */
342
- _searchClearLabel() {
343
- var _a;
344
- return ((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) && this._labelName.value.indexOf(this._searchResult.name) > -1;
345
- }
346
- /**
347
- * Initialize the search widget based on user defined configuration
348
- *
349
- * @param searchConfiguration search configuration defined by the user
350
- * @param view the current map view
351
- *
352
- * @protected
353
- */
354
- _getSearchConfig(searchConfiguration, view) {
355
- const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
356
- const sources = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources;
357
- if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
358
- searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
359
- sources.forEach((source) => {
360
- var _a, _b;
361
- const isLayerSource = source.hasOwnProperty("layer");
362
- if (isLayerSource) {
363
- const layerSource = source;
364
- const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
365
- const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
366
- const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
367
- if (layerFromMap) {
368
- layerSource.layer = layerFromMap;
369
- }
370
- else if (layerUrl) {
371
- layerSource.layer = new this.FeatureLayer(layerUrl);
372
- }
373
- }
374
- });
375
- sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
376
- const isLocatorSource = source.hasOwnProperty("locator");
377
- if (isLocatorSource) {
378
- const locatorSource = source;
379
- if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
380
- const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
381
- locatorSource.outFields = outFields;
382
- locatorSource.singleLineFieldName = "SingleLine";
383
- }
384
- locatorSource.url = locatorSource.url;
385
- delete locatorSource.url;
386
- }
387
- });
388
- }
389
- else {
390
- searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
391
- }
392
- return searchConfiguration;
393
- }
394
- /**
395
- * Initialize the graphics layer used to store any buffer grapghics
396
- *
397
- * @protected
398
- */
399
- _initGraphicsLayer() {
400
- const title = this._translations.bufferLayer;
401
- const bufferIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
402
- if (bufferIndex > -1) {
403
- this._bufferGraphicsLayer = this.mapView.map.layers.getItemAt(bufferIndex);
404
- }
405
- else {
406
- this._bufferGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
407
- state.managedLayers.push(title);
408
- const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === this._translations.sketchLayer);
409
- if (sketchIndex > -1) {
410
- this.mapView.map.layers.add(this._bufferGraphicsLayer, sketchIndex);
411
- }
412
- else {
413
- this.mapView.map.layers.add(this._bufferGraphicsLayer);
414
- }
415
- }
416
- }
417
- /**
418
- * Handle changes in the sketch graphics
419
- *
420
- * @param event stores the graphics that will be used to select features
421
- * @param forceUpdate when true the drawn graphic will be used to select features from
422
- * use layer features layer...then the selected layer features will be used to select from the main input layer
423
- *
424
- */
425
- async _sketchGraphicsChanged(event, forceUpdate = false) {
426
- const graphics = event.detail.graphics;
427
- if (graphics.length > 0 && graphics[0]) {
428
- if (!forceUpdate) {
429
- this._sketchGraphic = graphics[0];
430
- }
431
- this._workflowType = this._useLayerFeaturesEnabled ? EWorkflowType.SELECT : EWorkflowType.SKETCH;
432
- if (this._workflowType === EWorkflowType.SKETCH) {
433
- this._drawTools.updateGraphics();
434
- }
435
- this._updateLabel();
436
- this._clearSearchWidget();
437
- if (this._useLayerFeaturesEnabled && !forceUpdate) {
438
- // Will only ever be a single graphic
439
- const geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
440
- await this._selectLayerFeatures(geometries[0]);
441
- }
442
- else {
443
- const oids = graphics.reduce((prev, cur) => {
444
- var _a;
445
- if ((_a = cur === null || cur === void 0 ? void 0 : cur.layer) === null || _a === void 0 ? void 0 : _a.objectIdField) {
446
- prev.push(cur.attributes[cur.layer.objectIdField]);
447
- }
448
- else if (cur.getObjectId) {
449
- prev.push(cur.getObjectId());
450
- }
451
- return prev;
452
- }, []);
453
- const useOIDs = event.detail.useOIDs && oids.length > 0;
454
- this._updateSelection(graphics, useOIDs, oids);
455
- if (useOIDs) {
456
- await this._highlightFeatures(oids);
457
- }
458
- }
459
- }
460
- else {
461
- await this._clearResults(true, true);
462
- }
463
- }
464
- /**
465
- * Highlight the features in the map based on OIDs when skipOIDs have been defined
466
- *
467
- * @protected
468
- */
469
- async _highlightWithOIDsOrGeoms() {
470
- var _a;
471
- if (((_a = this._skipGeomOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
472
- this._selectedIds = this._skipGeomOIDs;
473
- return this._highlightFeatures(this._selectedIds);
474
- }
475
- else {
476
- return this._geomQuery(this.geometries);
477
- }
478
- }
479
- /**
480
- * Highlight the features in the map
481
- *
482
- * @param ids the ids that should be highlighted
483
- *
484
- * @protected
485
- */
486
- async _highlightFeatures(ids) {
487
- state.removeHandles();
488
- if (ids.length > 0) {
489
- state.highlightHandles.push(await highlightFeatures(ids, this.selectLayerView, this.mapView));
490
- }
491
- this._numSelected = ids.length;
492
- this.selectionSetChange.emit(ids.length);
493
- }
494
- /**
495
- * Query the selectLayerView based on any user drawn geometries or buffers
496
- *
497
- * @param geometries Array of geometries used for the selection of ids from the select layer view
498
- *
499
- * @returns Promise when the selection is complete and the graphics have been highlighted
500
- */
501
- async _selectFeatures(geometries) {
502
- this._selectionLoading = true;
503
- this._selectedIds = await queryObjectIds(geometries, this.selectLayerView.layer);
504
- this._selectionLoading = false;
505
- // stored as graphics now in addition to the geoms
506
- this._drawTools.graphics = this._graphics;
507
- await this._highlightFeatures(this._selectedIds);
508
- }
509
- /**
510
- * Query the selectLayerView based on any user drawn geometries or buffers
511
- *
512
- * @param evt CustomEvent that contains the result of the buffer
513
- *
514
- * @protected
515
- */
516
- async _bufferComplete(evt) {
517
- this._bufferGeometry = Array.isArray(evt.detail) ?
518
- evt.detail[0] : evt.detail;
519
- let oldValue = this._bufferTools.distance;
520
- let newValue = 0;
521
- if (this._bufferGeometry) {
522
- // Create a symbol for rendering the graphic
523
- const symbol = {
524
- type: "simple-fill",
525
- color: this.bufferColor,
526
- outline: {
527
- color: this.bufferOutlineColor,
528
- width: 1
529
- }
530
- };
531
- // Add the geometry and symbol to a new graphic
532
- const polygonGraphic = new this.Graphic({
533
- geometry: this._bufferGeometry,
534
- symbol
535
- });
536
- this._bufferGraphicsLayer.removeAll();
537
- this._bufferGraphicsLayer.add(polygonGraphic);
538
- await this._selectFeatures([this._bufferGeometry]);
539
- await this.mapView.goTo(polygonGraphic.geometry.extent);
540
- // We need to swap the values again if they were previously
541
- // set based on disable of buffer tools when the tools have a value
542
- newValue = oldValue;
543
- oldValue = 0;
544
- }
545
- else {
546
- if (this._bufferGraphicsLayer) {
547
- this._bufferGraphicsLayer.removeAll();
548
- }
549
- await this._highlightWithOIDsOrGeoms();
550
- }
551
- // mock this b/c the tools can store a value that is different than what is shown in the map
552
- // this occurs when a distance is set but then buffer is disabled
553
- this._distanceChanged({
554
- oldValue,
555
- newValue
556
- });
557
- }
558
- /**
559
- * Fetch a single geometry for each potential geometry type
560
- *
561
- * @param geometries All current selection geometries
562
- *
563
- * @protected
564
- */
565
- _geomQuery(geometries) {
566
- const queryGeoms = getQueryGeoms(geometries, this._geometryEngine);
567
- return this._selectFeatures(queryGeoms);
568
- }
569
- /**
570
- * Clear all stored values and general state for the component
571
- *
572
- * @param clearSearchWidget Optional boolean for clearing the search widget (default is true)
573
- * @param clearLabel Optional boolean for clearing the search label (default is true)
574
- *
575
- * @protected
576
- */
577
- async _clearResults(clearSearchWidget = true, clearLabel = false) {
578
- var _a;
579
- this._selectedIds = [];
580
- this._distance = undefined;
581
- this._unit = undefined;
582
- if (clearLabel) {
583
- this._selectionLabel = "";
584
- this._labelName.value = "";
585
- }
586
- if (this._bufferGraphicsLayer) {
587
- this._bufferGraphicsLayer.removeAll();
588
- }
589
- if (clearSearchWidget && this._searchWidget) {
590
- this._clearSearchWidget();
591
- }
592
- state.removeHandles();
593
- // checking for clear as it would throw off tests
594
- if ((_a = this._drawTools) === null || _a === void 0 ? void 0 : _a.clear) {
595
- this._graphics = [];
596
- await this._drawTools.clear();
597
- }
598
- this.selectionSetChange.emit(this._selectedIds.length);
599
- }
600
- /**
601
- * Clear all the search widget and any stored search result
602
- *
603
- * @protected
604
- */
605
- _clearSearchWidget() {
606
- this._searchWidget.clear();
607
- this._searchResult = undefined;
608
- }
609
- /**
610
- * Fetch a single geometry for the current geometry type
611
- *
612
- * @param type worflow type
613
- * @param graphics graphics to be used for selection
614
- * @param label selection label
615
- * @param useOIDs indicates if the OIDs should override the geometry for selection
616
- * @param oids list of IDs to select when useOIDs is true
617
- *
618
- * @protected
619
- */
620
- _updateSelection(graphics, useOIDs, oids) {
621
- this._selectedIds = useOIDs && oids ? oids : this._selectedIds;
622
- // see https://github.com/Esri/solutions-components/issues/148
623
- this._skipGeomOIDs = useOIDs ? oids : undefined;
624
- this.geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
625
- this._graphics = graphics;
626
- }
627
- /**
628
- * Updates the label for the selection set
629
- *
630
- * @protected
631
- */
632
- _updateLabel() {
633
- var _a, _b;
634
- const hasSketch = this._selectionLabel.indexOf(this._translations.sketch) > -1;
635
- const hasSelect = this._selectionLabel.indexOf(this._translations.select) > -1;
636
- const hasSearch = this._selectionLabel.indexOf((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) > -1;
637
- const label = this._workflowType === EWorkflowType.SEARCH ? (_b = this._searchResult) === null || _b === void 0 ? void 0 : _b.name :
638
- this._workflowType === EWorkflowType.SELECT ?
639
- this._translations.select : this._translations.sketch;
640
- const unit = !this._unit ? this._bufferTools.unit : this._unit;
641
- const distance = isNaN(this._distance) ? this._bufferTools.distance : this._distance;
642
- this._selectionLabel = hasSketch || hasSelect || hasSearch || !this._selectionLabel ?
643
- `${label} ${distance} ${unit}` : this._selectionLabel;
644
- this._labelName.value = this._selectionLabel;
645
- }
646
- /**
647
- * Gets the layer views from the map when the layer selection changes
648
- *
649
- * @returns Promise resolving when function is done
650
- *
651
- * @protected
652
- */
653
- async _layerSelectionChange(evt) {
654
- if (Array.isArray(evt.detail) && evt.detail.length > 0) {
655
- const layerPromises = evt.detail.map(id => {
656
- return getFeatureLayerView(this.mapView, id);
657
- });
658
- return Promise.all(layerPromises).then((layerViews) => {
659
- this.layerViews = layerViews;
660
- this._featuresCollection = {};
661
- if (this._sketchGraphic) {
662
- void this._sketchGraphicsChanged({
663
- detail: {
664
- graphics: [this._sketchGraphic],
665
- useOIDs: false
666
- }
667
- });
668
- }
669
- });
670
- }
671
- }
672
- /**
673
- * Fetch the layer from the map
674
- *
675
- * @param evt layer selection change event
676
- *
677
- * @returns Promise when the function has completed
678
- * @protected
679
- */
680
- async _inputLayerSelectionChange(evt) {
681
- var _a;
682
- const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
683
- if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
684
- this.selectLayerView = await getFeatureLayerView(this.mapView, id);
685
- this._updateLabel();
686
- this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
687
- await this._highlightWithOIDsOrGeoms();
688
- }
689
- }
690
- /**
691
- * Handle changes to the buffer distance value
692
- */
693
- _distanceChanged(detail) {
694
- if (detail.newValue !== detail.oldValue) {
695
- this._distance = detail.newValue;
696
- this._updateLabel();
697
- }
698
- }
699
- /**
700
- * Select features based on the input geometry
701
- *
702
- * @param geom the geometry used for selection
703
- *
704
- * @returns Promise resolving when function is done
705
- *
706
- * @protected
707
- */
708
- async _selectLayerFeatures(geom) {
709
- this._selectionLoading = true;
710
- const queryFeaturePromises = this.layerViews.map(layerView => {
711
- this._featuresCollection[layerView.layer.id] = [];
712
- return queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
713
- });
714
- return Promise.all(queryFeaturePromises).then(async (response) => {
715
- this._selectionLoading = false;
716
- let graphics = [];
717
- response.forEach(r => {
718
- Object.keys(r).forEach(k => {
719
- graphics = graphics.concat(r[k]);
720
- });
721
- });
722
- let hasOID = false;
723
- graphics.forEach((g) => {
724
- var _a;
725
- const geom = g.geometry;
726
- g.symbol = geom.type === "point" ?
727
- this.sketchPointSymbol : geom.type === "polyline" ?
728
- this.sketchLineSymbol : geom.type === "polygon" ?
729
- this.sketchPolygonSymbol : undefined;
730
- hasOID = ((_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.hasOwnProperty("objectIdField")) || g.hasOwnProperty("getObjectId");
731
- });
732
- // OIDs are used when the addressee layer and the current "use layer features" layer are the same
733
- const useOIDs = (this.layerViews[0].layer.title === this.selectLayerView.layer.title) && hasOID;
734
- await this._sketchGraphicsChanged({
735
- detail: {
736
- graphics,
737
- useOIDs
738
- }
739
- }, true);
740
- });
741
- }
742
- /**
743
- * Store use layer features value and re-select features based on the original sketch graphic
744
- *
745
- * @protected
746
- */
747
- _useLayerFeaturesEnabledChanged() {
748
- this._useLayerFeaturesEnabled = !this._useLayerFeaturesEnabled;
749
- if (this._sketchGraphic) {
750
- void this._sketchGraphicsChanged({
751
- detail: {
752
- graphics: [this._sketchGraphic],
753
- useOIDs: false
754
- }
755
- });
756
- }
757
- }
758
- /**
759
- * Fetches the component's translations
760
- *
761
- * @protected
762
- */
763
- async _getTranslations() {
764
- const translations = await getLocaleComponentStrings(this.el);
765
- this._translations = translations[0];
766
- }
767
- get el() { return getElement(this); }
768
- static get watchers() { return {
769
- "geometries": ["watchGeometriesHandler"],
770
- "searchConfiguration": ["watchSearchConfigurationHandler"]
771
- }; }
772
- };
18
+ const MapSelectTools = class {
19
+ constructor(hostRef) {
20
+ registerInstance(this, hostRef);
21
+ this.selectionSetChange = createEvent(this, "selectionSetChange", 7);
22
+ /**
23
+ * number[]: the oids of the selected features
24
+ */
25
+ this._selectedIds = [];
26
+ /**
27
+ * string: A label to help uniquely identify the selection set
28
+ */
29
+ this._selectionLabel = "";
30
+ /**
31
+ * esri/Graphic[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
32
+ */
33
+ this._graphics = [];
34
+ /**
35
+ * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
36
+ */
37
+ this._featuresCollection = {};
38
+ this.bufferColor = [227, 139, 79, 0.8];
39
+ this.bufferOutlineColor = [255, 255, 255];
40
+ this.customLabelEnabled = undefined;
41
+ this.enabledLayerIds = [];
42
+ this.defaultBufferDistance = undefined;
43
+ this.defaultBufferUnit = undefined;
44
+ this.geometries = [];
45
+ this.isUpdate = false;
46
+ this.layerViews = [];
47
+ this.mapView = undefined;
48
+ this.noResultText = undefined;
49
+ this.searchConfiguration = undefined;
50
+ this.selectionSet = undefined;
51
+ this.selectionLayerIds = [];
52
+ this.selectLayerView = undefined;
53
+ this.sketchLineSymbol = undefined;
54
+ this.sketchPointSymbol = undefined;
55
+ this.sketchPolygonSymbol = undefined;
56
+ this._numSelected = 0;
57
+ this._searchDistanceEnabled = false;
58
+ this._searchTerm = undefined;
59
+ this._selectionLoading = false;
60
+ this._translations = undefined;
61
+ this._useLayerFeaturesEnabled = false;
62
+ }
63
+ //--------------------------------------------------------------------------
64
+ //
65
+ // Watch handlers
66
+ //
67
+ //--------------------------------------------------------------------------
68
+ /**
69
+ * Called each time the geometries prop is changed.
70
+ *
71
+ * @returns Promise when complete
72
+ */
73
+ async watchGeometriesHandler(newValue, oldValue) {
74
+ if (newValue !== oldValue) {
75
+ const isEmpty = newValue.length === 0;
76
+ await this._clearResults(isEmpty, isEmpty);
77
+ if (newValue.length > 0) {
78
+ return this._highlightWithOIDsOrGeoms();
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * Called each time the searchConfiguration prop is changed.
84
+ *
85
+ * @returns Promise when complete
86
+ */
87
+ async watchSearchConfigurationHandler(newValue, oldValue) {
88
+ if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
89
+ this._initSearchWidget();
90
+ }
91
+ }
92
+ //--------------------------------------------------------------------------
93
+ //
94
+ // Methods (public)
95
+ //
96
+ //--------------------------------------------------------------------------
97
+ /**
98
+ * Clear any selection results
99
+ *
100
+ * @returns Promise when the results have been cleared
101
+ */
102
+ async clearSelection() {
103
+ return this._clearResults(true, true);
104
+ }
105
+ /**
106
+ * Get the new selection set
107
+ *
108
+ * @returns Promise with the new selection set
109
+ */
110
+ async getSelection() {
111
+ // Allow any non whitespace
112
+ if (!/\S+/gm.test(this._selectionLabel)) {
113
+ this._updateLabel();
114
+ }
115
+ return {
116
+ id: this.isUpdate ? this.selectionSet.id : Date.now(),
117
+ searchResult: this._searchResult,
118
+ buffer: this._bufferGeometry,
119
+ distance: this._bufferTools.distance,
120
+ download: true,
121
+ unit: this._bufferTools.unit,
122
+ label: this._selectionLabel,
123
+ selectedIds: this._selectedIds,
124
+ layerView: this.selectLayerView,
125
+ geometries: this.geometries,
126
+ graphics: this._graphics,
127
+ selectLayers: this.layerViews,
128
+ skipGeomOIDs: this._skipGeomOIDs,
129
+ searchDistanceEnabled: this._searchDistanceEnabled,
130
+ workflowType: this._workflowType,
131
+ useLayerFeaturesEnabled: this._useLayerFeaturesEnabled,
132
+ sketchGraphic: this._sketchGraphic
133
+ };
134
+ }
135
+ /**
136
+ * Handle changes to the search configuration
137
+ */
138
+ searchConfigurationChangeChanged(event) {
139
+ this.searchConfiguration = event.detail;
140
+ }
141
+ /**
142
+ * Handle changes to the buffer distance value
143
+ */
144
+ distanceChanged(event) {
145
+ this._distanceChanged(event.detail);
146
+ }
147
+ /**
148
+ * Handle changes to the buffer unit
149
+ */
150
+ unitChanged(event) {
151
+ if (event.detail.newValue !== event.detail.oldValue) {
152
+ this._unit = event.detail.newValue;
153
+ this._updateLabel();
154
+ }
155
+ }
156
+ //--------------------------------------------------------------------------
157
+ //
158
+ // Functions (lifecycle)
159
+ //
160
+ //--------------------------------------------------------------------------
161
+ /**
162
+ * StencilJS: Called once just after the component is first connected to the DOM.
163
+ */
164
+ async componentWillLoad() {
165
+ await this._getTranslations();
166
+ await this._initModules();
167
+ }
168
+ /**
169
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
170
+ */
171
+ async componentDidLoad() {
172
+ return this._init();
173
+ }
174
+ /**
175
+ * Renders the component.
176
+ */
177
+ render() {
178
+ return (h(Host, null, this._getMapLayerPicker(), h("div", { class: "border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } }), h("div", { class: "padding-top-1" }, 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()), h("div", { class: "border-bottom" }), this._getNameInput()));
179
+ }
180
+ /**
181
+ * Renders the buffer tools component.
182
+ */
183
+ _getBufferOptions() {
184
+ var _a, _b;
185
+ const showBufferToolsClass = this._searchDistanceEnabled ? "search-distance" : "div-not-visible";
186
+ const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
187
+ return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.searchDistance, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "search-distance-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "search-distance-icon" }, h("span", { class: "tooltip-message" }, this._translations.useSearchDistanceTootip)), h("calcite-switch", { checked: this._searchDistanceEnabled, onCalciteSwitchChange: () => this._searchDistanceEnabled = !this._searchDistanceEnabled })), h("div", { class: showBufferToolsClass }, 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 }))));
188
+ }
189
+ /**
190
+ * Renders the map layer picker component.
191
+ */
192
+ _getUseLayerFeaturesOptions() {
193
+ const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
194
+ return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), h("div", { class: useLayerFeaturesClass + " padding-top-1" }, h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
195
+ }
196
+ /**
197
+ * Renders the number of selected features
198
+ */
199
+ _getNumSelected() {
200
+ const locale = getComponentClosestLanguage(this.el);
201
+ const selectionLoading = locale && locale === "en" ?
202
+ `${this._translations.selectionLoading}...` : this._translations.selectionLoading;
203
+ return (h("div", { class: "padding-top-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (h("div", null, h("calcite-loader", { class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), h("calcite-input-message", { class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
204
+ this.noResultText && this._numSelected === 0 ? this.noResultText :
205
+ this._translations.selectedFeatures.replace("{{n}}", this._numSelected.toString()))));
206
+ }
207
+ /**
208
+ * Renders the custom label input
209
+ */
210
+ _getNameInput() {
211
+ const nameLabelClass = this.customLabelEnabled ? "" : "display-none";
212
+ return (h("div", { class: "padding-sides-1 padding-top-1 " + nameLabelClass }, h("calcite-label", { class: "font-bold" }, this._translations.listName, h("calcite-input", { onInput: () => {
213
+ this._selectionLabel = this._labelName.value;
214
+ }, placeholder: this._translations.listNamePlaceholder, ref: (el) => { this._labelName = el; }, value: this._selectionLabel || "" }))));
215
+ }
216
+ /**
217
+ * Create the UI element that will expose the addressee layers
218
+ *
219
+ * @returns addressee layer list node
220
+ * @protected
221
+ */
222
+ _getMapLayerPicker() {
223
+ return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, 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] : [] }))));
224
+ }
225
+ //--------------------------------------------------------------------------
226
+ //
227
+ // Functions (protected)
228
+ //
229
+ //--------------------------------------------------------------------------
230
+ /**
231
+ * Load esri javascript api modules
232
+ *
233
+ * @returns Promise resolving when function is done
234
+ *
235
+ * @protected
236
+ */
237
+ async _initModules() {
238
+ const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules([
239
+ "esri/layers/GraphicsLayer",
240
+ "esri/Graphic",
241
+ "esri/widgets/Search",
242
+ "esri/geometry/geometryEngine",
243
+ "esri/layers/FeatureLayer"
244
+ ]);
245
+ this.GraphicsLayer = GraphicsLayer;
246
+ this.Graphic = Graphic;
247
+ this.Search = Search;
248
+ this._geometryEngine = geometryEngine;
249
+ this.FeatureLayer = FeatureLayer;
250
+ }
251
+ /**
252
+ * Initialize the graphics layer, selection set, and search widget
253
+ *
254
+ * @returns Promise when the operation has completed
255
+ */
256
+ async _init() {
257
+ this._initGraphicsLayer();
258
+ await this._initSelectionSet();
259
+ this._initSearchWidget();
260
+ }
261
+ /**
262
+ * Initialize the state of the component with any stored values in a selection set
263
+ *
264
+ * @protected
265
+ */
266
+ async _initSelectionSet() {
267
+ var _a, _b, _c, _d;
268
+ if (this.selectionSet) {
269
+ this._searchTerm = (_a = this.selectionSet.searchResult) === null || _a === void 0 ? void 0 : _a.name;
270
+ this._searchResult = this.selectionSet.searchResult;
271
+ this._selectLayers = this.selectionSet.selectLayers;
272
+ this._selectedIds = this.selectionSet.selectedIds;
273
+ this._skipGeomOIDs = this.selectionSet.skipGeomOIDs;
274
+ this._searchDistanceEnabled = this.selectionSet.searchDistanceEnabled;
275
+ this._useLayerFeaturesEnabled = this.selectionSet.useLayerFeaturesEnabled;
276
+ this._distance = this.selectionSet.searchDistanceEnabled ? this.selectionSet.distance : 0;
277
+ this._unit = this.selectionSet.unit;
278
+ this._workflowType = this.selectionSet.workflowType;
279
+ this.selectLayerView = this.selectionSet.layerView;
280
+ this._sketchGraphic = this.selectionSet.sketchGraphic;
281
+ this.geometries = [
282
+ ...((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.geometries) || []
283
+ ];
284
+ // restore graphics from geometries to avoid issues with temp modifications to graphics that were aborted
285
+ this._graphics = this.geometries.map(geometry => {
286
+ const symbol = geometry.type === "point" ? this.sketchPointSymbol :
287
+ geometry.type === "polyline" ? this.sketchLineSymbol : this.sketchPolygonSymbol;
288
+ return new this.Graphic({
289
+ geometry,
290
+ symbol
291
+ });
292
+ });
293
+ this._selectionLabel = (_c = this.selectionSet) === null || _c === void 0 ? void 0 : _c.label;
294
+ if (!this._useLayerFeaturesEnabled) {
295
+ (_d = this._drawTools) === null || _d === void 0 ? void 0 : _d.updateGraphics();
296
+ }
297
+ await goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
298
+ }
299
+ }
300
+ /**
301
+ * Initialize the search widget
302
+ *
303
+ * @protected
304
+ */
305
+ _initSearchWidget() {
306
+ if (this.mapView && this._searchElement) {
307
+ const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
308
+ const searchOptions = Object.assign({ view: this.mapView, container: this._searchElement, searchTerm: this._searchTerm }, searchConfiguration);
309
+ this._searchWidget = new this.Search(searchOptions);
310
+ this._searchWidget.popupEnabled = false;
311
+ this._searchWidget.resultGraphicEnabled = false;
312
+ this._searchWidget.on("search-clear", () => {
313
+ const clearLabel = this._searchClearLabel();
314
+ void this._clearResults(false, clearLabel);
315
+ });
316
+ this._searchWidget.on("select-result", (searchResults) => {
317
+ var _a, _b;
318
+ if (searchResults.result) {
319
+ this._searchResult = searchResults.result;
320
+ 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;
321
+ const oids = useOIDs ? [searchResults.result.feature.getObjectId()] : undefined;
322
+ this._workflowType = EWorkflowType.SEARCH;
323
+ this._updateLabel();
324
+ const graphics = [searchResults.result.feature];
325
+ this._updateSelection(graphics, useOIDs, oids);
326
+ this._drawTools.graphics = graphics;
327
+ this._searchWidget.resultGraphic.visible = false;
328
+ }
329
+ else {
330
+ const clearLabel = this._searchClearLabel();
331
+ void this._clearResults(false, clearLabel);
332
+ }
333
+ });
334
+ }
335
+ }
336
+ /**
337
+ * Check if the current label should be cleared
338
+ *
339
+ * @returns true when the current label is based on search result
340
+ * @protected
341
+ */
342
+ _searchClearLabel() {
343
+ var _a;
344
+ return ((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) && this._labelName.value.indexOf(this._searchResult.name) > -1;
345
+ }
346
+ /**
347
+ * Initialize the search widget based on user defined configuration
348
+ *
349
+ * @param searchConfiguration search configuration defined by the user
350
+ * @param view the current map view
351
+ *
352
+ * @protected
353
+ */
354
+ _getSearchConfig(searchConfiguration, view) {
355
+ const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
356
+ const sources = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources;
357
+ if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
358
+ searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
359
+ sources.forEach((source) => {
360
+ var _a, _b;
361
+ const isLayerSource = source.hasOwnProperty("layer");
362
+ if (isLayerSource) {
363
+ const layerSource = source;
364
+ const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
365
+ const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
366
+ const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
367
+ if (layerFromMap) {
368
+ layerSource.layer = layerFromMap;
369
+ }
370
+ else if (layerUrl) {
371
+ layerSource.layer = new this.FeatureLayer(layerUrl);
372
+ }
373
+ }
374
+ });
375
+ sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
376
+ const isLocatorSource = source.hasOwnProperty("locator");
377
+ if (isLocatorSource) {
378
+ const locatorSource = source;
379
+ if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
380
+ const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
381
+ locatorSource.outFields = outFields;
382
+ locatorSource.singleLineFieldName = "SingleLine";
383
+ }
384
+ locatorSource.url = locatorSource.url;
385
+ delete locatorSource.url;
386
+ }
387
+ });
388
+ }
389
+ else {
390
+ searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
391
+ }
392
+ return searchConfiguration;
393
+ }
394
+ /**
395
+ * Initialize the graphics layer used to store any buffer grapghics
396
+ *
397
+ * @protected
398
+ */
399
+ _initGraphicsLayer() {
400
+ const title = this._translations.bufferLayer;
401
+ const bufferIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
402
+ if (bufferIndex > -1) {
403
+ this._bufferGraphicsLayer = this.mapView.map.layers.getItemAt(bufferIndex);
404
+ }
405
+ else {
406
+ this._bufferGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
407
+ state.managedLayers.push(title);
408
+ const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === this._translations.sketchLayer);
409
+ if (sketchIndex > -1) {
410
+ this.mapView.map.layers.add(this._bufferGraphicsLayer, sketchIndex);
411
+ }
412
+ else {
413
+ this.mapView.map.layers.add(this._bufferGraphicsLayer);
414
+ }
415
+ }
416
+ }
417
+ /**
418
+ * Handle changes in the sketch graphics
419
+ *
420
+ * @param event stores the graphics that will be used to select features
421
+ * @param forceUpdate when true the drawn graphic will be used to select features from
422
+ * use layer features layer...then the selected layer features will be used to select from the main input layer
423
+ *
424
+ */
425
+ async _sketchGraphicsChanged(event, forceUpdate = false) {
426
+ const graphics = event.detail.graphics;
427
+ if (graphics.length > 0 && graphics[0]) {
428
+ if (!forceUpdate) {
429
+ this._sketchGraphic = graphics[0];
430
+ }
431
+ this._workflowType = this._useLayerFeaturesEnabled ? EWorkflowType.SELECT : EWorkflowType.SKETCH;
432
+ if (this._workflowType === EWorkflowType.SKETCH) {
433
+ this._drawTools.updateGraphics();
434
+ }
435
+ this._updateLabel();
436
+ this._clearSearchWidget();
437
+ if (this._useLayerFeaturesEnabled && !forceUpdate) {
438
+ // Will only ever be a single graphic
439
+ const geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
440
+ await this._selectLayerFeatures(geometries[0]);
441
+ }
442
+ else {
443
+ const oids = graphics.reduce((prev, cur) => {
444
+ var _a;
445
+ if ((_a = cur === null || cur === void 0 ? void 0 : cur.layer) === null || _a === void 0 ? void 0 : _a.objectIdField) {
446
+ prev.push(cur.attributes[cur.layer.objectIdField]);
447
+ }
448
+ else if (cur.getObjectId) {
449
+ prev.push(cur.getObjectId());
450
+ }
451
+ return prev;
452
+ }, []);
453
+ const useOIDs = event.detail.useOIDs && oids.length > 0;
454
+ this._updateSelection(graphics, useOIDs, oids);
455
+ if (useOIDs) {
456
+ await this._highlightFeatures(oids);
457
+ }
458
+ }
459
+ }
460
+ else {
461
+ await this._clearResults(true, true);
462
+ }
463
+ }
464
+ /**
465
+ * Highlight the features in the map based on OIDs when skipOIDs have been defined
466
+ *
467
+ * @protected
468
+ */
469
+ async _highlightWithOIDsOrGeoms() {
470
+ var _a;
471
+ if (((_a = this._skipGeomOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
472
+ this._selectedIds = this._skipGeomOIDs;
473
+ return this._highlightFeatures(this._selectedIds);
474
+ }
475
+ else {
476
+ return this._geomQuery(this.geometries);
477
+ }
478
+ }
479
+ /**
480
+ * Highlight the features in the map
481
+ *
482
+ * @param ids the ids that should be highlighted
483
+ *
484
+ * @protected
485
+ */
486
+ async _highlightFeatures(ids) {
487
+ state.removeHandles();
488
+ if (ids.length > 0) {
489
+ state.highlightHandles.push(await highlightFeatures(ids, this.selectLayerView, this.mapView));
490
+ }
491
+ this._numSelected = ids.length;
492
+ this.selectionSetChange.emit(ids.length);
493
+ }
494
+ /**
495
+ * Query the selectLayerView based on any user drawn geometries or buffers
496
+ *
497
+ * @param geometries Array of geometries used for the selection of ids from the select layer view
498
+ *
499
+ * @returns Promise when the selection is complete and the graphics have been highlighted
500
+ */
501
+ async _selectFeatures(geometries) {
502
+ this._selectionLoading = true;
503
+ this._selectedIds = await queryObjectIds(geometries, this.selectLayerView.layer);
504
+ this._selectionLoading = false;
505
+ // stored as graphics now in addition to the geoms
506
+ this._drawTools.graphics = this._graphics;
507
+ await this._highlightFeatures(this._selectedIds);
508
+ }
509
+ /**
510
+ * Query the selectLayerView based on any user drawn geometries or buffers
511
+ *
512
+ * @param evt CustomEvent that contains the result of the buffer
513
+ *
514
+ * @protected
515
+ */
516
+ async _bufferComplete(evt) {
517
+ this._bufferGeometry = Array.isArray(evt.detail) ?
518
+ evt.detail[0] : evt.detail;
519
+ let oldValue = this._bufferTools.distance;
520
+ let newValue = 0;
521
+ if (this._bufferGeometry) {
522
+ // Create a symbol for rendering the graphic
523
+ const symbol = {
524
+ type: "simple-fill",
525
+ color: this.bufferColor,
526
+ outline: {
527
+ color: this.bufferOutlineColor,
528
+ width: 1
529
+ }
530
+ };
531
+ // Add the geometry and symbol to a new graphic
532
+ const polygonGraphic = new this.Graphic({
533
+ geometry: this._bufferGeometry,
534
+ symbol
535
+ });
536
+ this._bufferGraphicsLayer.removeAll();
537
+ this._bufferGraphicsLayer.add(polygonGraphic);
538
+ await this._selectFeatures([this._bufferGeometry]);
539
+ await this.mapView.goTo(polygonGraphic.geometry.extent);
540
+ // We need to swap the values again if they were previously
541
+ // set based on disable of buffer tools when the tools have a value
542
+ newValue = oldValue;
543
+ oldValue = 0;
544
+ }
545
+ else {
546
+ if (this._bufferGraphicsLayer) {
547
+ this._bufferGraphicsLayer.removeAll();
548
+ }
549
+ await this._highlightWithOIDsOrGeoms();
550
+ }
551
+ // mock this b/c the tools can store a value that is different than what is shown in the map
552
+ // this occurs when a distance is set but then buffer is disabled
553
+ this._distanceChanged({
554
+ oldValue,
555
+ newValue
556
+ });
557
+ }
558
+ /**
559
+ * Fetch a single geometry for each potential geometry type
560
+ *
561
+ * @param geometries All current selection geometries
562
+ *
563
+ * @protected
564
+ */
565
+ _geomQuery(geometries) {
566
+ const queryGeoms = getQueryGeoms(geometries, this._geometryEngine);
567
+ return this._selectFeatures(queryGeoms);
568
+ }
569
+ /**
570
+ * Clear all stored values and general state for the component
571
+ *
572
+ * @param clearSearchWidget Optional boolean for clearing the search widget (default is true)
573
+ * @param clearLabel Optional boolean for clearing the search label (default is true)
574
+ *
575
+ * @protected
576
+ */
577
+ async _clearResults(clearSearchWidget = true, clearLabel = false) {
578
+ var _a;
579
+ this._selectedIds = [];
580
+ this._distance = undefined;
581
+ this._unit = undefined;
582
+ if (clearLabel) {
583
+ this._selectionLabel = "";
584
+ this._labelName.value = "";
585
+ }
586
+ if (this._bufferGraphicsLayer) {
587
+ this._bufferGraphicsLayer.removeAll();
588
+ }
589
+ if (clearSearchWidget && this._searchWidget) {
590
+ this._clearSearchWidget();
591
+ }
592
+ state.removeHandles();
593
+ // checking for clear as it would throw off tests
594
+ if ((_a = this._drawTools) === null || _a === void 0 ? void 0 : _a.clear) {
595
+ this._graphics = [];
596
+ await this._drawTools.clear();
597
+ }
598
+ this.selectionSetChange.emit(this._selectedIds.length);
599
+ }
600
+ /**
601
+ * Clear all the search widget and any stored search result
602
+ *
603
+ * @protected
604
+ */
605
+ _clearSearchWidget() {
606
+ this._searchWidget.clear();
607
+ this._searchResult = undefined;
608
+ }
609
+ /**
610
+ * Fetch a single geometry for the current geometry type
611
+ *
612
+ * @param type worflow type
613
+ * @param graphics graphics to be used for selection
614
+ * @param label selection label
615
+ * @param useOIDs indicates if the OIDs should override the geometry for selection
616
+ * @param oids list of IDs to select when useOIDs is true
617
+ *
618
+ * @protected
619
+ */
620
+ _updateSelection(graphics, useOIDs, oids) {
621
+ this._selectedIds = useOIDs && oids ? oids : this._selectedIds;
622
+ // see https://github.com/Esri/solutions-components/issues/148
623
+ this._skipGeomOIDs = useOIDs ? oids : undefined;
624
+ this.geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;
625
+ this._graphics = graphics;
626
+ }
627
+ /**
628
+ * Updates the label for the selection set
629
+ *
630
+ * @protected
631
+ */
632
+ _updateLabel() {
633
+ var _a, _b;
634
+ const hasSketch = this._selectionLabel.indexOf(this._translations.sketch) > -1;
635
+ const hasSelect = this._selectionLabel.indexOf(this._translations.select) > -1;
636
+ const hasSearch = this._selectionLabel.indexOf((_a = this._searchResult) === null || _a === void 0 ? void 0 : _a.name) > -1;
637
+ const label = this._workflowType === EWorkflowType.SEARCH ? (_b = this._searchResult) === null || _b === void 0 ? void 0 : _b.name :
638
+ this._workflowType === EWorkflowType.SELECT ?
639
+ this._translations.select : this._translations.sketch;
640
+ const unit = !this._unit ? this._bufferTools.unit : this._unit;
641
+ const distance = isNaN(this._distance) ? this._bufferTools.distance : this._distance;
642
+ this._selectionLabel = hasSketch || hasSelect || hasSearch || !this._selectionLabel ?
643
+ `${label} ${distance} ${unit}` : this._selectionLabel;
644
+ this._labelName.value = this._selectionLabel;
645
+ }
646
+ /**
647
+ * Gets the layer views from the map when the layer selection changes
648
+ *
649
+ * @returns Promise resolving when function is done
650
+ *
651
+ * @protected
652
+ */
653
+ async _layerSelectionChange(evt) {
654
+ if (Array.isArray(evt.detail) && evt.detail.length > 0) {
655
+ const layerPromises = evt.detail.map(id => {
656
+ return getFeatureLayerView(this.mapView, id);
657
+ });
658
+ return Promise.all(layerPromises).then((layerViews) => {
659
+ this.layerViews = layerViews;
660
+ this._featuresCollection = {};
661
+ if (this._sketchGraphic) {
662
+ void this._sketchGraphicsChanged({
663
+ detail: {
664
+ graphics: [this._sketchGraphic],
665
+ useOIDs: false
666
+ }
667
+ });
668
+ }
669
+ });
670
+ }
671
+ }
672
+ /**
673
+ * Fetch the layer from the map
674
+ *
675
+ * @param evt layer selection change event
676
+ *
677
+ * @returns Promise when the function has completed
678
+ * @protected
679
+ */
680
+ async _inputLayerSelectionChange(evt) {
681
+ var _a;
682
+ const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
683
+ if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
684
+ this.selectLayerView = await getFeatureLayerView(this.mapView, id);
685
+ this._updateLabel();
686
+ this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
687
+ await this._highlightWithOIDsOrGeoms();
688
+ }
689
+ }
690
+ /**
691
+ * Handle changes to the buffer distance value
692
+ */
693
+ _distanceChanged(detail) {
694
+ if (detail.newValue !== detail.oldValue) {
695
+ this._distance = detail.newValue;
696
+ this._updateLabel();
697
+ }
698
+ }
699
+ /**
700
+ * Select features based on the input geometry
701
+ *
702
+ * @param geom the geometry used for selection
703
+ *
704
+ * @returns Promise resolving when function is done
705
+ *
706
+ * @protected
707
+ */
708
+ async _selectLayerFeatures(geom) {
709
+ this._selectionLoading = true;
710
+ const queryFeaturePromises = this.layerViews.map(layerView => {
711
+ this._featuresCollection[layerView.layer.id] = [];
712
+ return queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
713
+ });
714
+ return Promise.all(queryFeaturePromises).then(async (response) => {
715
+ this._selectionLoading = false;
716
+ let graphics = [];
717
+ response.forEach(r => {
718
+ Object.keys(r).forEach(k => {
719
+ graphics = graphics.concat(r[k]);
720
+ });
721
+ });
722
+ let hasOID = false;
723
+ graphics.forEach((g) => {
724
+ var _a;
725
+ const geom = g.geometry;
726
+ g.symbol = geom.type === "point" ?
727
+ this.sketchPointSymbol : geom.type === "polyline" ?
728
+ this.sketchLineSymbol : geom.type === "polygon" ?
729
+ this.sketchPolygonSymbol : undefined;
730
+ hasOID = ((_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.hasOwnProperty("objectIdField")) || g.hasOwnProperty("getObjectId");
731
+ });
732
+ // OIDs are used when the addressee layer and the current "use layer features" layer are the same
733
+ const useOIDs = (this.layerViews[0].layer.title === this.selectLayerView.layer.title) && hasOID;
734
+ await this._sketchGraphicsChanged({
735
+ detail: {
736
+ graphics,
737
+ useOIDs
738
+ }
739
+ }, true);
740
+ });
741
+ }
742
+ /**
743
+ * Store use layer features value and re-select features based on the original sketch graphic
744
+ *
745
+ * @protected
746
+ */
747
+ _useLayerFeaturesEnabledChanged() {
748
+ this._useLayerFeaturesEnabled = !this._useLayerFeaturesEnabled;
749
+ if (this._sketchGraphic) {
750
+ void this._sketchGraphicsChanged({
751
+ detail: {
752
+ graphics: [this._sketchGraphic],
753
+ useOIDs: false
754
+ }
755
+ });
756
+ }
757
+ }
758
+ /**
759
+ * Fetches the component's translations
760
+ *
761
+ * @protected
762
+ */
763
+ async _getTranslations() {
764
+ const translations = await getLocaleComponentStrings(this.el);
765
+ this._translations = translations[0];
766
+ }
767
+ get el() { return getElement(this); }
768
+ static get watchers() { return {
769
+ "geometries": ["watchGeometriesHandler"],
770
+ "searchConfiguration": ["watchSearchConfigurationHandler"]
771
+ }; }
772
+ };
773
773
  MapSelectTools.style = mapSelectToolsCss;
774
774
 
775
775
  const labelFormats = [
@@ -971,532 +971,532 @@ const pdfLabelFormats = /*#__PURE__*/Object.freeze({
971
971
 
972
972
  const pdfDownloadCss = ":host{display:block}";
973
973
 
974
- const PdfDownload = class {
975
- constructor(hostRef) {
976
- registerInstance(this, hostRef);
977
- this.defaultNumLabelsPerPage = undefined;
978
- this.disabled = false;
979
- this._translations = undefined;
980
- }
981
- //--------------------------------------------------------------------------
982
- //
983
- // Watch handlers
984
- //
985
- //--------------------------------------------------------------------------
986
- //--------------------------------------------------------------------------
987
- //
988
- // Methods (public)
989
- //
990
- //--------------------------------------------------------------------------
991
- /**
992
- * Downloads csv of mailing labels for the provided list of ids
993
- *
994
- * @param exportInfos Information about items to be exported
995
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
996
- * @param addColumnTitle Indicates if column headings should be included in output
997
- * @returns Promise resolving when function is done
998
- */
999
- async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
1000
- return downloadCSV(exportInfos, true, // formatUsingLayerPopup
1001
- removeDuplicates, addColumnTitle);
1002
- }
1003
- /**
1004
- * Downloads pdf of mailing labels for the provided list of ids
1005
- *
1006
- * @param exportInfos Information about items to be exported
1007
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1008
- * @param title Title for each page
1009
- * @param initialImageDataUrl Data URL of image for first page
1010
- * @returns Promise resolving when function is done
1011
- */
1012
- async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
1013
- var _c;
1014
- return downloadPDF(exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
1015
- }
1016
- //--------------------------------------------------------------------------
1017
- //
1018
- // Events (public)
1019
- //
1020
- //--------------------------------------------------------------------------
1021
- //--------------------------------------------------------------------------
1022
- //
1023
- // Functions (lifecycle)
1024
- //
1025
- //--------------------------------------------------------------------------
1026
- /**
1027
- * StencilJS: Called once just after the component is first connected to the DOM.
1028
- */
1029
- async componentWillLoad() {
1030
- await this._getTranslations();
1031
- await this._initModules();
1032
- }
1033
- /**
1034
- * Renders the component.
1035
- */
1036
- render() {
1037
- return (h(Host, null, h("calcite-select", { disabled: this.disabled, label: "", ref: (el) => { this._labelInfoElement = el; } })));
1038
- }
1039
- componentDidRender() {
1040
- // Render the options outside of Stencil's rendering so that it doesn't mangle RTL text with embedded LTR
1041
- this._renderOptions();
1042
- }
1043
- //--------------------------------------------------------------------------
1044
- //
1045
- // Functions (protected)
1046
- //
1047
- //--------------------------------------------------------------------------
1048
- /**
1049
- * Load esri javascript api modules
1050
- *
1051
- * @returns Promise resolving when function is done
1052
- *
1053
- * @protected
1054
- */
1055
- async _initModules() {
1056
- const [intl] = await loadModules([
1057
- "esri/intl"
1058
- ]);
1059
- this._intl = intl;
1060
- }
1061
- /**
1062
- * Gets the formatted pdf export size text
1063
- *
1064
- * @param labelInfo current user selected label info
1065
- *
1066
- * @returns the pdf label as a string
1067
- * @protected
1068
- */
1069
- _getLabelSizeText(labelInfo) {
1070
- const lNum = labelInfo.descriptionPDF.labelsPerPageDisplay;
1071
- const lSize = "&lrm;" + labelInfo.descriptionPDF.labelWidthDisplay + " x " +
1072
- labelInfo.descriptionPDF.labelHeightDisplay + "&rlm;";
1073
- return this._translations.pdfLabel.replace("{{n}}", lNum).replace("{{labelSize}}", lSize);
1074
- }
1075
- /**
1076
- * Fetches the component's translations
1077
- *
1078
- * @protected
1079
- */
1080
- async _getTranslations() {
1081
- const translations = await getLocaleComponentStrings(this.el);
1082
- this._translations = translations[0];
1083
- }
1084
- /**
1085
- * Renders the pdf export size options and adds them to the `select` component
1086
- *
1087
- * @protected
1088
- */
1089
- _renderOptions() {
1090
- const s = pdfLabelFormats;
1091
- const sortedPdfIndo = (s.default || s).sort((a, b) => {
1092
- const _a = parseInt(a.descriptionPDF.labelsPerPageDisplay, 10);
1093
- const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);
1094
- return _a < _b ? -1 : _a > _b ? 1 : 0;
1095
- });
1096
- sortedPdfIndo.forEach((l, i) => {
1097
- const option = document.createElement("calcite-option");
1098
- option.value = l;
1099
- option.innerHTML = this._getLabelSizeText(l);
1100
- this._labelInfoElement.appendChild(option);
1101
- if (this.defaultNumLabelsPerPage ? parseInt(l.descriptionPDF.labelsPerPageDisplay, 10) === this.defaultNumLabelsPerPage : i === 0) {
1102
- // Setting selected wasn't enough to trigger it being the 'selectedOption'
1103
- option.selected = true;
1104
- this._labelInfoElement.selectedOption = option;
1105
- }
1106
- });
1107
- }
1108
- get el() { return getElement(this); }
1109
- };
974
+ const PdfDownload = class {
975
+ constructor(hostRef) {
976
+ registerInstance(this, hostRef);
977
+ this.defaultNumLabelsPerPage = undefined;
978
+ this.disabled = false;
979
+ this._translations = undefined;
980
+ }
981
+ //--------------------------------------------------------------------------
982
+ //
983
+ // Watch handlers
984
+ //
985
+ //--------------------------------------------------------------------------
986
+ //--------------------------------------------------------------------------
987
+ //
988
+ // Methods (public)
989
+ //
990
+ //--------------------------------------------------------------------------
991
+ /**
992
+ * Downloads csv of mailing labels for the provided list of ids
993
+ *
994
+ * @param exportInfos Information about items to be exported
995
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
996
+ * @param addColumnTitle Indicates if column headings should be included in output
997
+ * @returns Promise resolving when function is done
998
+ */
999
+ async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
1000
+ return downloadCSV(exportInfos, true, // formatUsingLayerPopup
1001
+ removeDuplicates, addColumnTitle);
1002
+ }
1003
+ /**
1004
+ * Downloads pdf of mailing labels for the provided list of ids
1005
+ *
1006
+ * @param exportInfos Information about items to be exported
1007
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
1008
+ * @param title Title for each page
1009
+ * @param initialImageDataUrl Data URL of image for first page
1010
+ * @returns Promise resolving when function is done
1011
+ */
1012
+ async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
1013
+ var _c;
1014
+ return downloadPDF(exportInfos, (_c = this._labelInfoElement.selectedOption) === null || _c === void 0 ? void 0 : _c.value, removeDuplicates, title, initialImageDataUrl);
1015
+ }
1016
+ //--------------------------------------------------------------------------
1017
+ //
1018
+ // Events (public)
1019
+ //
1020
+ //--------------------------------------------------------------------------
1021
+ //--------------------------------------------------------------------------
1022
+ //
1023
+ // Functions (lifecycle)
1024
+ //
1025
+ //--------------------------------------------------------------------------
1026
+ /**
1027
+ * StencilJS: Called once just after the component is first connected to the DOM.
1028
+ */
1029
+ async componentWillLoad() {
1030
+ await this._getTranslations();
1031
+ await this._initModules();
1032
+ }
1033
+ /**
1034
+ * Renders the component.
1035
+ */
1036
+ render() {
1037
+ return (h(Host, null, h("calcite-select", { disabled: this.disabled, label: "", ref: (el) => { this._labelInfoElement = el; } })));
1038
+ }
1039
+ componentDidRender() {
1040
+ // Render the options outside of Stencil's rendering so that it doesn't mangle RTL text with embedded LTR
1041
+ this._renderOptions();
1042
+ }
1043
+ //--------------------------------------------------------------------------
1044
+ //
1045
+ // Functions (protected)
1046
+ //
1047
+ //--------------------------------------------------------------------------
1048
+ /**
1049
+ * Load esri javascript api modules
1050
+ *
1051
+ * @returns Promise resolving when function is done
1052
+ *
1053
+ * @protected
1054
+ */
1055
+ async _initModules() {
1056
+ const [intl] = await loadModules([
1057
+ "esri/intl"
1058
+ ]);
1059
+ this._intl = intl;
1060
+ }
1061
+ /**
1062
+ * Gets the formatted pdf export size text
1063
+ *
1064
+ * @param labelInfo current user selected label info
1065
+ *
1066
+ * @returns the pdf label as a string
1067
+ * @protected
1068
+ */
1069
+ _getLabelSizeText(labelInfo) {
1070
+ const lNum = labelInfo.descriptionPDF.labelsPerPageDisplay;
1071
+ const lSize = "&lrm;" + labelInfo.descriptionPDF.labelWidthDisplay + " x " +
1072
+ labelInfo.descriptionPDF.labelHeightDisplay + "&rlm;";
1073
+ return this._translations.pdfLabel.replace("{{n}}", lNum).replace("{{labelSize}}", lSize);
1074
+ }
1075
+ /**
1076
+ * Fetches the component's translations
1077
+ *
1078
+ * @protected
1079
+ */
1080
+ async _getTranslations() {
1081
+ const translations = await getLocaleComponentStrings(this.el);
1082
+ this._translations = translations[0];
1083
+ }
1084
+ /**
1085
+ * Renders the pdf export size options and adds them to the `select` component
1086
+ *
1087
+ * @protected
1088
+ */
1089
+ _renderOptions() {
1090
+ const s = pdfLabelFormats;
1091
+ const sortedPdfIndo = (s.default || s).sort((a, b) => {
1092
+ const _a = parseInt(a.descriptionPDF.labelsPerPageDisplay, 10);
1093
+ const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);
1094
+ return _a < _b ? -1 : _a > _b ? 1 : 0;
1095
+ });
1096
+ sortedPdfIndo.forEach((l, i) => {
1097
+ const option = document.createElement("calcite-option");
1098
+ option.value = l;
1099
+ option.innerHTML = this._getLabelSizeText(l);
1100
+ this._labelInfoElement.appendChild(option);
1101
+ if (this.defaultNumLabelsPerPage ? parseInt(l.descriptionPDF.labelsPerPageDisplay, 10) === this.defaultNumLabelsPerPage : i === 0) {
1102
+ // Setting selected wasn't enough to trigger it being the 'selectedOption'
1103
+ option.selected = true;
1104
+ this._labelInfoElement.selectedOption = option;
1105
+ }
1106
+ });
1107
+ }
1108
+ get el() { return getElement(this); }
1109
+ };
1110
1110
  PdfDownload.style = pdfDownloadCss;
1111
1111
 
1112
1112
  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}";
1113
1113
 
1114
- const RefineSelection = class {
1115
- constructor(hostRef) {
1116
- registerInstance(this, hostRef);
1117
- this.selectionLoadingChange = createEvent(this, "selectionLoadingChange", 7);
1118
- this.selectionSetsChanged = createEvent(this, "selectionSetsChanged", 7);
1119
- //--------------------------------------------------------------------------
1120
- //
1121
- // Properties (protected)
1122
- //
1123
- //--------------------------------------------------------------------------
1124
- /**
1125
- * boolean: Indicates if any new graphics should be added or removed
1126
- */
1127
- this._addEnabled = true;
1128
- /**
1129
- * ISelectionSet[]: The current list of selection sets
1130
- */
1131
- this._refineSets = [];
1132
- /**
1133
- * string[]: The list of all layers that have current selections
1134
- */
1135
- this._enabledLayerIds = [];
1136
- /**
1137
- * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
1138
- */
1139
- this._featuresCollection = {};
1140
- this.addresseeLayer = undefined;
1141
- this.enabledLayerIds = [];
1142
- this.mapView = undefined;
1143
- this.selectionSets = [];
1144
- this.sketchLineSymbol = undefined;
1145
- this.sketchPointSymbol = undefined;
1146
- this.sketchPolygonSymbol = undefined;
1147
- this._translations = undefined;
1148
- this._selectionMode = ESelectionMode.ADD;
1149
- this._refineLayer = undefined;
1150
- }
1151
- //--------------------------------------------------------------------------
1152
- //
1153
- // Functions (lifecycle)
1154
- //
1155
- //--------------------------------------------------------------------------
1156
- /**
1157
- * StencilJS: Called once just after the component is first connected to the DOM.
1158
- */
1159
- async componentWillLoad() {
1160
- await this._getTranslations();
1161
- this._enabledLayerIds = this._getEnabledLayerIds();
1162
- await this._setRefineSet(this._enabledLayerIds[0]);
1163
- }
1164
- /**
1165
- * Renders the component.
1166
- */
1167
- render() {
1168
- var _a, _b;
1169
- const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1170
- return (h(Host, null, h("div", { class: layerPickerClass + " padding-top-sides-1" }, h("div", { class: "display-flex" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, h("div", { class: "display-flex" }, this._translations.inputLayer, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), 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] })), h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), h("div", { class: "padding-1" }, h("div", { class: "padding-bottom-1" }, h("calcite-segmented-control", { class: "w-100" }, h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, h("span", { class: "font-weight-500" }, this._translations.add)), h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, h("span", { class: "font-weight-500" }, this._translations.remove)))), h("div", null, h("map-draw-tools", { active: true, drawMode: 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 })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1171
- }
1172
- //--------------------------------------------------------------------------
1173
- //
1174
- // Functions (protected)
1175
- //
1176
- //--------------------------------------------------------------------------
1177
- /**
1178
- * Set the user selected layer as the current refine layer
1179
- *
1180
- * @param evt contains the selected layer id
1181
- *
1182
- * @protected
1183
- */
1184
- _layerSelectionChange(evt) {
1185
- const id = evt.detail[0];
1186
- void this._setRefineSet(id);
1187
- }
1188
- /**
1189
- * Store the current selection mode
1190
- *
1191
- * @param selectionMode the current selection mode ADD || REMOVE
1192
- *
1193
- * @protected
1194
- */
1195
- _setSelectionMode(selectionMode) {
1196
- this._selectionMode = selectionMode;
1197
- }
1198
- /**
1199
- * Select features based on the user drawn geometry
1200
- *
1201
- * @param evt ISketchGraphicsChange stores the new graphics and a boolean useOIDs
1202
- * useOIDs is leveraged in some situations to use the feature OIDs rather than the graphic geometry
1203
- *
1204
- * @protected
1205
- */
1206
- _sketchGraphicsChanged(evt) {
1207
- var _a;
1208
- const geom = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.graphics[0].geometry;
1209
- void this._selectFeatures(geom);
1210
- }
1211
- /**
1212
- * Get the layer ids for all layers in the selection sets
1213
- *
1214
- * @protected
1215
- */
1216
- _getEnabledLayerIds() {
1217
- return this.selectionSets.reduce((prev, cur) => {
1218
- var _a;
1219
- const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
1220
- if (id && prev.indexOf(id) < 0) {
1221
- prev.push(id);
1222
- }
1223
- else if (cur.workflowType === EWorkflowType.REFINE) {
1224
- Object.keys(cur.refineInfos).forEach(k => {
1225
- if (prev.indexOf(k) < 0) {
1226
- prev.push(k);
1227
- }
1228
- });
1229
- }
1230
- return prev;
1231
- }, []);
1232
- }
1233
- /**
1234
- * Set the refine layer...any adds or removes will be done against this layer
1235
- *
1236
- * @param id the id of the layer that should be used as the current refine layer
1237
- *
1238
- * @protected
1239
- */
1240
- async _setRefineSet(id) {
1241
- if (!this.selectionSets.some((ss) => {
1242
- if (ss.workflowType === EWorkflowType.REFINE) {
1243
- this._refineSelectionSet = ss;
1244
- return Object.keys(ss.refineInfos).indexOf(id) > -1;
1245
- }
1246
- })) {
1247
- await this._initRefineSet(id, this._refineSelectionSet);
1248
- }
1249
- this._refineLayer = this._refineSelectionSet.refineInfos[id].layerView;
1250
- }
1251
- /**
1252
- * Initialize the refine selection set
1253
- *
1254
- * @param id the layer id to use for the refine selection set
1255
- * @param selectionSet the current refine selection set
1256
- *
1257
- * @protected
1258
- */
1259
- async _initRefineSet(id, selectionSet) {
1260
- const refineInfo = {};
1261
- refineInfo[id] = {
1262
- addIds: [],
1263
- removeIds: [],
1264
- layerView: await getFeatureLayerView(this.mapView, id)
1265
- };
1266
- if (selectionSet) {
1267
- selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
1268
- }
1269
- else {
1270
- this._refineSelectionSet = {
1271
- id: Date.now(),
1272
- searchResult: undefined,
1273
- buffer: undefined,
1274
- distance: 0,
1275
- download: true,
1276
- unit: "feet",
1277
- label: "Refine",
1278
- selectedIds: [],
1279
- layerView: undefined,
1280
- geometries: [],
1281
- graphics: [],
1282
- selectLayers: [],
1283
- workflowType: EWorkflowType.REFINE,
1284
- searchDistanceEnabled: false,
1285
- useLayerFeaturesEnabled: false,
1286
- refineInfos: refineInfo,
1287
- redoStack: [],
1288
- undoStack: [],
1289
- sketchGraphic: undefined
1290
- };
1291
- this.selectionSets.push(this._refineSelectionSet);
1292
- }
1293
- }
1294
- /**
1295
- * Undo the most current ADD or REMOVE operation
1296
- *
1297
- * @returns Promise resolving when function is done
1298
- *
1299
- * @protected
1300
- */
1301
- _undo() {
1302
- const undoOp = this._refineSelectionSet.undoStack.pop();
1303
- void this._updateIds(undoOp.ids, undoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD, this._refineSelectionSet.redoStack, undoOp.layerView);
1304
- }
1305
- /**
1306
- * Redo the most current ADD or REMOVE operation
1307
- *
1308
- * @returns Promise resolving when function is done
1309
- *
1310
- * @protected
1311
- */
1312
- _redo() {
1313
- const redoOp = this._refineSelectionSet.redoStack.pop();
1314
- void this._updateIds(redoOp.ids, redoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD, this._refineSelectionSet.undoStack, redoOp.layerView);
1315
- }
1316
- /**
1317
- * Create a list to show the number added/removed/total unique selected
1318
- *
1319
- * @returns the list node
1320
- * @protected
1321
- */
1322
- _getRefineSelectionSetList() {
1323
- const total = this._getTotal(this.selectionSets);
1324
- let refineSet;
1325
- this.selectionSets.some(ss => {
1326
- if (ss.workflowType === EWorkflowType.REFINE) {
1327
- refineSet = ss;
1328
- return true;
1329
- }
1330
- });
1331
- let numAdded = 0;
1332
- let numRemoved = 0;
1333
- Object.keys(refineSet.refineInfos).forEach(k => {
1334
- numAdded += refineSet.refineInfos[k].addIds.length;
1335
- numRemoved += refineSet.refineInfos[k].removeIds.length;
1336
- });
1337
- return [(h("calcite-list-item", { label: this._translations.featuresAdded.replace("{{n}}", numAdded.toString()), "non-interactive": true })), (h("calcite-list-item", { label: this._translations.featuresRemoved.replace("{{n}}", numRemoved.toString()), "non-interactive": true })), (h("calcite-list-item", { label: this._translations.totalSelected.replace("{{n}}", total.toString()), "non-interactive": true }))];
1338
- }
1339
- /**
1340
- * Get the total number od ids across all selection sets
1341
- *
1342
- * @returns the total number of ids
1343
- * @protected
1344
- */
1345
- _getTotal(selectionSets) {
1346
- const idSets = getIdSets(selectionSets);
1347
- return Object.keys(idSets).reduce((prev, cur) => {
1348
- const idSet = idSets[cur];
1349
- prev += idSet.ids.length;
1350
- return prev;
1351
- }, 0);
1352
- }
1353
- /**
1354
- * Fetches the component's translations
1355
- *
1356
- * @protected
1357
- */
1358
- async _getTranslations() {
1359
- const translations = await getLocaleComponentStrings(this.el);
1360
- this._translations = translations[0];
1361
- }
1362
- /**
1363
- * Select features based on the input geometry
1364
- *
1365
- * @param geom the geometry used for selection
1366
- *
1367
- * @returns Promise resolving when function is done
1368
- *
1369
- * @protected
1370
- */
1371
- async _selectFeatures(geom) {
1372
- var _a, _b;
1373
- this.selectionLoadingChange.emit(true);
1374
- this._featuresCollection[(_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id] = [];
1375
- const response = await queryFeaturesByGeometry(0, (_b = this._refineLayer) === null || _b === void 0 ? void 0 : _b.layer, geom, this._featuresCollection);
1376
- this.selectionLoadingChange.emit(false);
1377
- let graphics = [];
1378
- Object.keys(response).forEach(k => {
1379
- var _a;
1380
- if (k === ((_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id)) {
1381
- graphics = graphics.concat(response[k]);
1382
- }
1383
- });
1384
- 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]; }) : [];
1385
- await this._updateIds(oids, this._selectionMode, this._refineSelectionSet.undoStack, this._refineLayer);
1386
- this._drawTools.clear();
1387
- }
1388
- /**
1389
- * Highlight any selected features in the map
1390
- *
1391
- * @returns Promise resolving when function is done
1392
- * @protected
1393
- */
1394
- async _highlightFeatures() {
1395
- this._clearHighlight();
1396
- state.highlightHandles = await highlightAllFeatures(this.selectionSets);
1397
- }
1398
- /**
1399
- * Clear any highlighted features in the map
1400
- *
1401
- * @protected
1402
- */
1403
- _clearHighlight() {
1404
- state.removeHandles();
1405
- }
1406
- /**
1407
- * Update the ids for any ADD or REMOVE operation and highlight the features.
1408
- *
1409
- * @param oids the ids to add or remove
1410
- * @param mode ADD or REMOVE this will control if the ids are added or removed
1411
- * @param operationStack the undo or redo stack to push the operation to
1412
- * @param operationMode ADD or REMOVE the mode of the individual refine operation
1413
- *
1414
- * @returns Promise resolving when function is done
1415
- *
1416
- * @protected
1417
- */
1418
- async _updateIds(ids, mode, operationStack, layerView) {
1419
- let selectionSetsChanged = false;
1420
- const refineInfos = this._refineSelectionSet.refineInfos;
1421
- const layerId = layerView.layer.id;
1422
- const newRefineInfo = {};
1423
- newRefineInfo[layerId] = {
1424
- addIds: [],
1425
- removeIds: [],
1426
- layerView
1427
- };
1428
- const idUpdates = Object.keys(refineInfos).indexOf(layerId) > -1 ?
1429
- refineInfos[layerId] : newRefineInfo[layerId];
1430
- if (mode === ESelectionMode.ADD) {
1431
- idUpdates.addIds = [...new Set([...ids, ...idUpdates.addIds])];
1432
- if (idUpdates.addIds.length > 0) {
1433
- operationStack.push({
1434
- ids,
1435
- mode,
1436
- layerView
1437
- });
1438
- }
1439
- if (idUpdates.removeIds.length > 0) {
1440
- idUpdates.removeIds = idUpdates.removeIds.filter(id => ids.indexOf(id) < 0);
1441
- }
1442
- }
1443
- else {
1444
- // ids are a result of the drawn geom...so it's possible they could contain ids that do
1445
- // not exist in other selection sets
1446
- const validIds = this.selectionSets.reduce((prev, cur) => {
1447
- ids.forEach(id => {
1448
- if (cur.workflowType !== EWorkflowType.REFINE) {
1449
- if (cur.selectedIds.indexOf(id) > -1) {
1450
- prev.push(id);
1451
- }
1452
- }
1453
- else {
1454
- Object.keys(cur.refineInfos).some(k => {
1455
- const refineInfo = cur.refineInfos[k];
1456
- if (refineInfo.layerView.layer.id === layerView.layer.id && refineInfo.addIds.indexOf(id) > -1) {
1457
- prev.push(id);
1458
- return true;
1459
- }
1460
- });
1461
- }
1462
- });
1463
- return prev;
1464
- }, []);
1465
- idUpdates.removeIds = [...new Set([...validIds, ...idUpdates.removeIds])];
1466
- idUpdates.addIds = idUpdates.addIds.filter(id => validIds.indexOf(id) < 0);
1467
- if (idUpdates.removeIds.length > 0) {
1468
- operationStack.push({
1469
- ids: validIds,
1470
- mode,
1471
- layerView
1472
- });
1473
- }
1474
- this.selectionSets = this.selectionSets.reduce((prev, cur) => {
1475
- if (cur.workflowType !== EWorkflowType.REFINE &&
1476
- cur.layerView.layer.id === layerView.layer.id) {
1477
- cur.selectedIds = cur.selectedIds.filter(id => idUpdates.removeIds.indexOf(id) < 0);
1478
- if (cur.selectedIds.length > 0) {
1479
- prev.push(cur);
1480
- }
1481
- else {
1482
- selectionSetsChanged = true;
1483
- }
1484
- }
1485
- else {
1486
- prev.push(cur);
1487
- }
1488
- return prev;
1489
- }, []);
1490
- }
1491
- this._refineSelectionSet.refineInfos[layerId] = idUpdates;
1492
- this.selectionSets = [...this.selectionSets];
1493
- if (selectionSetsChanged) {
1494
- this.selectionSetsChanged.emit(this.selectionSets);
1495
- }
1496
- await this._highlightFeatures();
1497
- }
1498
- get el() { return getElement(this); }
1499
- };
1114
+ const RefineSelection = class {
1115
+ constructor(hostRef) {
1116
+ registerInstance(this, hostRef);
1117
+ this.selectionLoadingChange = createEvent(this, "selectionLoadingChange", 7);
1118
+ this.selectionSetsChanged = createEvent(this, "selectionSetsChanged", 7);
1119
+ //--------------------------------------------------------------------------
1120
+ //
1121
+ // Properties (protected)
1122
+ //
1123
+ //--------------------------------------------------------------------------
1124
+ /**
1125
+ * boolean: Indicates if any new graphics should be added or removed
1126
+ */
1127
+ this._addEnabled = true;
1128
+ /**
1129
+ * ISelectionSet[]: The current list of selection sets
1130
+ */
1131
+ this._refineSets = [];
1132
+ /**
1133
+ * string[]: The list of all layers that have current selections
1134
+ */
1135
+ this._enabledLayerIds = [];
1136
+ /**
1137
+ * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
1138
+ */
1139
+ this._featuresCollection = {};
1140
+ this.addresseeLayer = undefined;
1141
+ this.enabledLayerIds = [];
1142
+ this.mapView = undefined;
1143
+ this.selectionSets = [];
1144
+ this.sketchLineSymbol = undefined;
1145
+ this.sketchPointSymbol = undefined;
1146
+ this.sketchPolygonSymbol = undefined;
1147
+ this._translations = undefined;
1148
+ this._selectionMode = ESelectionMode.ADD;
1149
+ this._refineLayer = undefined;
1150
+ }
1151
+ //--------------------------------------------------------------------------
1152
+ //
1153
+ // Functions (lifecycle)
1154
+ //
1155
+ //--------------------------------------------------------------------------
1156
+ /**
1157
+ * StencilJS: Called once just after the component is first connected to the DOM.
1158
+ */
1159
+ async componentWillLoad() {
1160
+ await this._getTranslations();
1161
+ this._enabledLayerIds = this._getEnabledLayerIds();
1162
+ await this._setRefineSet(this._enabledLayerIds[0]);
1163
+ }
1164
+ /**
1165
+ * Renders the component.
1166
+ */
1167
+ render() {
1168
+ var _a, _b;
1169
+ const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1170
+ return (h(Host, null, h("div", { class: layerPickerClass + " padding-top-sides-1" }, h("div", { class: "display-flex" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, h("div", { class: "display-flex" }, this._translations.inputLayer, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), 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] })), h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), h("div", { class: "padding-1" }, h("div", { class: "padding-bottom-1" }, h("calcite-segmented-control", { class: "w-100" }, h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, h("span", { class: "font-weight-500" }, this._translations.add)), h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, h("span", { class: "font-weight-500" }, this._translations.remove)))), h("div", null, h("map-draw-tools", { active: true, drawMode: 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 })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1171
+ }
1172
+ //--------------------------------------------------------------------------
1173
+ //
1174
+ // Functions (protected)
1175
+ //
1176
+ //--------------------------------------------------------------------------
1177
+ /**
1178
+ * Set the user selected layer as the current refine layer
1179
+ *
1180
+ * @param evt contains the selected layer id
1181
+ *
1182
+ * @protected
1183
+ */
1184
+ _layerSelectionChange(evt) {
1185
+ const id = evt.detail[0];
1186
+ void this._setRefineSet(id);
1187
+ }
1188
+ /**
1189
+ * Store the current selection mode
1190
+ *
1191
+ * @param selectionMode the current selection mode ADD || REMOVE
1192
+ *
1193
+ * @protected
1194
+ */
1195
+ _setSelectionMode(selectionMode) {
1196
+ this._selectionMode = selectionMode;
1197
+ }
1198
+ /**
1199
+ * Select features based on the user drawn geometry
1200
+ *
1201
+ * @param evt ISketchGraphicsChange stores the new graphics and a boolean useOIDs
1202
+ * useOIDs is leveraged in some situations to use the feature OIDs rather than the graphic geometry
1203
+ *
1204
+ * @protected
1205
+ */
1206
+ _sketchGraphicsChanged(evt) {
1207
+ var _a;
1208
+ const geom = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.graphics[0].geometry;
1209
+ void this._selectFeatures(geom);
1210
+ }
1211
+ /**
1212
+ * Get the layer ids for all layers in the selection sets
1213
+ *
1214
+ * @protected
1215
+ */
1216
+ _getEnabledLayerIds() {
1217
+ return this.selectionSets.reduce((prev, cur) => {
1218
+ var _a;
1219
+ const id = (_a = cur === null || cur === void 0 ? void 0 : cur.layerView) === null || _a === void 0 ? void 0 : _a.layer.id;
1220
+ if (id && prev.indexOf(id) < 0) {
1221
+ prev.push(id);
1222
+ }
1223
+ else if (cur.workflowType === EWorkflowType.REFINE) {
1224
+ Object.keys(cur.refineInfos).forEach(k => {
1225
+ if (prev.indexOf(k) < 0) {
1226
+ prev.push(k);
1227
+ }
1228
+ });
1229
+ }
1230
+ return prev;
1231
+ }, []);
1232
+ }
1233
+ /**
1234
+ * Set the refine layer...any adds or removes will be done against this layer
1235
+ *
1236
+ * @param id the id of the layer that should be used as the current refine layer
1237
+ *
1238
+ * @protected
1239
+ */
1240
+ async _setRefineSet(id) {
1241
+ if (!this.selectionSets.some((ss) => {
1242
+ if (ss.workflowType === EWorkflowType.REFINE) {
1243
+ this._refineSelectionSet = ss;
1244
+ return Object.keys(ss.refineInfos).indexOf(id) > -1;
1245
+ }
1246
+ })) {
1247
+ await this._initRefineSet(id, this._refineSelectionSet);
1248
+ }
1249
+ this._refineLayer = this._refineSelectionSet.refineInfos[id].layerView;
1250
+ }
1251
+ /**
1252
+ * Initialize the refine selection set
1253
+ *
1254
+ * @param id the layer id to use for the refine selection set
1255
+ * @param selectionSet the current refine selection set
1256
+ *
1257
+ * @protected
1258
+ */
1259
+ async _initRefineSet(id, selectionSet) {
1260
+ const refineInfo = {};
1261
+ refineInfo[id] = {
1262
+ addIds: [],
1263
+ removeIds: [],
1264
+ layerView: await getFeatureLayerView(this.mapView, id)
1265
+ };
1266
+ if (selectionSet) {
1267
+ selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
1268
+ }
1269
+ else {
1270
+ this._refineSelectionSet = {
1271
+ id: Date.now(),
1272
+ searchResult: undefined,
1273
+ buffer: undefined,
1274
+ distance: 0,
1275
+ download: true,
1276
+ unit: "feet",
1277
+ label: "Refine",
1278
+ selectedIds: [],
1279
+ layerView: undefined,
1280
+ geometries: [],
1281
+ graphics: [],
1282
+ selectLayers: [],
1283
+ workflowType: EWorkflowType.REFINE,
1284
+ searchDistanceEnabled: false,
1285
+ useLayerFeaturesEnabled: false,
1286
+ refineInfos: refineInfo,
1287
+ redoStack: [],
1288
+ undoStack: [],
1289
+ sketchGraphic: undefined
1290
+ };
1291
+ this.selectionSets.push(this._refineSelectionSet);
1292
+ }
1293
+ }
1294
+ /**
1295
+ * Undo the most current ADD or REMOVE operation
1296
+ *
1297
+ * @returns Promise resolving when function is done
1298
+ *
1299
+ * @protected
1300
+ */
1301
+ _undo() {
1302
+ const undoOp = this._refineSelectionSet.undoStack.pop();
1303
+ void this._updateIds(undoOp.ids, undoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD, this._refineSelectionSet.redoStack, undoOp.layerView);
1304
+ }
1305
+ /**
1306
+ * Redo the most current ADD or REMOVE operation
1307
+ *
1308
+ * @returns Promise resolving when function is done
1309
+ *
1310
+ * @protected
1311
+ */
1312
+ _redo() {
1313
+ const redoOp = this._refineSelectionSet.redoStack.pop();
1314
+ void this._updateIds(redoOp.ids, redoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD, this._refineSelectionSet.undoStack, redoOp.layerView);
1315
+ }
1316
+ /**
1317
+ * Create a list to show the number added/removed/total unique selected
1318
+ *
1319
+ * @returns the list node
1320
+ * @protected
1321
+ */
1322
+ _getRefineSelectionSetList() {
1323
+ const total = this._getTotal(this.selectionSets);
1324
+ let refineSet;
1325
+ this.selectionSets.some(ss => {
1326
+ if (ss.workflowType === EWorkflowType.REFINE) {
1327
+ refineSet = ss;
1328
+ return true;
1329
+ }
1330
+ });
1331
+ let numAdded = 0;
1332
+ let numRemoved = 0;
1333
+ Object.keys(refineSet.refineInfos).forEach(k => {
1334
+ numAdded += refineSet.refineInfos[k].addIds.length;
1335
+ numRemoved += refineSet.refineInfos[k].removeIds.length;
1336
+ });
1337
+ return [(h("calcite-list-item", { label: this._translations.featuresAdded.replace("{{n}}", numAdded.toString()), "non-interactive": true })), (h("calcite-list-item", { label: this._translations.featuresRemoved.replace("{{n}}", numRemoved.toString()), "non-interactive": true })), (h("calcite-list-item", { label: this._translations.totalSelected.replace("{{n}}", total.toString()), "non-interactive": true }))];
1338
+ }
1339
+ /**
1340
+ * Get the total number od ids across all selection sets
1341
+ *
1342
+ * @returns the total number of ids
1343
+ * @protected
1344
+ */
1345
+ _getTotal(selectionSets) {
1346
+ const idSets = getIdSets(selectionSets);
1347
+ return Object.keys(idSets).reduce((prev, cur) => {
1348
+ const idSet = idSets[cur];
1349
+ prev += idSet.ids.length;
1350
+ return prev;
1351
+ }, 0);
1352
+ }
1353
+ /**
1354
+ * Fetches the component's translations
1355
+ *
1356
+ * @protected
1357
+ */
1358
+ async _getTranslations() {
1359
+ const translations = await getLocaleComponentStrings(this.el);
1360
+ this._translations = translations[0];
1361
+ }
1362
+ /**
1363
+ * Select features based on the input geometry
1364
+ *
1365
+ * @param geom the geometry used for selection
1366
+ *
1367
+ * @returns Promise resolving when function is done
1368
+ *
1369
+ * @protected
1370
+ */
1371
+ async _selectFeatures(geom) {
1372
+ var _a, _b;
1373
+ this.selectionLoadingChange.emit(true);
1374
+ this._featuresCollection[(_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id] = [];
1375
+ const response = await queryFeaturesByGeometry(0, (_b = this._refineLayer) === null || _b === void 0 ? void 0 : _b.layer, geom, this._featuresCollection);
1376
+ this.selectionLoadingChange.emit(false);
1377
+ let graphics = [];
1378
+ Object.keys(response).forEach(k => {
1379
+ var _a;
1380
+ if (k === ((_a = this._refineLayer) === null || _a === void 0 ? void 0 : _a.layer.id)) {
1381
+ graphics = graphics.concat(response[k]);
1382
+ }
1383
+ });
1384
+ 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]; }) : [];
1385
+ await this._updateIds(oids, this._selectionMode, this._refineSelectionSet.undoStack, this._refineLayer);
1386
+ this._drawTools.clear();
1387
+ }
1388
+ /**
1389
+ * Highlight any selected features in the map
1390
+ *
1391
+ * @returns Promise resolving when function is done
1392
+ * @protected
1393
+ */
1394
+ async _highlightFeatures() {
1395
+ this._clearHighlight();
1396
+ state.highlightHandles = await highlightAllFeatures(this.selectionSets);
1397
+ }
1398
+ /**
1399
+ * Clear any highlighted features in the map
1400
+ *
1401
+ * @protected
1402
+ */
1403
+ _clearHighlight() {
1404
+ state.removeHandles();
1405
+ }
1406
+ /**
1407
+ * Update the ids for any ADD or REMOVE operation and highlight the features.
1408
+ *
1409
+ * @param oids the ids to add or remove
1410
+ * @param mode ADD or REMOVE this will control if the ids are added or removed
1411
+ * @param operationStack the undo or redo stack to push the operation to
1412
+ * @param operationMode ADD or REMOVE the mode of the individual refine operation
1413
+ *
1414
+ * @returns Promise resolving when function is done
1415
+ *
1416
+ * @protected
1417
+ */
1418
+ async _updateIds(ids, mode, operationStack, layerView) {
1419
+ let selectionSetsChanged = false;
1420
+ const refineInfos = this._refineSelectionSet.refineInfos;
1421
+ const layerId = layerView.layer.id;
1422
+ const newRefineInfo = {};
1423
+ newRefineInfo[layerId] = {
1424
+ addIds: [],
1425
+ removeIds: [],
1426
+ layerView
1427
+ };
1428
+ const idUpdates = Object.keys(refineInfos).indexOf(layerId) > -1 ?
1429
+ refineInfos[layerId] : newRefineInfo[layerId];
1430
+ if (mode === ESelectionMode.ADD) {
1431
+ idUpdates.addIds = [...new Set([...ids, ...idUpdates.addIds])];
1432
+ if (idUpdates.addIds.length > 0) {
1433
+ operationStack.push({
1434
+ ids,
1435
+ mode,
1436
+ layerView
1437
+ });
1438
+ }
1439
+ if (idUpdates.removeIds.length > 0) {
1440
+ idUpdates.removeIds = idUpdates.removeIds.filter(id => ids.indexOf(id) < 0);
1441
+ }
1442
+ }
1443
+ else {
1444
+ // ids are a result of the drawn geom...so it's possible they could contain ids that do
1445
+ // not exist in other selection sets
1446
+ const validIds = this.selectionSets.reduce((prev, cur) => {
1447
+ ids.forEach(id => {
1448
+ if (cur.workflowType !== EWorkflowType.REFINE) {
1449
+ if (cur.selectedIds.indexOf(id) > -1) {
1450
+ prev.push(id);
1451
+ }
1452
+ }
1453
+ else {
1454
+ Object.keys(cur.refineInfos).some(k => {
1455
+ const refineInfo = cur.refineInfos[k];
1456
+ if (refineInfo.layerView.layer.id === layerView.layer.id && refineInfo.addIds.indexOf(id) > -1) {
1457
+ prev.push(id);
1458
+ return true;
1459
+ }
1460
+ });
1461
+ }
1462
+ });
1463
+ return prev;
1464
+ }, []);
1465
+ idUpdates.removeIds = [...new Set([...validIds, ...idUpdates.removeIds])];
1466
+ idUpdates.addIds = idUpdates.addIds.filter(id => validIds.indexOf(id) < 0);
1467
+ if (idUpdates.removeIds.length > 0) {
1468
+ operationStack.push({
1469
+ ids: validIds,
1470
+ mode,
1471
+ layerView
1472
+ });
1473
+ }
1474
+ this.selectionSets = this.selectionSets.reduce((prev, cur) => {
1475
+ if (cur.workflowType !== EWorkflowType.REFINE &&
1476
+ cur.layerView.layer.id === layerView.layer.id) {
1477
+ cur.selectedIds = cur.selectedIds.filter(id => idUpdates.removeIds.indexOf(id) < 0);
1478
+ if (cur.selectedIds.length > 0) {
1479
+ prev.push(cur);
1480
+ }
1481
+ else {
1482
+ selectionSetsChanged = true;
1483
+ }
1484
+ }
1485
+ else {
1486
+ prev.push(cur);
1487
+ }
1488
+ return prev;
1489
+ }, []);
1490
+ }
1491
+ this._refineSelectionSet.refineInfos[layerId] = idUpdates;
1492
+ this.selectionSets = [...this.selectionSets];
1493
+ if (selectionSetsChanged) {
1494
+ this.selectionSetsChanged.emit(this.selectionSets);
1495
+ }
1496
+ await this._highlightFeatures();
1497
+ }
1498
+ get el() { return getElement(this); }
1499
+ };
1500
1500
  RefineSelection.style = refineSelectionCss;
1501
1501
 
1502
1502
  export { MapSelectTools as map_select_tools, PdfDownload as pdf_download, RefineSelection as refine_selection };