@esri/solutions-components 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/dist/cjs/buffer-tools_6.cjs.entry.js +8 -5
  2. package/dist/cjs/calcite-combobox_3.cjs.entry.js +2 -2
  3. package/dist/cjs/calcite-input-message_5.cjs.entry.js +6 -4
  4. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -2
  5. package/dist/cjs/{csvUtils-83af7ae1.js → csvUtils-34666909.js} +1 -1
  6. package/dist/cjs/{interfaces-772edf61.js → interfaces-17c631bf.js} +1 -1
  7. package/dist/cjs/layer-table.cjs.entry.js +3 -3
  8. package/dist/cjs/map-card.cjs.entry.js +1 -1
  9. package/dist/cjs/{mapViewUtils-55ac76cb.js → mapViewUtils-24d1d859.js} +1 -1
  10. package/dist/cjs/public-notification.cjs.entry.js +16 -10
  11. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  12. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  13. package/dist/cjs/{solution-store-39726b81.js → solution-store-2dbab624.js} +1 -1
  14. package/dist/collection/components/buffer-tools/buffer-tools.js +2 -2
  15. package/dist/collection/components/map-draw-tools/map-draw-tools.js +2 -1
  16. package/dist/collection/components/public-notification/public-notification.js +14 -8
  17. package/dist/collection/components/refine-selection/refine-selection.js +4 -2
  18. package/dist/collection/components/refine-selection-tools/refine-selection-tools.css +1 -0
  19. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +3 -1
  20. package/dist/collection/demos/new-public-notification.html +2 -1
  21. package/dist/collection/utils/interfaces.js +1 -1
  22. package/dist/collection/utils/interfaces.ts +2 -2
  23. package/dist/components/interfaces3.js +1 -1
  24. package/dist/components/map-draw-tools2.js +2 -1
  25. package/dist/components/public-notification.js +14 -8
  26. package/dist/components/refine-selection-tools2.js +4 -2
  27. package/dist/components/refine-selection2.js +4 -2
  28. package/dist/esm/buffer-tools_6.entry.js +8 -5
  29. package/dist/esm/calcite-combobox_3.entry.js +2 -2
  30. package/dist/esm/calcite-input-message_5.entry.js +6 -4
  31. package/dist/esm/calcite-shell-panel_14.entry.js +2 -2
  32. package/dist/esm/{csvUtils-eb231cfb.js → csvUtils-ae3004b9.js} +1 -1
  33. package/dist/esm/{interfaces-3b23a5f9.js → interfaces-d0d83efa.js} +1 -1
  34. package/dist/esm/layer-table.entry.js +3 -3
  35. package/dist/esm/map-card.entry.js +1 -1
  36. package/dist/esm/{mapViewUtils-e5d8a1e1.js → mapViewUtils-541e7a3c.js} +1 -1
  37. package/dist/esm/public-notification.entry.js +16 -10
  38. package/dist/esm/solution-configuration.entry.js +2 -2
  39. package/dist/esm/solution-contents_3.entry.js +2 -2
  40. package/dist/esm/{solution-store-c0bf9200.js → solution-store-41e15f1c.js} +1 -1
  41. package/dist/solutions-components/demos/new-public-notification.html +2 -1
  42. package/dist/solutions-components/p-05e64bd1.js +498 -2
  43. package/dist/solutions-components/p-08a95b33.entry.js +138 -0
  44. package/dist/solutions-components/p-0da5bbdf.entry.js +91 -0
  45. package/dist/solutions-components/p-0ef91144.entry.js +913 -0
  46. package/dist/solutions-components/p-0f523243.entry.js +1916 -0
  47. package/dist/solutions-components/p-11b9510e.entry.js +173 -0
  48. package/dist/solutions-components/p-1b875d94.entry.js +58 -0
  49. package/dist/solutions-components/p-1c567f3a.js +23 -16
  50. package/dist/solutions-components/p-1c883db9.entry.js +43 -0
  51. package/dist/solutions-components/p-1f225056.js +322 -0
  52. package/dist/solutions-components/p-1f499e67.entry.js +72 -0
  53. package/dist/solutions-components/p-20d3d758.entry.js +881 -0
  54. package/dist/solutions-components/p-2274ac9e.entry.js +160 -0
  55. package/dist/solutions-components/p-23ec5ac5.entry.js +93 -0
  56. package/dist/solutions-components/p-2447798c.entry.js +155 -0
  57. package/dist/solutions-components/p-2525e691.entry.js +432 -0
  58. package/dist/solutions-components/p-2561f5b5.js +4092 -0
  59. package/dist/solutions-components/p-29f887c0.entry.js +234 -0
  60. package/dist/solutions-components/p-2a0d8047.entry.js +345 -0
  61. package/dist/solutions-components/p-2c177e6a.entry.js +101 -0
  62. package/dist/solutions-components/p-2e9ed892.js +46 -1
  63. package/dist/solutions-components/p-316f56db.js +219 -2
  64. package/dist/solutions-components/p-327f3ebf.entry.js +98 -0
  65. package/dist/solutions-components/p-356f8b54.entry.js +138 -0
  66. package/dist/solutions-components/p-359c58de.entry.js +172 -0
  67. package/dist/solutions-components/p-37336c0d.entry.js +116 -0
  68. package/dist/solutions-components/p-374a5031.js +105 -2
  69. package/dist/solutions-components/p-39ea6ef4.entry.js +71 -0
  70. package/dist/solutions-components/p-3b010ce1.js +17 -1
  71. package/dist/solutions-components/p-4307dacd.js +194 -1
  72. package/dist/solutions-components/p-44da2507.js +405 -14
  73. package/dist/solutions-components/p-46bdffe8.entry.js +54 -0
  74. package/dist/solutions-components/p-4894bbeb.js +53 -2
  75. package/dist/solutions-components/p-4cd569f1.entry.js +1298 -0
  76. package/dist/solutions-components/p-4d4160f9.entry.js +121 -0
  77. package/dist/solutions-components/p-4e32bf8c.js +482 -1
  78. package/dist/solutions-components/p-4e9cbd32.entry.js +184 -0
  79. package/dist/solutions-components/p-508317b3.js +13 -2
  80. package/dist/solutions-components/p-54697d58.entry.js +198 -0
  81. package/dist/solutions-components/p-55c79103.entry.js +311 -0
  82. package/dist/solutions-components/p-57fd19c0.entry.js +706 -0
  83. package/dist/solutions-components/p-59b48fde.entry.js +443 -0
  84. package/dist/solutions-components/p-60e0e6a0.entry.js +214 -0
  85. package/dist/solutions-components/p-621d0534.entry.js +123 -0
  86. package/dist/solutions-components/p-63f6e8f1.js +14 -1
  87. package/dist/solutions-components/p-66aeec57.entry.js +61 -0
  88. package/dist/solutions-components/p-69834f46.entry.js +618 -0
  89. package/dist/solutions-components/p-6d9da8e5.entry.js +21530 -0
  90. package/dist/solutions-components/p-6e0da576.js +13 -1
  91. package/dist/solutions-components/p-6ec3f294.entry.js +106 -0
  92. package/dist/solutions-components/p-6fe17794.js +9 -1
  93. package/dist/solutions-components/p-7024cb16.entry.js +72 -0
  94. package/dist/solutions-components/p-70535506.entry.js +226 -0
  95. package/dist/solutions-components/p-708a63a8.js +12 -1
  96. package/dist/solutions-components/p-729708a3.js +14 -1
  97. package/dist/solutions-components/p-73e23995.js +6 -1
  98. package/dist/solutions-components/p-74b29d75.entry.js +231 -0
  99. package/dist/solutions-components/p-74b7ee25.entry.js +711 -0
  100. package/dist/solutions-components/p-77182c3a.js +3015 -1
  101. package/dist/solutions-components/p-78b3ef80.entry.js +456 -0
  102. package/dist/solutions-components/p-79709c19.js +60 -3
  103. package/dist/solutions-components/p-7a46ef97.js +181 -2
  104. package/dist/solutions-components/p-7be159e6.entry.js +175 -0
  105. package/dist/solutions-components/p-7d4451c2.entry.js +71 -0
  106. package/dist/solutions-components/p-7daea1df.js +41 -1
  107. package/dist/solutions-components/p-7e39e5ad.entry.js +102 -0
  108. package/dist/solutions-components/p-7fb45059.entry.js +43 -0
  109. package/dist/solutions-components/p-815533de.js +306 -3
  110. package/dist/solutions-components/p-816622ca.entry.js +248 -0
  111. package/dist/solutions-components/p-83166522.js +205 -2
  112. package/dist/solutions-components/p-83bd1991.entry.js +36 -0
  113. package/dist/solutions-components/p-856464d7.entry.js +572 -0
  114. package/dist/solutions-components/p-8c349bad.entry.js +347 -0
  115. package/dist/solutions-components/p-8dccb390.entry.js +1986 -0
  116. package/dist/solutions-components/p-904c185a.entry.js +228 -0
  117. package/dist/solutions-components/p-9092f8b3.entry.js +156 -0
  118. package/dist/solutions-components/p-9371145a.entry.js +477 -0
  119. package/dist/solutions-components/p-93d3119d.js +1948 -1
  120. package/dist/solutions-components/p-95ec8062.entry.js +173 -0
  121. package/dist/solutions-components/p-991ee695.js +109 -1
  122. package/dist/solutions-components/p-9a57dab7.entry.js +213 -0
  123. package/dist/solutions-components/p-9a9955db.js +41 -1
  124. package/dist/solutions-components/p-9c1ebc90.js +35 -16
  125. package/dist/solutions-components/p-9eba5c66.js +399 -3
  126. package/dist/solutions-components/p-a033a507.entry.js +252 -0
  127. package/dist/solutions-components/p-a3773415.entry.js +1132 -0
  128. package/dist/solutions-components/p-a44fe40f.entry.js +94 -0
  129. package/dist/solutions-components/p-a5b1ab03.js +33 -3
  130. package/dist/solutions-components/p-a5b2c13d.entry.js +723 -0
  131. package/dist/solutions-components/p-a6d729b7.entry.js +85 -0
  132. package/dist/solutions-components/p-a8005026.entry.js +565 -0
  133. package/dist/solutions-components/p-a80b3880.js +14 -1
  134. package/dist/solutions-components/p-a89198a3.entry.js +2620 -0
  135. package/dist/solutions-components/p-aa04bd1f.entry.js +95 -0
  136. package/dist/solutions-components/p-aa0a0922.entry.js +80 -0
  137. package/dist/solutions-components/p-ae1fd76b.js +11 -1
  138. package/dist/solutions-components/p-b2cf435e.entry.js +87 -0
  139. package/dist/solutions-components/p-b359dc78.js +41 -1
  140. package/dist/solutions-components/p-b57bc4eb.entry.js +71 -0
  141. package/dist/solutions-components/p-b75cc407.entry.js +145 -0
  142. package/dist/solutions-components/p-b911cb75.entry.js +71 -0
  143. package/dist/solutions-components/p-b965e177.entry.js +335 -0
  144. package/dist/solutions-components/p-b978636e.js +14 -1
  145. package/dist/solutions-components/p-ba10a5c8.entry.js +42 -0
  146. package/dist/solutions-components/p-bd67334c.js +122 -2
  147. package/dist/solutions-components/p-bde20dba.entry.js +212 -0
  148. package/dist/solutions-components/p-be0b5a94.entry.js +248 -0
  149. package/dist/solutions-components/p-c023e6a1.js +2028 -2
  150. package/dist/solutions-components/p-c27b0c2d.entry.js +150 -0
  151. package/dist/solutions-components/p-c579ed60.entry.js +447 -0
  152. package/dist/solutions-components/p-c92bc231.js +101 -2
  153. package/dist/solutions-components/p-cc815aca.js +839 -16
  154. package/dist/solutions-components/p-cc8beabb.entry.js +695 -0
  155. package/dist/solutions-components/p-cdc46c0c.js +1751 -2
  156. package/dist/solutions-components/p-d12e6992.entry.js +118 -0
  157. package/dist/solutions-components/p-d1dfed6b.entry.js +179 -0
  158. package/dist/solutions-components/p-d48a24e6.js +754 -2
  159. package/dist/solutions-components/p-d96ee3ef.entry.js +579 -0
  160. package/dist/solutions-components/p-dbc9a5a8.js +80 -0
  161. package/dist/solutions-components/p-dcdbe712.entry.js +278 -0
  162. package/dist/solutions-components/p-de39206f.entry.js +113 -0
  163. package/dist/solutions-components/p-de5416e8.js +28 -1
  164. package/dist/solutions-components/p-df420d54.entry.js +213 -0
  165. package/dist/solutions-components/p-e3138cf0.entry.js +20 -0
  166. package/dist/solutions-components/p-e4845fec.entry.js +152 -0
  167. package/dist/solutions-components/p-e611d8c8.js +28 -1
  168. package/dist/solutions-components/p-e947d3b0.js +5 -1
  169. package/dist/solutions-components/p-ea534300.js +41 -2
  170. package/dist/solutions-components/p-ec84ee85.entry.js +55 -0
  171. package/dist/solutions-components/p-ed36c637.entry.js +85 -0
  172. package/dist/solutions-components/p-f0add71c.js +74 -0
  173. package/dist/solutions-components/p-f42e014b.js +171 -2
  174. package/dist/solutions-components/p-fc02e7de.entry.js +308 -0
  175. package/dist/solutions-components/p-fc884dd6.js +28 -16
  176. package/dist/solutions-components/p-fcbfa59c.entry.js +181 -0
  177. package/dist/solutions-components/p-fdc5cf5f.entry.js +138 -0
  178. package/dist/solutions-components/solutions-components.esm.js +20 -1
  179. package/dist/solutions-components/utils/interfaces.ts +2 -2
  180. package/dist/types/components/buffer-tools/buffer-tools.d.ts +2 -2
  181. package/dist/types/components/public-notification/public-notification.d.ts +9 -1
  182. package/dist/types/components.d.ts +2 -2
  183. package/package.json +1 -1
  184. package/dist/solutions-components/p-021432b8.entry.js +0 -12
  185. package/dist/solutions-components/p-03440b1e.entry.js +0 -11
  186. package/dist/solutions-components/p-0512635b.entry.js +0 -6
  187. package/dist/solutions-components/p-086ef115.entry.js +0 -29
  188. package/dist/solutions-components/p-0b4bf57f.entry.js +0 -6
  189. package/dist/solutions-components/p-0c088725.entry.js +0 -6
  190. package/dist/solutions-components/p-0f820c08.entry.js +0 -6
  191. package/dist/solutions-components/p-164780a0.entry.js +0 -6
  192. package/dist/solutions-components/p-179a68a0.entry.js +0 -6
  193. package/dist/solutions-components/p-184b5005.entry.js +0 -11
  194. package/dist/solutions-components/p-1d082fee.entry.js +0 -11
  195. package/dist/solutions-components/p-1e6c02a2.entry.js +0 -11
  196. package/dist/solutions-components/p-20a58e62.entry.js +0 -17
  197. package/dist/solutions-components/p-20b2458c.entry.js +0 -11
  198. package/dist/solutions-components/p-245d47c1.entry.js +0 -6
  199. package/dist/solutions-components/p-2cb057a9.entry.js +0 -11
  200. package/dist/solutions-components/p-2cc72806.entry.js +0 -23
  201. package/dist/solutions-components/p-2de1db9c.entry.js +0 -11
  202. package/dist/solutions-components/p-2e9c7055.entry.js +0 -11
  203. package/dist/solutions-components/p-2ed5e6c8.entry.js +0 -11
  204. package/dist/solutions-components/p-3109d940.entry.js +0 -6
  205. package/dist/solutions-components/p-31a8bcfa.entry.js +0 -6
  206. package/dist/solutions-components/p-3649acb3.entry.js +0 -18
  207. package/dist/solutions-components/p-3f88ba73.entry.js +0 -6
  208. package/dist/solutions-components/p-3fa9b3c8.js +0 -36
  209. package/dist/solutions-components/p-40c41709.entry.js +0 -6
  210. package/dist/solutions-components/p-40e963c7.entry.js +0 -11
  211. package/dist/solutions-components/p-40f480da.entry.js +0 -11
  212. package/dist/solutions-components/p-49d5d2d3.entry.js +0 -11
  213. package/dist/solutions-components/p-4f7049a4.entry.js +0 -11
  214. package/dist/solutions-components/p-506e4d78.entry.js +0 -6
  215. package/dist/solutions-components/p-576fdcab.entry.js +0 -6
  216. package/dist/solutions-components/p-5bd0cf34.entry.js +0 -23
  217. package/dist/solutions-components/p-65e177f1.entry.js +0 -6
  218. package/dist/solutions-components/p-67d710c2.entry.js +0 -6
  219. package/dist/solutions-components/p-7268b445.entry.js +0 -11
  220. package/dist/solutions-components/p-75ea4667.entry.js +0 -6
  221. package/dist/solutions-components/p-778c0a36.entry.js +0 -17
  222. package/dist/solutions-components/p-7a22509b.entry.js +0 -12
  223. package/dist/solutions-components/p-7bff51db.entry.js +0 -6
  224. package/dist/solutions-components/p-7d2d0d5d.entry.js +0 -6
  225. package/dist/solutions-components/p-7f0036f1.entry.js +0 -11
  226. package/dist/solutions-components/p-8060fb94.entry.js +0 -6
  227. package/dist/solutions-components/p-80a1b305.entry.js +0 -6
  228. package/dist/solutions-components/p-81eae877.entry.js +0 -12
  229. package/dist/solutions-components/p-84e86b8b.entry.js +0 -6
  230. package/dist/solutions-components/p-851e04ae.entry.js +0 -6
  231. package/dist/solutions-components/p-9106950a.entry.js +0 -11
  232. package/dist/solutions-components/p-979804a4.entry.js +0 -11
  233. package/dist/solutions-components/p-9862baa8.entry.js +0 -11
  234. package/dist/solutions-components/p-9b5a9117.entry.js +0 -12
  235. package/dist/solutions-components/p-9deff0c2.entry.js +0 -6
  236. package/dist/solutions-components/p-9f400eeb.entry.js +0 -6
  237. package/dist/solutions-components/p-a0639ad1.entry.js +0 -11
  238. package/dist/solutions-components/p-a33c044e.entry.js +0 -6
  239. package/dist/solutions-components/p-a516c658.entry.js +0 -6
  240. package/dist/solutions-components/p-aa0ef36d.entry.js +0 -11
  241. package/dist/solutions-components/p-aaccbdf3.entry.js +0 -18
  242. package/dist/solutions-components/p-ab03a5c9.entry.js +0 -11
  243. package/dist/solutions-components/p-ad469b92.entry.js +0 -11
  244. package/dist/solutions-components/p-adc86ac3.entry.js +0 -6
  245. package/dist/solutions-components/p-addc1156.entry.js +0 -11
  246. package/dist/solutions-components/p-ae846934.entry.js +0 -11
  247. package/dist/solutions-components/p-b0572fc4.entry.js +0 -37
  248. package/dist/solutions-components/p-b4e476b7.js +0 -257
  249. package/dist/solutions-components/p-b668daf8.js +0 -21
  250. package/dist/solutions-components/p-b6e6eae1.entry.js +0 -6
  251. package/dist/solutions-components/p-bc317a7f.entry.js +0 -6
  252. package/dist/solutions-components/p-be41429f.js +0 -21
  253. package/dist/solutions-components/p-bf6b6353.entry.js +0 -11
  254. package/dist/solutions-components/p-c2e3dfbb.entry.js +0 -11
  255. package/dist/solutions-components/p-c4afae53.entry.js +0 -12
  256. package/dist/solutions-components/p-c9da1c26.entry.js +0 -6
  257. package/dist/solutions-components/p-cbf8cd49.entry.js +0 -6
  258. package/dist/solutions-components/p-cc1a064a.entry.js +0 -11
  259. package/dist/solutions-components/p-d09a168c.entry.js +0 -6
  260. package/dist/solutions-components/p-d377f913.entry.js +0 -11
  261. package/dist/solutions-components/p-d4cefead.entry.js +0 -37
  262. package/dist/solutions-components/p-d7bc0baf.entry.js +0 -16
  263. package/dist/solutions-components/p-d8968487.entry.js +0 -11
  264. package/dist/solutions-components/p-e00a0b86.entry.js +0 -11
  265. package/dist/solutions-components/p-e9a7ed49.entry.js +0 -11
  266. package/dist/solutions-components/p-ec27e493.entry.js +0 -11
  267. package/dist/solutions-components/p-ed6404eb.entry.js +0 -6
  268. package/dist/solutions-components/p-ef21e195.entry.js +0 -23
  269. package/dist/solutions-components/p-f6068a2d.entry.js +0 -11
  270. package/dist/solutions-components/p-f6c4cff3.entry.js +0 -11
  271. package/dist/solutions-components/p-f847291f.entry.js +0 -6
  272. package/dist/solutions-components/p-f90fd262.entry.js +0 -11
  273. package/dist/solutions-components/p-fc973005.entry.js +0 -6
  274. package/dist/solutions-components/p-ff9fb6bc.entry.js +0 -11
@@ -0,0 +1,695 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './p-c023e6a1.js';
7
+ import { b as EPageType, c as ESketchType, E as EWorkflowType, d as EExportType } from './p-dbc9a5a8.js';
8
+ import { l as loadModules } from './p-1c567f3a.js';
9
+ import { a as getMapLayerView, c as getSelectionSetQuery, g as goToSelection, h as highlightFeatures } from './p-1f225056.js';
10
+ import { s as state } from './p-9c1ebc90.js';
11
+ import { g as getLocaleComponentStrings } from './p-44da2507.js';
12
+ import { g as getTotal, a as getSelectionIds } from './p-fc884dd6.js';
13
+ import './p-4307dacd.js';
14
+ import './p-3b010ce1.js';
15
+
16
+ const publicNotificationCss = ":host{display:block;--calcite-input-message-spacing-value:0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-3{width:33.3%}.w-1-4{width:25%}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-top-sides-1{-webkit-padding-before:1rem;padding-block-start:1rem;-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-sides-1{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-end-1-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.padding-top-1-2{-webkit-padding-before:.5rem;padding-block-start:.5rem}.padding-top-1{padding-top:1rem}.padding-bottom-1{padding-bottom:1rem}.info-blue{color:#00A0FF}.info-message{justify-content:center;display:grid}.font-bold{font-weight:bold}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.main-label{float:left}html[dir=\"rtl\"] .main-label{float:right}.back-label:hover{cursor:pointer;color:var(--calcite-ui-brand-hover)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.margin-side-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.border-top{border-top:1px solid var(--calcite-ui-border-2)}.w-100{width:100%}.w-50{width:50%}.padding-1-2{padding:0.5rem}.list-border{border:1px solid var(--calcite-ui-border-2)}.margin-sides-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.margin-start-1-2{-webkit-margin-start:0.5rem;margin-inline-start:0.5rem}.float-right{float:right}.float-right[dir=\"rtl\"]{float:left}.float-left{float:left}.float-left[dir=\"rtl\"]{float:right}.margin-top-0{-webkit-margin-before:0 !important;margin-block-start:0 !important}.height-1-1-2{height:1.5rem}.main-background{background-color:var(--calcite-ui-foreground-2)}.num-selected{align-items:center;display:flex}";
17
+
18
+ const PublicNotification = class {
19
+ constructor(hostRef) {
20
+ registerInstance(this, hostRef);
21
+ this.labelChange = createEvent(this, "labelChange", 7);
22
+ this.addresseeLayerIds = [];
23
+ this.bufferColor = [227, 139, 79, 0.8];
24
+ this.bufferOutlineColor = [255, 255, 255];
25
+ this.customLabelEnabled = undefined;
26
+ this.defaultBufferDistance = undefined;
27
+ this.defaultBufferUnit = undefined;
28
+ this.exportOptions = undefined;
29
+ this.featureEffect = undefined;
30
+ this.featureHighlightEnabled = undefined;
31
+ this.mapView = undefined;
32
+ this.noResultText = undefined;
33
+ this.searchConfiguration = undefined;
34
+ this.selectionLayerIds = [];
35
+ this.showRefineSelection = false;
36
+ this.showSearchSettings = true;
37
+ this.addresseeLayer = undefined;
38
+ this._downloadActive = true;
39
+ this._numSelected = 0;
40
+ this._pageType = EPageType.LIST;
41
+ this._saveEnabled = false;
42
+ this._selectionSets = [];
43
+ this._sketchType = ESketchType.INTERACTIVE;
44
+ this._selectionWorkflowType = EWorkflowType.SEARCH;
45
+ this._showLayerSelectionChangeModal = false;
46
+ this._translations = undefined;
47
+ }
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Watch handlers
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ /**
54
+ * Called each time the mapView prop is changed.
55
+ */
56
+ async mapViewWatchHandler(v) {
57
+ if (v === null || v === void 0 ? void 0 : v.popup) {
58
+ this._popupsEnabled = v === null || v === void 0 ? void 0 : v.popup.autoOpenEnabled;
59
+ }
60
+ }
61
+ /**
62
+ * Called each time the selectionSets prop is changed.
63
+ */
64
+ async selectionSetsWatchHandler(v, oldV) {
65
+ if (v && v !== oldV && v.length > 0) {
66
+ const nonRefineSets = v.filter(ss => ss.workflowType !== EWorkflowType.REFINE);
67
+ if (nonRefineSets.length === 0) {
68
+ this._selectionSets = [];
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Called each time the pageType prop is changed.
74
+ */
75
+ async pageTypeWatchHandler(pageType, oldPageType) {
76
+ this._checkPopups();
77
+ this._clearHighlight();
78
+ if (oldPageType === EPageType.SELECT || oldPageType === EPageType.REFINE) {
79
+ // clear any draw shapes or buffers
80
+ await this._clearSelection();
81
+ }
82
+ if (pageType !== EPageType.SELECT) {
83
+ return this._highlightFeatures();
84
+ }
85
+ }
86
+ /**
87
+ * Handle changes to the buffer distance value
88
+ */
89
+ distanceChanged(event) {
90
+ this._updateLabel(event, "distance");
91
+ this._distance = event.detail.newValue;
92
+ }
93
+ /**
94
+ * Handle changes to the selection sets
95
+ */
96
+ selectionSetsChanged(event) {
97
+ this._selectionSets = [...event.detail];
98
+ }
99
+ /**
100
+ * Handle changes to the selection sets
101
+ */
102
+ sketchTypeChange(event) {
103
+ this._sketchType = event.detail;
104
+ }
105
+ /**
106
+ * Handle changes to the buffer unit
107
+ */
108
+ unitChanged(event) {
109
+ this._updateLabel(event, "unit");
110
+ this._unit = event.detail.newValue;
111
+ }
112
+ //--------------------------------------------------------------------------
113
+ //
114
+ // Functions (lifecycle)
115
+ //
116
+ //--------------------------------------------------------------------------
117
+ /**
118
+ * StencilJS: Called once just after the component is first connected to the DOM.
119
+ */
120
+ async componentWillLoad() {
121
+ await this._getTranslations();
122
+ await this._initModules();
123
+ }
124
+ /**
125
+ * Renders the component.
126
+ */
127
+ render() {
128
+ var _a, _b, _c, _d, _e, _f;
129
+ const hasSelections = this._selectionSets.length > 0;
130
+ const csvEnabled = typeof ((_b = (_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.csvOptions) === null || _b === void 0 ? void 0 : _b.enabled) === "boolean" ?
131
+ (_c = this.exportOptions) === null || _c === void 0 ? void 0 : _c.csvOptions.enabled : true;
132
+ const pdfEnabled = typeof ((_e = (_d = this.exportOptions) === null || _d === void 0 ? void 0 : _d.pdfOptions) === null || _e === void 0 ? void 0 : _e.enabled) === "boolean" ?
133
+ (_f = this.exportOptions) === null || _f === void 0 ? void 0 : _f.pdfOptions.enabled : true;
134
+ return (h(Host, null, h("calcite-shell", null, h("calcite-action-bar", { class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: "header" }, this._getActionGroup("list-check", false, EPageType.LIST, this._translations.myLists), this.showRefineSelection ? this._getActionGroup("test-data", !hasSelections, EPageType.REFINE, this._translations.refineSelection) : undefined, pdfEnabled ? this._getActionGroup("file-pdf", !hasSelections, EPageType.PDF, this._translations.downloadPDF) : undefined, csvEnabled ? this._getActionGroup("file-csv", !hasSelections, EPageType.CSV, this._translations.downloadCSV) : undefined), this._getPage(this._pageType))));
135
+ }
136
+ //--------------------------------------------------------------------------
137
+ //
138
+ // Functions (protected)
139
+ //
140
+ //--------------------------------------------------------------------------
141
+ /**
142
+ * Load esri javascript api modules
143
+ *
144
+ * @returns Promise resolving when function is done
145
+ *
146
+ * @protected
147
+ */
148
+ async _initModules() {
149
+ const [geometryEngine] = await loadModules([
150
+ "esri/geometry/geometryEngine"
151
+ ]);
152
+ this._geometryEngine = geometryEngine;
153
+ }
154
+ /**
155
+ * Get a calcite action group for the current action
156
+ *
157
+ * @param icon the icon to display for the current action
158
+ * @param disabled should the action be disabled
159
+ * @param pageType what page type will the action navigate to
160
+ * @param tip information tip to display helpful details to end user
161
+ *
162
+ * @protected
163
+ */
164
+ _getActionGroup(icon, disabled, pageType, tip) {
165
+ const groupClass = this.showRefineSelection ? "action-center w-1-4" : "action-center w-1-3";
166
+ return (h("calcite-action-group", { class: groupClass, layout: "horizontal" }, h("calcite-action", { active: this._pageType === pageType, alignment: "center", class: "width-full height-full", compact: false, disabled: disabled, icon: icon, id: icon, onClick: () => { this._setPageType(pageType); }, text: "" }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, tip))));
167
+ }
168
+ /**
169
+ * Navigate to the defined page type
170
+ *
171
+ * @param pageType what page type will the action navigate to
172
+ *
173
+ * @protected
174
+ */
175
+ _setPageType(pageType) {
176
+ this._pageType = pageType;
177
+ }
178
+ /**
179
+ * Navigate to the defined page type
180
+ *
181
+ * @param pageType what page type will the action navigate to
182
+ *
183
+ * @returns the page node
184
+ * @protected
185
+ */
186
+ _getPage(pageType) {
187
+ let page;
188
+ switch (pageType) {
189
+ case EPageType.LIST:
190
+ page = this._getListPage();
191
+ break;
192
+ case EPageType.SELECT:
193
+ page = this._getSelectPage();
194
+ break;
195
+ case EPageType.REFINE:
196
+ page = this._getRefinePage();
197
+ break;
198
+ case EPageType.PDF:
199
+ page = this._getPDFPage();
200
+ break;
201
+ case EPageType.CSV:
202
+ page = this._getCSVPage();
203
+ break;
204
+ }
205
+ return page;
206
+ }
207
+ /**
208
+ * Create the List page that shows as the initial home screen
209
+ * This page is also used to show and selection sets that have been created
210
+ *
211
+ * @returns the page node
212
+ * @protected
213
+ */
214
+ _getListPage() {
215
+ const hasSets = this._selectionSets.filter(ss => ss.workflowType !== EWorkflowType.REFINE).length > 0;
216
+ const total = getTotal(this._selectionSets);
217
+ return hasSets ? (h("calcite-panel", null, h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "font-bold" }, this._translations.myLists)), this._getNotice(this._translations.listHasSetsTip, "padding-sides-1 padding-bottom-1"), this._getMapLayerPicker(), h("div", { class: "display-block padding-sides-1 height-1-1-2" }, h("div", { class: "display-block float-left" }, h("calcite-label", { alignment: "start", class: "font-bold" }, this._translations.notifications)), h("div", { class: "display-block float-right" }, h("calcite-input-message", { active: true, class: "info-blue margin-top-0", scale: "m" }, this._translations.uniqueCout.replace("{{n}}", total.toString())))), hasSets ? this._getSelectionSetList() : (h("div", { class: "info-message" }, h("calcite-input-message", { active: true, class: "info-blue", scale: "m" }, this._translations.noNotifications))), h("div", { class: "display-flex padding-1" }, h("calcite-button", { onClick: () => { this._setPageType(EPageType.SELECT); }, width: "full" }, this._translations.add)), this._showModal(this._showLayerSelectionChangeModal))) : (h("calcite-panel", null, h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "font-bold" }, this._translations.myLists)), h("div", { class: "padding-sides-1" }, h("calcite-label", null, this._translations.notifications)), h("div", { class: "info-message padding-bottom-1" }, h("calcite-input-message", { active: true, class: "info-blue", scale: "m" }, this._translations.noNotifications)), this._getNotice(this._translations.selectLayerAndAdd, "padding-sides-1 padding-bottom-1"), this._getMapLayerPicker(), h("div", { class: "display-flex padding-1" }, h("calcite-button", { onClick: () => { this._setPageType(EPageType.SELECT); }, width: "full" }, this._translations.add))));
218
+ }
219
+ /**
220
+ * Create the UI element that will expose the addressee layers
221
+ *
222
+ * @returns addressee layer list node
223
+ * @protected
224
+ */
225
+ _getMapLayerPicker() {
226
+ var _a;
227
+ return (h("div", { class: "display-flex padding-sides-1" }, h("calcite-label", { class: "font-bold width-full" }, this._translations.addresseeLayer, h("map-layer-picker", { enabledLayerIds: this.addresseeLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChange(evt), selectedLayerIds: this.addresseeLayer ? [(_a = this.addresseeLayer) === null || _a === void 0 ? void 0 : _a.layer.id] : [], selectionMode: "single" }))));
228
+ }
229
+ /**
230
+ * Create the selection sets list node for the List page
231
+ *
232
+ * @returns selection sets list node
233
+ * @protected
234
+ */
235
+ _getSelectionSetList() {
236
+ return (h("calcite-list", { class: "list-border margin-sides-1" },
237
+ // REFINE is handled seperately from the core selection sets
238
+ // You can only access after clicking the refine action
239
+ this._selectionSets.reduce((prev, cur, i) => {
240
+ if (cur.workflowType !== EWorkflowType.REFINE) {
241
+ prev.push((h("calcite-list-item", { description: this._translations.selectedFeatures.replace("{{n}}", cur.selectedIds.length.toString()), label: cur.label, onClick: () => this._gotoSelection(cur, this.mapView) }, this._getAction(true, "pencil", "", (evt) => this._openSelection(cur, evt), false, "actions-end"), this._getAction(true, "x", "", (evt) => this._deleteSelection(i, evt), false, "actions-end"))));
242
+ }
243
+ return prev;
244
+ }, [])));
245
+ }
246
+ /**
247
+ * Alert the user of the potential change to the selection sets and ask if they would like to proceed.
248
+ *
249
+ * @returns the page node
250
+ * @protected
251
+ */
252
+ _showModal(open) {
253
+ return (h("calcite-modal", { "aria-labelledby": "modal-title", "background-color": "grey", color: "red", open: open, scale: "s", width: "s" }, h("div", { id: "modal-title", slot: "header" }, this._translations.shouldProceed), h("div", { slot: "content" }, this._translations.proceedInfo), h("calcite-button", { appearance: "outline", onClick: () => this._cancelLayerChange(), slot: "secondary", width: "full" }, this._translations.cancel), h("calcite-button", { onClick: () => this._handleLayerChange(), slot: "primary", width: "full" }, this._translations.proceed)));
254
+ }
255
+ /**
256
+ * Prevent the default behavior of layer selection change and close the modal.
257
+ *
258
+ * @returns the page node
259
+ * @protected
260
+ */
261
+ _cancelLayerChange() {
262
+ this._layerSelectionChangeEvt.preventDefault();
263
+ this._layerSelectionChangeEvt.stopPropagation();
264
+ this._layerSelectionChangeEvt = undefined;
265
+ this._showLayerSelectionChangeModal = false;
266
+ }
267
+ /**
268
+ * Allow the default behavior of layer selection change and close the modal.
269
+ *
270
+ * @returns the page node
271
+ * @protected
272
+ */
273
+ async _handleLayerChange() {
274
+ var _a, _b;
275
+ this._showLayerSelectionChangeModal = false;
276
+ const id = ((_b = (_a = this._layerSelectionChangeEvt) === null || _a === void 0 ? void 0 : _a.detail) === null || _b === void 0 ? void 0 : _b.length) > 0 ?
277
+ this._layerSelectionChangeEvt.detail[0] : "";
278
+ await this._updateAddresseeLayer(id);
279
+ }
280
+ /**
281
+ * Create the Select page that shows the selection workflows
282
+ *
283
+ * @returns the page node
284
+ * @protected
285
+ */
286
+ _getSelectPage() {
287
+ var _a, _b;
288
+ const searchTip = this._translations.selectSearchTip;
289
+ const selectTip = this._translations.selectLayerTip;
290
+ const sketchTip = this._sketchType === ESketchType.INTERACTIVE ?
291
+ this._translations.selectSketchTip :
292
+ this._translations.selectLayerTip;
293
+ const noticeText = this._selectionWorkflowType === EWorkflowType.SELECT ? selectTip :
294
+ this._selectionWorkflowType === EWorkflowType.SKETCH ? sketchTip : searchTip;
295
+ const nameLabelClass = this.customLabelEnabled ? "" : "display-none";
296
+ return (h("calcite-panel", null, this._getLabel(this._translations.stepTwoFull.replace("{{layer}}", (_a = this.addresseeLayer) === null || _a === void 0 ? void 0 : _a.layer.title)), this._getNotice(noticeText), h("div", { class: "padding-top-sides-1" }, h("map-select-tools", { bufferColor: this.bufferColor, bufferOutlineColor: this.bufferOutlineColor, class: "font-bold", defaultBufferDistance: this.defaultBufferDistance, defaultBufferUnit: this.defaultBufferUnit, enabledLayerIds: this.selectionLayerIds, isUpdate: !!this._activeSelection, mapView: this.mapView, onSelectionSetChange: (evt) => this._updateForSelection(evt), onWorkflowTypeChange: (evt) => this._updateForWorkflowType(evt), ref: (el) => { this._selectTools = el; }, searchConfiguration: this.searchConfiguration, selectLayerView: this.addresseeLayer, selectionSet: this._activeSelection, showBufferTools: this.showSearchSettings })), h("div", { class: "padding-sides-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" }), h("calcite-input-message", { active: true, class: "info-blue", scale: "m" }, this.noResultText && this._numSelected === 0 ? this.noResultText :
297
+ this._translations.selectedAddresses.replace("{{n}}", this._numSelected.toString()).replace("{{layer}}", ((_b = this.addresseeLayer) === null || _b === void 0 ? void 0 : _b.layer.title) || ""))), h("div", { class: "padding-sides-1 " + nameLabelClass }, h("calcite-label", { class: "font-bold" }, "Name label", h("calcite-input", { onInput: () => {
298
+ this.labelChange.emit(this._labelName.value);
299
+ }, placeholder: "Insert label here...", ref: (el) => { this._labelName = el; }, value: this._customLabel || "" }))), this._getPageNavButtons(this._translations.done, this._numSelected === 0, () => { void this._saveSelection(); }, this._translations.cancel, false, () => { void this._home(); })));
300
+ }
301
+ /**
302
+ * Create the Refine page that users can interactively add/remove features from existing selection sets
303
+ *
304
+ * @returns the page node
305
+ * @protected
306
+ */
307
+ _getRefinePage() {
308
+ return (h("calcite-panel", null, this._getLabel(this._translations.refineSelection), this._getNotice(this._translations.refineTip, "padding-sides-1"), h("refine-selection", { addresseeLayer: this.addresseeLayer, enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, selectionSets: this._selectionSets })));
309
+ }
310
+ /**
311
+ * Create the PDF download page that shows the download options
312
+ *
313
+ * @returns the page node
314
+ * @protected
315
+ */
316
+ _getPDFPage() {
317
+ return this._getDownloadPage(EExportType.PDF);
318
+ }
319
+ /**
320
+ * Create the CSV download page that shows the download options
321
+ *
322
+ * @returns the page node
323
+ * @protected
324
+ */
325
+ _getCSVPage() {
326
+ return this._getDownloadPage(EExportType.CSV);
327
+ }
328
+ /**
329
+ * Create the main download page that has the shared aspects of both PDF and CSV
330
+ * But only show the current PDF or CSV page content
331
+ *
332
+ * @param type EExportType of the current type expected
333
+ *
334
+ * @returns the page node
335
+ * @protected
336
+ */
337
+ _getDownloadPage(type) {
338
+ var _a, _b;
339
+ const isPdf = type === EExportType.PDF;
340
+ const multiPdfOptions = ((_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.pdfOptions.enabledSizeValues.length) > 1;
341
+ return (h("calcite-panel", null, h("div", null, h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "font-bold" }, isPdf ? this._translations.pdfDownloads : this._translations.csvDownloads), h("calcite-label", null, this._translations.notifications)), this._getSelectionLists(), h("div", { class: "margin-side-1 padding-top-1 border-bottom" }), h("div", { class: "padding-top-sides-1" }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { disabled: !this._downloadActive, ref: (el) => { this._removeDuplicates = el; } }), this._translations.removeDuplicate)), h("div", { class: isPdf && multiPdfOptions ? "" : "display-none" }, this._getLabel(this._translations.selectPDFLabelOption, false), h("div", { class: "padding-sides-1" }, h("pdf-download", { disabled: !this._downloadActive, enabledSizeValues: (_b = this.exportOptions) === null || _b === void 0 ? void 0 : _b.pdfOptions.enabledSizeValues, layerView: this.addresseeLayer, ref: (el) => { this._downloadTools = el; } }))), h("div", { class: "padding-1 display-flex" }, h("calcite-button", { disabled: !this._downloadActive, onClick: isPdf ? () => this._downloadPDF() : () => this._downloadCSV(), width: "full" }, isPdf ? this._translations.downloadPDF : this._translations.downloadCSV)))));
342
+ }
343
+ /**
344
+ * Create the stacked navigation buttons for a page
345
+ *
346
+ * @param topLabel the label to use for the button on top
347
+ * @param topDisabled should the button be disabled
348
+ * @param topFunc the fucntion to execute when the button is clicked
349
+ * @param bottomLabel the label to use for the button on bottom
350
+ * @param bottomDisabled should the button be disabled
351
+ * @param bottomFunc the fucntion to execute when the button is clicked
352
+ *
353
+ * @returns the page node
354
+ * @protected
355
+ */
356
+ _getPageNavButtons(topLabel, topDisabled, topFunc, bottomLabel, bottomDisabled, bottomFunc) {
357
+ return (h("div", null, h("div", { class: "display-flex padding-top-sides-1" }, h("calcite-button", { disabled: topDisabled, onClick: topFunc, width: "full" }, topLabel)), h("div", { class: "display-flex padding-top-1-2 padding-sides-1" }, h("calcite-button", { appearance: "outline", disabled: bottomDisabled, onClick: bottomFunc, width: "full" }, bottomLabel))));
358
+ }
359
+ /**
360
+ * Create an informational notice
361
+ *
362
+ * @param message the message to display in the notice
363
+ * @param noticeClass any custom css for the notice (default is "padding-1")
364
+ *
365
+ * @returns the notice node
366
+ * @protected
367
+ */
368
+ _getNotice(message, noticeClass = "padding-1") {
369
+ return (h("calcite-notice", { class: noticeClass, color: "green", icon: "lightbulb", open: true }, h("div", { slot: "message" }, message)));
370
+ }
371
+ /**
372
+ * Create a calcite label
373
+ *
374
+ * @param label value to display in the label
375
+ * @param disableSpacing should extra calcite defined spacing be applied
376
+ *
377
+ * @returns the label node
378
+ * @protected
379
+ */
380
+ _getLabel(label, disableSpacing = false) {
381
+ return (h("div", { class: "padding-top-sides-1" }, h("calcite-label", { class: "font-bold", "disable-spacing": disableSpacing }, label)));
382
+ }
383
+ /**
384
+ * Get selection set list node with checkbox for Download pages
385
+ *
386
+ * @returns the list node
387
+ * @protectedlabel
388
+ */
389
+ _getSelectionLists() {
390
+ return this._selectionSets.reduce((prev, cur) => {
391
+ if (cur.workflowType !== EWorkflowType.REFINE) {
392
+ if (!this._downloadActive && cur.download) {
393
+ this._downloadActive = true;
394
+ }
395
+ prev.push((h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-checkbox", { checked: cur.download, class: "align-center", onClick: () => { void this._toggleDownload(cur.id); } }), h("calcite-list", { class: "list-border margin-start-1-2 w-100", id: "download-list" }, h("calcite-list-item", { description: this._translations.selectedFeatures.replace("{{n}}", cur.selectedIds.length.toString()), disabled: !cur.download, label: cur.label, onClick: () => { void this._toggleDownload(cur.id); } })))));
396
+ }
397
+ return prev;
398
+ }, []) || (h("div", null));
399
+ }
400
+ /**
401
+ * Toggle the disabled state for the download options based on user selection
402
+ *
403
+ * @param id the selection set id to toggle
404
+ *
405
+ * @protected
406
+ */
407
+ async _toggleDownload(id) {
408
+ let isActive = false;
409
+ this._selectionSets = this._selectionSets.map(ss => {
410
+ ss.download = ss.id === id ? !ss.download : ss.download;
411
+ isActive = ss.download ? true : isActive;
412
+ return ss;
413
+ });
414
+ this._downloadActive = isActive;
415
+ await this._highlightFeatures();
416
+ }
417
+ /**
418
+ * Download all selection sets as PDF
419
+ *
420
+ * @protected
421
+ */
422
+ _downloadPDF() {
423
+ const ids = getSelectionIds(this._getDownloadSelectionSets());
424
+ void this._downloadTools.downloadPDF(ids, this._removeDuplicates.checked);
425
+ }
426
+ /**
427
+ * Download all selection sets as CSV
428
+ *
429
+ * @protected
430
+ */
431
+ _downloadCSV() {
432
+ var _a;
433
+ const ids = getSelectionIds(this._getDownloadSelectionSets());
434
+ void this._downloadTools.downloadCSV(ids, this._removeDuplicates.checked, (_a = this.exportOptions) === null || _a === void 0 ? void 0 : _a.csvOptions.addColumnTitle);
435
+ }
436
+ /**
437
+ * Get all enabled selection sets
438
+ *
439
+ * @returns the selection sets
440
+ * @protected
441
+ */
442
+ _getDownloadSelectionSets() {
443
+ return this._selectionSets.filter(ss => {
444
+ return ss.download || ss.workflowType === EWorkflowType.REFINE;
445
+ });
446
+ }
447
+ /**
448
+ * Update custom label UI with buffer values
449
+ *
450
+ * @protected
451
+ */
452
+ _updateLabel(evt, type) {
453
+ if (this._customLabel) {
454
+ const oldV = type === "unit" ? `${this._distance} ${evt.detail.oldValue}` : `${evt.detail.oldValue} ${this._unit}`;
455
+ const newV = type === "unit" ? `${this._distance} ${evt.detail.newValue}` : `${evt.detail.newValue} ${this._unit}`;
456
+ this._customLabel = this._customLabel.replace(oldV, newV);
457
+ this._labelName.value = this._customLabel;
458
+ this.labelChange.emit(this._labelName.value);
459
+ }
460
+ }
461
+ /**
462
+ * Store the current workflow type
463
+ *
464
+ * @protected
465
+ */
466
+ _updateForWorkflowType(evt) {
467
+ this._selectionWorkflowType = evt.detail;
468
+ }
469
+ /**
470
+ * Create a calcite action
471
+ *
472
+ * @param enabled controls the enabled state of the control
473
+ * @param icon the image to display in the action
474
+ * @param text and supporting text for the action
475
+ * @param onClick the fucntion the actio will execute
476
+ * @param indicator boolean to control if an indicator should be shown (default is false)
477
+ * @param slot the supporting slot to use
478
+ *
479
+ * @returns the calcite action node
480
+ * @protected
481
+ */
482
+ _getAction(enabled, icon, text, onClick, indicator = false, slot = "") {
483
+ return (h("calcite-action", { disabled: !enabled, icon: icon, indicator: indicator, onClick: onClick, slot: slot, text: text }));
484
+ }
485
+ /**
486
+ * Store the number of selected features and if it's more than one enable save
487
+ *
488
+ * @returns the page node
489
+ * @protected
490
+ */
491
+ _updateForSelection(evt) {
492
+ this._numSelected = evt.detail;
493
+ this._saveEnabled = this._numSelected > 0;
494
+ }
495
+ /**
496
+ * Clear the selection and navigate to the home page
497
+ *
498
+ * @returns Promise when the function has completed
499
+ * @protected
500
+ */
501
+ async _home() {
502
+ await this._clearSelection();
503
+ if (typeof this._popupsEnabled === 'boolean' && this.mapView.popup) {
504
+ this.mapView.popup.autoOpenEnabled = this._popupsEnabled;
505
+ }
506
+ this._setPageType(EPageType.LIST);
507
+ }
508
+ /**
509
+ * Fetch the addressee layer from the map if no selection sets exist.
510
+ * Alert the user of the potential change to the selection sets if they exist.
511
+ *
512
+ * @param evt layer selection change event
513
+ *
514
+ * @returns Promise when the function has completed
515
+ * @protected
516
+ */
517
+ async _layerSelectionChange(evt) {
518
+ var _a, _b, _c;
519
+ const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
520
+ if (id !== ((_b = this.addresseeLayer) === null || _b === void 0 ? void 0 : _b.layer.id)) {
521
+ this._showLayerSelectionChangeModal = ((_c = this.addresseeLayer) === null || _c === void 0 ? void 0 : _c.layer.id) !== undefined && this._selectionSets.length > 0;
522
+ if (this._showLayerSelectionChangeModal) {
523
+ this._layerSelectionChangeEvt = evt;
524
+ }
525
+ else {
526
+ await this._updateAddresseeLayer(id);
527
+ }
528
+ }
529
+ }
530
+ /**
531
+ * Fetch the new addressee layer and update the selection sets
532
+ *
533
+ * @param id the id of the layer to fetch
534
+ *
535
+ * @returns Promise when the function has completed
536
+ * @protected
537
+ */
538
+ async _updateAddresseeLayer(id) {
539
+ this.addresseeLayer = await getMapLayerView(this.mapView, id);
540
+ await this._updateSelectionSets(this.addresseeLayer);
541
+ }
542
+ /**
543
+ * Update selection sets when the addressee layer changes.
544
+ * Will remove any "refine" selection set.
545
+ * Will use stored search, select, and sketch geometries and any buffers to select from the new addressee layer.
546
+ *
547
+ * @param layerView The new addressee layer view to select from
548
+ *
549
+ * @returns Promise when the function has completed
550
+ * @protected
551
+ */
552
+ async _updateSelectionSets(layerView) {
553
+ const _selectionSets = this._selectionSets.filter(selectionSet => selectionSet.workflowType !== EWorkflowType.REFINE);
554
+ const oidDefs = [];
555
+ _selectionSets.forEach(selectionSet => {
556
+ selectionSet.layerView = layerView;
557
+ selectionSet.selectedIds = [];
558
+ oidDefs.push(getSelectionSetQuery(selectionSet, this._geometryEngine));
559
+ });
560
+ return Promise.all(oidDefs).then(async (results) => {
561
+ results.forEach((result, i) => {
562
+ _selectionSets[i].selectedIds = result;
563
+ });
564
+ await this._highlightFeatures();
565
+ this._selectionSets = [
566
+ ..._selectionSets
567
+ ];
568
+ });
569
+ }
570
+ /**
571
+ * Update the selection sets with any new selections from the select tools
572
+ *
573
+ * @returns Promise when the function has completed
574
+ * @protected
575
+ */
576
+ async _saveSelection() {
577
+ var _a, _b;
578
+ const results = await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.getSelection());
579
+ const isUpdate = (_b = this._selectTools) === null || _b === void 0 ? void 0 : _b.isUpdate;
580
+ this._selectionSets = isUpdate ? this._selectionSets.map(ss => {
581
+ return ss.id === results.id ? results : ss;
582
+ }) : [
583
+ ...this._selectionSets,
584
+ results
585
+ ];
586
+ return this._home();
587
+ }
588
+ /**
589
+ * Clear any selections
590
+ *
591
+ * @returns Promise when the function has completed
592
+ * @protected
593
+ */
594
+ async _clearSelection() {
595
+ var _a;
596
+ await ((_a = this._selectTools) === null || _a === void 0 ? void 0 : _a.clearSelection());
597
+ this._numSelected = 0;
598
+ this._activeSelection = undefined;
599
+ this._customLabel = undefined;
600
+ this._distance = undefined;
601
+ this._unit = undefined;
602
+ }
603
+ /**
604
+ * Delete the selection at the defined index
605
+ *
606
+ * @param index number that defines what selection set to delete
607
+ *
608
+ * @protected
609
+ */
610
+ _deleteSelection(index, evt) {
611
+ evt.stopPropagation();
612
+ this._selectionSets = this._selectionSets.filter((ss, i) => {
613
+ if (i !== index) {
614
+ return ss;
615
+ }
616
+ });
617
+ return this._highlightFeatures();
618
+ }
619
+ /**
620
+ * Pan to the current selection
621
+ *
622
+ * @param selSet ISelectionSet to pan to
623
+ * @param mapView Current MapView to pan within
624
+ *
625
+ * @protected
626
+ */
627
+ _gotoSelection(selSet, mapView) {
628
+ void goToSelection(selSet.selectedIds, selSet.layerView, mapView, this.featureHighlightEnabled, this.featureEffect);
629
+ }
630
+ /**
631
+ * Open the selection set for further adjustment
632
+ *
633
+ * @protected
634
+ */
635
+ _openSelection(selectionSet, evt) {
636
+ evt.stopPropagation();
637
+ this._activeSelection = selectionSet;
638
+ this._distance = this._activeSelection.distance;
639
+ this._unit = this._activeSelection.unit;
640
+ this._customLabel = this._activeSelection.label;
641
+ this._pageType = EPageType.SELECT;
642
+ }
643
+ /**
644
+ * Highlight any selected features in the map
645
+ *
646
+ * @protected
647
+ */
648
+ async _highlightFeatures() {
649
+ this._clearHighlight();
650
+ const ids = getSelectionIds(this._selectionSets);
651
+ if (ids.length > 0) {
652
+ state.highlightHandle = await highlightFeatures(ids, this.addresseeLayer, this.mapView);
653
+ }
654
+ }
655
+ /**
656
+ * Clear any highlighted features in the map
657
+ *
658
+ * @protected
659
+ */
660
+ _checkPopups() {
661
+ var _a;
662
+ if (typeof this._popupsEnabled !== 'boolean') {
663
+ this._popupsEnabled = (_a = this.mapView) === null || _a === void 0 ? void 0 : _a.popup.autoOpenEnabled;
664
+ }
665
+ }
666
+ /**
667
+ * Clear any highlighted features in the map
668
+ *
669
+ * @protected
670
+ */
671
+ _clearHighlight() {
672
+ var _a;
673
+ if (state && state.highlightHandle) {
674
+ (_a = state.highlightHandle) === null || _a === void 0 ? void 0 : _a.remove();
675
+ }
676
+ }
677
+ /**
678
+ * Fetches the component's translations
679
+ *
680
+ * @protected
681
+ */
682
+ async _getTranslations() {
683
+ const translations = await getLocaleComponentStrings(this.el);
684
+ this._translations = translations[0];
685
+ }
686
+ get el() { return getElement(this); }
687
+ static get watchers() { return {
688
+ "mapView": ["mapViewWatchHandler"],
689
+ "_selectionSets": ["selectionSetsWatchHandler"],
690
+ "_pageType": ["pageTypeWatchHandler"]
691
+ }; }
692
+ };
693
+ PublicNotification.style = publicNotificationCss;
694
+
695
+ export { PublicNotification as public_notification };