@esri/solutions-components 0.6.7 → 0.6.8

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