@esri/solutions-components 0.3.5 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. package/dist/cjs/buffer-tools_6.cjs.entry.js +26 -8
  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/loader.cjs.js +1 -1
  9. package/dist/cjs/map-card.cjs.entry.js +1 -1
  10. package/dist/cjs/{mapViewUtils-55ac76cb.js → mapViewUtils-24d1d859.js} +1 -1
  11. package/dist/cjs/public-notification.cjs.entry.js +41 -7
  12. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  13. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  14. package/dist/cjs/{solution-store-39726b81.js → solution-store-2dbab624.js} +1 -1
  15. package/dist/cjs/solutions-components.cjs.js +1 -1
  16. package/dist/collection/components/buffer-tools/buffer-tools.js +48 -0
  17. package/dist/collection/components/map-draw-tools/map-draw-tools.js +10 -4
  18. package/dist/collection/components/public-notification/public-notification.css +12 -12
  19. package/dist/collection/components/public-notification/public-notification.js +50 -4
  20. package/dist/collection/components/refine-selection/refine-selection.js +4 -2
  21. package/dist/collection/components/refine-selection-tools/refine-selection-tools.css +1 -0
  22. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +3 -1
  23. package/dist/collection/demos/new-public-notification.html +7 -6
  24. package/dist/collection/utils/interfaces.js +1 -1
  25. package/dist/collection/utils/interfaces.ts +7 -2
  26. package/dist/components/buffer-tools2.js +10 -0
  27. package/dist/components/interfaces3.js +1 -1
  28. package/dist/components/map-draw-tools2.js +10 -4
  29. package/dist/components/public-notification.js +40 -6
  30. package/dist/components/refine-selection-tools2.js +4 -2
  31. package/dist/components/refine-selection2.js +4 -2
  32. package/dist/esm/buffer-tools_6.entry.js +26 -8
  33. package/dist/esm/calcite-combobox_3.entry.js +2 -2
  34. package/dist/esm/calcite-input-message_5.entry.js +6 -4
  35. package/dist/esm/calcite-shell-panel_14.entry.js +2 -2
  36. package/dist/esm/{csvUtils-eb231cfb.js → csvUtils-ae3004b9.js} +1 -1
  37. package/dist/esm/{interfaces-3b23a5f9.js → interfaces-d0d83efa.js} +1 -1
  38. package/dist/esm/layer-table.entry.js +3 -3
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/esm/map-card.entry.js +1 -1
  41. package/dist/esm/{mapViewUtils-e5d8a1e1.js → mapViewUtils-541e7a3c.js} +1 -1
  42. package/dist/esm/public-notification.entry.js +41 -7
  43. package/dist/esm/solution-configuration.entry.js +2 -2
  44. package/dist/esm/solution-contents_3.entry.js +2 -2
  45. package/dist/esm/{solution-store-c0bf9200.js → solution-store-41e15f1c.js} +1 -1
  46. package/dist/esm/solutions-components.js +1 -1
  47. package/dist/solutions-components/demos/new-public-notification.html +7 -6
  48. package/dist/solutions-components/p-05e64bd1.js +498 -2
  49. package/dist/solutions-components/p-08a95b33.entry.js +138 -0
  50. package/dist/solutions-components/p-0da5bbdf.entry.js +91 -0
  51. package/dist/solutions-components/p-0ef91144.entry.js +913 -0
  52. package/dist/solutions-components/p-0f523243.entry.js +1916 -0
  53. package/dist/solutions-components/p-11b9510e.entry.js +173 -0
  54. package/dist/solutions-components/p-1b875d94.entry.js +58 -0
  55. package/dist/solutions-components/p-1c567f3a.js +23 -16
  56. package/dist/solutions-components/p-1c883db9.entry.js +43 -0
  57. package/dist/solutions-components/p-1f225056.js +322 -0
  58. package/dist/solutions-components/p-1f499e67.entry.js +72 -0
  59. package/dist/solutions-components/p-20d3d758.entry.js +881 -0
  60. package/dist/solutions-components/p-2274ac9e.entry.js +160 -0
  61. package/dist/solutions-components/p-23ec5ac5.entry.js +93 -0
  62. package/dist/solutions-components/p-2447798c.entry.js +155 -0
  63. package/dist/solutions-components/p-2525e691.entry.js +432 -0
  64. package/dist/solutions-components/p-2561f5b5.js +4092 -0
  65. package/dist/solutions-components/p-29f887c0.entry.js +234 -0
  66. package/dist/solutions-components/p-2a0d8047.entry.js +345 -0
  67. package/dist/solutions-components/p-2c177e6a.entry.js +101 -0
  68. package/dist/solutions-components/p-2e9ed892.js +46 -1
  69. package/dist/solutions-components/p-316f56db.js +219 -2
  70. package/dist/solutions-components/p-327f3ebf.entry.js +98 -0
  71. package/dist/solutions-components/p-356f8b54.entry.js +138 -0
  72. package/dist/solutions-components/p-359c58de.entry.js +172 -0
  73. package/dist/solutions-components/p-37336c0d.entry.js +116 -0
  74. package/dist/solutions-components/p-374a5031.js +105 -2
  75. package/dist/solutions-components/p-39ea6ef4.entry.js +71 -0
  76. package/dist/solutions-components/p-3b010ce1.js +17 -1
  77. package/dist/solutions-components/p-4307dacd.js +194 -1
  78. package/dist/solutions-components/p-44da2507.js +405 -14
  79. package/dist/solutions-components/p-46bdffe8.entry.js +54 -0
  80. package/dist/solutions-components/p-4894bbeb.js +53 -2
  81. package/dist/solutions-components/p-4cd569f1.entry.js +1298 -0
  82. package/dist/solutions-components/p-4d4160f9.entry.js +121 -0
  83. package/dist/solutions-components/p-4e32bf8c.js +482 -1
  84. package/dist/solutions-components/p-4e9cbd32.entry.js +184 -0
  85. package/dist/solutions-components/p-508317b3.js +13 -2
  86. package/dist/solutions-components/p-54697d58.entry.js +198 -0
  87. package/dist/solutions-components/p-55c79103.entry.js +311 -0
  88. package/dist/solutions-components/p-57fd19c0.entry.js +706 -0
  89. package/dist/solutions-components/p-59b48fde.entry.js +443 -0
  90. package/dist/solutions-components/p-60e0e6a0.entry.js +214 -0
  91. package/dist/solutions-components/p-621d0534.entry.js +123 -0
  92. package/dist/solutions-components/p-63f6e8f1.js +14 -1
  93. package/dist/solutions-components/p-66aeec57.entry.js +61 -0
  94. package/dist/solutions-components/p-69834f46.entry.js +618 -0
  95. package/dist/solutions-components/p-6d9da8e5.entry.js +21530 -0
  96. package/dist/solutions-components/p-6e0da576.js +13 -1
  97. package/dist/solutions-components/p-6ec3f294.entry.js +106 -0
  98. package/dist/solutions-components/p-6fe17794.js +9 -1
  99. package/dist/solutions-components/p-7024cb16.entry.js +72 -0
  100. package/dist/solutions-components/p-70535506.entry.js +226 -0
  101. package/dist/solutions-components/p-708a63a8.js +12 -1
  102. package/dist/solutions-components/p-729708a3.js +14 -1
  103. package/dist/solutions-components/p-73e23995.js +6 -1
  104. package/dist/solutions-components/p-74b29d75.entry.js +231 -0
  105. package/dist/solutions-components/p-74b7ee25.entry.js +711 -0
  106. package/dist/solutions-components/p-77182c3a.js +3015 -1
  107. package/dist/solutions-components/p-78b3ef80.entry.js +456 -0
  108. package/dist/solutions-components/p-79709c19.js +60 -3
  109. package/dist/solutions-components/p-7a46ef97.js +181 -2
  110. package/dist/solutions-components/p-7be159e6.entry.js +175 -0
  111. package/dist/solutions-components/p-7d4451c2.entry.js +71 -0
  112. package/dist/solutions-components/p-7daea1df.js +41 -1
  113. package/dist/solutions-components/p-7e39e5ad.entry.js +102 -0
  114. package/dist/solutions-components/p-7fb45059.entry.js +43 -0
  115. package/dist/solutions-components/p-815533de.js +306 -3
  116. package/dist/solutions-components/p-816622ca.entry.js +248 -0
  117. package/dist/solutions-components/p-83166522.js +205 -2
  118. package/dist/solutions-components/p-83bd1991.entry.js +36 -0
  119. package/dist/solutions-components/p-856464d7.entry.js +572 -0
  120. package/dist/solutions-components/p-8c349bad.entry.js +347 -0
  121. package/dist/solutions-components/p-8dccb390.entry.js +1986 -0
  122. package/dist/solutions-components/p-904c185a.entry.js +228 -0
  123. package/dist/solutions-components/p-9092f8b3.entry.js +156 -0
  124. package/dist/solutions-components/p-9371145a.entry.js +477 -0
  125. package/dist/solutions-components/p-93d3119d.js +1948 -1
  126. package/dist/solutions-components/p-95ec8062.entry.js +173 -0
  127. package/dist/solutions-components/p-991ee695.js +109 -1
  128. package/dist/solutions-components/p-9a57dab7.entry.js +213 -0
  129. package/dist/solutions-components/p-9a9955db.js +41 -1
  130. package/dist/solutions-components/p-9c1ebc90.js +35 -16
  131. package/dist/solutions-components/p-9eba5c66.js +399 -3
  132. package/dist/solutions-components/p-a033a507.entry.js +252 -0
  133. package/dist/solutions-components/p-a3773415.entry.js +1132 -0
  134. package/dist/solutions-components/p-a44fe40f.entry.js +94 -0
  135. package/dist/solutions-components/p-a5b1ab03.js +33 -3
  136. package/dist/solutions-components/p-a5b2c13d.entry.js +723 -0
  137. package/dist/solutions-components/p-a6d729b7.entry.js +85 -0
  138. package/dist/solutions-components/p-a8005026.entry.js +565 -0
  139. package/dist/solutions-components/p-a80b3880.js +14 -1
  140. package/dist/solutions-components/p-a89198a3.entry.js +2620 -0
  141. package/dist/solutions-components/p-aa04bd1f.entry.js +95 -0
  142. package/dist/solutions-components/p-aa0a0922.entry.js +80 -0
  143. package/dist/solutions-components/p-ae1fd76b.js +11 -1
  144. package/dist/solutions-components/p-b2cf435e.entry.js +87 -0
  145. package/dist/solutions-components/p-b359dc78.js +41 -1
  146. package/dist/solutions-components/p-b57bc4eb.entry.js +71 -0
  147. package/dist/solutions-components/p-b75cc407.entry.js +145 -0
  148. package/dist/solutions-components/p-b911cb75.entry.js +71 -0
  149. package/dist/solutions-components/p-b965e177.entry.js +335 -0
  150. package/dist/solutions-components/p-b978636e.js +14 -1
  151. package/dist/solutions-components/p-ba10a5c8.entry.js +42 -0
  152. package/dist/solutions-components/p-bd67334c.js +122 -2
  153. package/dist/solutions-components/p-bde20dba.entry.js +212 -0
  154. package/dist/solutions-components/p-be0b5a94.entry.js +248 -0
  155. package/dist/solutions-components/p-c023e6a1.js +2028 -2
  156. package/dist/solutions-components/p-c27b0c2d.entry.js +150 -0
  157. package/dist/solutions-components/p-c579ed60.entry.js +447 -0
  158. package/dist/solutions-components/p-c92bc231.js +101 -2
  159. package/dist/solutions-components/p-cc815aca.js +839 -16
  160. package/dist/solutions-components/p-cc8beabb.entry.js +695 -0
  161. package/dist/solutions-components/p-cdc46c0c.js +1751 -2
  162. package/dist/solutions-components/p-d12e6992.entry.js +118 -0
  163. package/dist/solutions-components/p-d1dfed6b.entry.js +179 -0
  164. package/dist/solutions-components/p-d48a24e6.js +754 -2
  165. package/dist/solutions-components/p-d96ee3ef.entry.js +579 -0
  166. package/dist/solutions-components/p-dbc9a5a8.js +80 -0
  167. package/dist/solutions-components/p-dcdbe712.entry.js +278 -0
  168. package/dist/solutions-components/p-de39206f.entry.js +113 -0
  169. package/dist/solutions-components/p-de5416e8.js +28 -1
  170. package/dist/solutions-components/p-df420d54.entry.js +213 -0
  171. package/dist/solutions-components/p-e3138cf0.entry.js +20 -0
  172. package/dist/solutions-components/p-e4845fec.entry.js +152 -0
  173. package/dist/solutions-components/p-e611d8c8.js +28 -1
  174. package/dist/solutions-components/p-e947d3b0.js +5 -1
  175. package/dist/solutions-components/p-ea534300.js +41 -2
  176. package/dist/solutions-components/p-ec84ee85.entry.js +55 -0
  177. package/dist/solutions-components/p-ed36c637.entry.js +85 -0
  178. package/dist/solutions-components/p-f0add71c.js +74 -0
  179. package/dist/solutions-components/p-f42e014b.js +171 -2
  180. package/dist/solutions-components/p-fc02e7de.entry.js +308 -0
  181. package/dist/solutions-components/p-fc884dd6.js +28 -16
  182. package/dist/solutions-components/p-fcbfa59c.entry.js +181 -0
  183. package/dist/solutions-components/p-fdc5cf5f.entry.js +138 -0
  184. package/dist/solutions-components/solutions-components.esm.js +20 -1
  185. package/dist/solutions-components/utils/interfaces.ts +7 -2
  186. package/dist/types/components/buffer-tools/buffer-tools.d.ts +9 -1
  187. package/dist/types/components/public-notification/public-notification.d.ts +26 -0
  188. package/dist/types/components.d.ts +9 -1
  189. package/dist/types/preact.d.ts +3 -1
  190. package/dist/types/utils/interfaces.d.ts +4 -0
  191. package/package.json +1 -1
  192. package/dist/solutions-components/p-021432b8.entry.js +0 -12
  193. package/dist/solutions-components/p-03440b1e.entry.js +0 -11
  194. package/dist/solutions-components/p-0512635b.entry.js +0 -6
  195. package/dist/solutions-components/p-086ef115.entry.js +0 -29
  196. package/dist/solutions-components/p-0b4bf57f.entry.js +0 -6
  197. package/dist/solutions-components/p-0c088725.entry.js +0 -6
  198. package/dist/solutions-components/p-0f820c08.entry.js +0 -6
  199. package/dist/solutions-components/p-164780a0.entry.js +0 -6
  200. package/dist/solutions-components/p-179a68a0.entry.js +0 -6
  201. package/dist/solutions-components/p-184b5005.entry.js +0 -11
  202. package/dist/solutions-components/p-1d082fee.entry.js +0 -11
  203. package/dist/solutions-components/p-1e6c02a2.entry.js +0 -11
  204. package/dist/solutions-components/p-20a58e62.entry.js +0 -17
  205. package/dist/solutions-components/p-20b2458c.entry.js +0 -11
  206. package/dist/solutions-components/p-245d47c1.entry.js +0 -6
  207. package/dist/solutions-components/p-2cb057a9.entry.js +0 -11
  208. package/dist/solutions-components/p-2cc72806.entry.js +0 -23
  209. package/dist/solutions-components/p-2de1db9c.entry.js +0 -11
  210. package/dist/solutions-components/p-2e9c7055.entry.js +0 -11
  211. package/dist/solutions-components/p-2ed5e6c8.entry.js +0 -11
  212. package/dist/solutions-components/p-3109d940.entry.js +0 -6
  213. package/dist/solutions-components/p-31a8bcfa.entry.js +0 -6
  214. package/dist/solutions-components/p-3f88ba73.entry.js +0 -6
  215. package/dist/solutions-components/p-3fa9b3c8.js +0 -36
  216. package/dist/solutions-components/p-40c41709.entry.js +0 -6
  217. package/dist/solutions-components/p-40e963c7.entry.js +0 -11
  218. package/dist/solutions-components/p-40f480da.entry.js +0 -11
  219. package/dist/solutions-components/p-49d5d2d3.entry.js +0 -11
  220. package/dist/solutions-components/p-4f7049a4.entry.js +0 -11
  221. package/dist/solutions-components/p-506e4d78.entry.js +0 -6
  222. package/dist/solutions-components/p-576fdcab.entry.js +0 -6
  223. package/dist/solutions-components/p-5bd0cf34.entry.js +0 -23
  224. package/dist/solutions-components/p-65e177f1.entry.js +0 -6
  225. package/dist/solutions-components/p-67d710c2.entry.js +0 -6
  226. package/dist/solutions-components/p-7268b445.entry.js +0 -11
  227. package/dist/solutions-components/p-75ea4667.entry.js +0 -6
  228. package/dist/solutions-components/p-778c0a36.entry.js +0 -17
  229. package/dist/solutions-components/p-7a22509b.entry.js +0 -12
  230. package/dist/solutions-components/p-7bff51db.entry.js +0 -6
  231. package/dist/solutions-components/p-7d2d0d5d.entry.js +0 -6
  232. package/dist/solutions-components/p-7f0036f1.entry.js +0 -11
  233. package/dist/solutions-components/p-8060fb94.entry.js +0 -6
  234. package/dist/solutions-components/p-80a1b305.entry.js +0 -6
  235. package/dist/solutions-components/p-81eae877.entry.js +0 -12
  236. package/dist/solutions-components/p-84e86b8b.entry.js +0 -6
  237. package/dist/solutions-components/p-877dd0dc.entry.js +0 -18
  238. package/dist/solutions-components/p-9106950a.entry.js +0 -11
  239. package/dist/solutions-components/p-979804a4.entry.js +0 -11
  240. package/dist/solutions-components/p-9862baa8.entry.js +0 -11
  241. package/dist/solutions-components/p-9b5a9117.entry.js +0 -12
  242. package/dist/solutions-components/p-9deff0c2.entry.js +0 -6
  243. package/dist/solutions-components/p-9f400eeb.entry.js +0 -6
  244. package/dist/solutions-components/p-a0639ad1.entry.js +0 -11
  245. package/dist/solutions-components/p-a33c044e.entry.js +0 -6
  246. package/dist/solutions-components/p-a516c658.entry.js +0 -6
  247. package/dist/solutions-components/p-aa0ef36d.entry.js +0 -11
  248. package/dist/solutions-components/p-aaccbdf3.entry.js +0 -18
  249. package/dist/solutions-components/p-ab03a5c9.entry.js +0 -11
  250. package/dist/solutions-components/p-ad469b92.entry.js +0 -11
  251. package/dist/solutions-components/p-adc86ac3.entry.js +0 -6
  252. package/dist/solutions-components/p-addc1156.entry.js +0 -11
  253. package/dist/solutions-components/p-ae846934.entry.js +0 -11
  254. package/dist/solutions-components/p-b0572fc4.entry.js +0 -37
  255. package/dist/solutions-components/p-b4e476b7.js +0 -257
  256. package/dist/solutions-components/p-b668daf8.js +0 -21
  257. package/dist/solutions-components/p-b6e6eae1.entry.js +0 -6
  258. package/dist/solutions-components/p-bc317a7f.entry.js +0 -6
  259. package/dist/solutions-components/p-bd4d0773.entry.js +0 -6
  260. package/dist/solutions-components/p-be41429f.js +0 -21
  261. package/dist/solutions-components/p-bf6b6353.entry.js +0 -11
  262. package/dist/solutions-components/p-c2e3dfbb.entry.js +0 -11
  263. package/dist/solutions-components/p-c4afae53.entry.js +0 -12
  264. package/dist/solutions-components/p-c9da1c26.entry.js +0 -6
  265. package/dist/solutions-components/p-cbf8cd49.entry.js +0 -6
  266. package/dist/solutions-components/p-cc1a064a.entry.js +0 -11
  267. package/dist/solutions-components/p-d09a168c.entry.js +0 -6
  268. package/dist/solutions-components/p-d377f913.entry.js +0 -11
  269. package/dist/solutions-components/p-d4cefead.entry.js +0 -37
  270. package/dist/solutions-components/p-d7bc0baf.entry.js +0 -16
  271. package/dist/solutions-components/p-d8968487.entry.js +0 -11
  272. package/dist/solutions-components/p-e00a0b86.entry.js +0 -11
  273. package/dist/solutions-components/p-e9a7ed49.entry.js +0 -11
  274. package/dist/solutions-components/p-ec27e493.entry.js +0 -11
  275. package/dist/solutions-components/p-ed6404eb.entry.js +0 -6
  276. package/dist/solutions-components/p-ef21e195.entry.js +0 -23
  277. package/dist/solutions-components/p-f6068a2d.entry.js +0 -11
  278. package/dist/solutions-components/p-f6c4cff3.entry.js +0 -11
  279. package/dist/solutions-components/p-f847291f.entry.js +0 -6
  280. package/dist/solutions-components/p-f90fd262.entry.js +0 -11
  281. package/dist/solutions-components/p-fc973005.entry.js +0 -6
  282. package/dist/solutions-components/p-ff9fb6bc.entry.js +0 -11
@@ -3,14 +3,317 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{f as t,a as s,t as i}from"./p-83166522.js";import{g as n}from"./p-e947d3b0.js";import{S as e}from"./p-ae1fd76b.js";import{d as o}from"./p-4e32bf8c.js";import{h as r,H as a}from"./p-c023e6a1.js";import{C as l,S as c}from"./p-b978636e.js";
6
+ import { f as focusElement, a as getSlotted, t as toAriaBoolean } from './p-83166522.js';
7
+ import { g as getRoundRobinIndex } from './p-e947d3b0.js';
8
+ import { S as SLOTS } from './p-ae1fd76b.js';
9
+ import { d as debounce } from './p-4e32bf8c.js';
10
+ import { h, H as Host } from './p-c023e6a1.js';
11
+ import { C as CSS, S as SLOTS$1 } from './p-b978636e.js';
12
+
7
13
  /*!
8
14
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
9
15
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
10
16
  * v1.0.0-beta.97
11
- */function h(){this.setUpItems(),this.setUpFilter(),this.deselectRemovedItems()}const u=["ArrowUp","ArrowDown"];function f(){this.setUpItems(),this.setUpFilter(),this.emitCalciteListChange=o(j.bind(this),0)}function d(){var t;null===(t=this.mutationObserver)||void 0===t||t.observe(this.el,{childList:!0,subtree:!0})}function m(){var t;null===(t=this.mutationObserver)||void 0===t||t.disconnect()}function p(s){const{selectedValues:i}=this,{item:n,value:e,selected:o,shiftPressed:r}=s.detail;o?(this.multiple&&r&&this.selectSiblings(n),this.multiple||this.deselectSiblingItems(n),i.set(e,n)):(i.delete(e),this.multiple&&r&&this.selectSiblings(n,!0)),this.multiple||(C(n,o),o&&t(n)),this.lastSelectedItem=n,this.emitCalciteListChange()}function b(t){const s=t.detail.oldValue,i=this.selectedValues;if(i.has(s)){const n=i.get(s);i.delete(s),i.set(t.detail.newValue,n)}t.stopPropagation()}function v(t){const{el:s,items:i,multiple:n,selectedValues:e}=this;n||s.contains(t.relatedTarget)||A(i).forEach((s=>{C(s,0===e.size?s.contains(t.target)||t.target===s:s.selected)}))}function g(s){const{key:i,target:n}=s;if(!function(t){return!!u.find((s=>s===t))}(i))return;const{items:e,multiple:o,selectionFollowsFocus:r}=this,{length:a}=e,l=e.indexOf(n);if(!a||-1===l)return;s.preventDefault();const c=e[w(this,n,"ArrowUp"===i?"up":"down")];e.forEach((t=>C(t,t===c))),!o&&r&&(c.selected=!0),t(c)}function w(t,s,i){const{items:e}=t,{length:o}=e,r=e.indexOf(s),a="up"===i?-1:1;let l=1,c=n(r+a*l++,o);const h=c;for(;e[c].disabled&&(c=n(r+a*l++,o),c!==h););return c}function F(t,s){const{items:i}=t;return i.indexOf(s)}function A(t){return t.filter((t=>!t.disabled))}function j(){this.calciteListChange.emit(this.selectedValues)}function y(t){if(t.defaultPrevented)return;const s=t.target,i=this.selectedValues;"CALCITE-PICK-LIST-GROUP"===s.parentElement.tagName&&s.slot===e.parentItem?(s.parentElement.remove(),Array.from(s.parentElement.children).forEach((t=>i.delete(t.value)))):(s.remove(),i.delete(s.value)),this.emitCalciteListChange()}function C(t,s){t.disabled||(s?t.removeAttribute("tabindex"):t.setAttribute("tabindex","-1"))}async function E(s){var i;if(this.filterEnabled&&"filter"===s)return void await t(this.filterEl);const{items:n,multiple:e,selectionFollowsFocus:o}=this;if(0===n.length)return;if(e)return null===(i=A(n)[0])||void 0===i?void 0:i.setFocus();const r=A(n),a=r.find((t=>t.selected))||r[0];return o&&a&&(a.selected=!0),a.setFocus()}function x(t){this.items=Array.from(this.el.querySelectorAll(t));let s=!1;const{items:i}=this;i.forEach((t=>{t.icon=this.getIconType(),this.multiple||(t.disableDeselect=!0,C(t,!1)),t.selected&&(s=!0,C(t,!0),this.selectedValues.set(t.value,t))}));const[n]=i;s||!n||n.disabled||C(n,!0)}function I(){const t=this.selectedValues,s=this.items.map((({value:t})=>t));t.forEach((t=>{s.includes(t.value)||this.selectedValues.delete(t.value)}))}function L(t){this.items.forEach((s=>{s.value!==t.value&&(s.toggleSelected(!1),this.selectedValues.has(s.value)&&this.selectedValues.delete(s.value))}))}function P(t,s=!1){if(!this.lastSelectedItem)return;const{items:i}=this,n=i.findIndex((t=>t.value===this.lastSelectedItem.value)),e=i.findIndex((s=>s.value===t.value));i.slice(Math.min(n,e),Math.max(n,e)).forEach((t=>{t.toggleSelected(!s),s?this.selectedValues.delete(t.value):this.selectedValues.set(t.value,t)}))}let S;function k(t){const{filteredItems:i}=t.currentTarget,n=i.map((t=>t.value));let e=!1;S||(S=new Set);const o=this.items.filter((t=>{const s=t.parentElement;s.matches("calcite-pick-list-group")&&S.add(s);const i=n.includes(t.value);return t.hidden=!i,e||(e=i&&t.selected),i}));S.forEach((t=>{const i=o.some((s=>t.contains(s)));if(t.hidden=!i,!i)return;const n=s(t,"parent-item");n&&(n.hidden=!1,o.includes(n)&&Array.from(t.children).forEach((t=>t.hidden=!1)))})),S.clear(),o.length>0&&!e&&!this.multiple&&C(o[0],!0)}function U(){return this.items.map((t=>({label:t.label,description:t.description,metadata:t.metadata,value:t.value})))}
17
+ */
18
+ function mutationObserverCallback() {
19
+ this.setUpItems();
20
+ this.setUpFilter();
21
+ this.deselectRemovedItems();
22
+ }
23
+ const SUPPORTED_ARROW_KEYS = ["ArrowUp", "ArrowDown"];
24
+ // --------------------------------------------------------------------------
25
+ //
26
+ // Lifecycle
27
+ //
28
+ // --------------------------------------------------------------------------
29
+ function initialize() {
30
+ this.setUpItems();
31
+ this.setUpFilter();
32
+ this.emitCalciteListChange = debounce(internalCalciteListChangeEvent.bind(this), 0);
33
+ }
34
+ function initializeObserver() {
35
+ var _a;
36
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });
37
+ }
38
+ function cleanUpObserver() {
39
+ var _a;
40
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
41
+ }
42
+ // --------------------------------------------------------------------------
43
+ //
44
+ // Listeners
45
+ //
46
+ // --------------------------------------------------------------------------
47
+ function calciteListItemChangeHandler(event) {
48
+ const { selectedValues } = this;
49
+ const { item, value, selected, shiftPressed } = event.detail;
50
+ if (selected) {
51
+ if (this.multiple && shiftPressed) {
52
+ this.selectSiblings(item);
53
+ }
54
+ if (!this.multiple) {
55
+ this.deselectSiblingItems(item);
56
+ }
57
+ selectedValues.set(value, item);
58
+ }
59
+ else {
60
+ selectedValues.delete(value);
61
+ if (this.multiple && shiftPressed) {
62
+ this.selectSiblings(item, true);
63
+ }
64
+ }
65
+ if (!this.multiple) {
66
+ toggleSingleSelectItemTabbing(item, selected);
67
+ if (selected) {
68
+ focusElement(item);
69
+ }
70
+ }
71
+ this.lastSelectedItem = item;
72
+ this.emitCalciteListChange();
73
+ }
74
+ function calciteInternalListItemValueChangeHandler(event) {
75
+ const oldValue = event.detail.oldValue;
76
+ const selectedValues = this.selectedValues;
77
+ if (selectedValues.has(oldValue)) {
78
+ const item = selectedValues.get(oldValue);
79
+ selectedValues.delete(oldValue);
80
+ selectedValues.set(event.detail.newValue, item);
81
+ }
82
+ event.stopPropagation();
83
+ }
84
+ // --------------------------------------------------------------------------
85
+ //
86
+ // Private Methods
87
+ //
88
+ // --------------------------------------------------------------------------
89
+ function isValidNavigationKey(key) {
90
+ return !!SUPPORTED_ARROW_KEYS.find((k) => k === key);
91
+ }
92
+ function calciteListFocusOutHandler(event) {
93
+ const { el, items, multiple, selectedValues } = this;
94
+ if (multiple) {
95
+ return;
96
+ }
97
+ const focusedInside = el.contains(event.relatedTarget);
98
+ if (focusedInside) {
99
+ return;
100
+ }
101
+ filterOutDisabled(items).forEach((item) => {
102
+ toggleSingleSelectItemTabbing(item, selectedValues.size === 0 ? item.contains(event.target) || event.target === item : item.selected);
103
+ });
104
+ }
105
+ function keyDownHandler(event) {
106
+ const { key, target } = event;
107
+ if (!isValidNavigationKey(key)) {
108
+ return;
109
+ }
110
+ const { items, multiple, selectionFollowsFocus } = this;
111
+ const { length: totalItems } = items;
112
+ const currentIndex = items.indexOf(target);
113
+ if (!totalItems || currentIndex === -1) {
114
+ return;
115
+ }
116
+ event.preventDefault();
117
+ const index = moveItemIndex(this, target, key === "ArrowUp" ? "up" : "down");
118
+ const item = items[index];
119
+ items.forEach((i) => toggleSingleSelectItemTabbing(i, i === item));
120
+ if (!multiple && selectionFollowsFocus) {
121
+ item.selected = true;
122
+ }
123
+ focusElement(item);
124
+ }
125
+ function moveItemIndex(list, item, direction) {
126
+ const { items } = list;
127
+ const { length: totalItems } = items;
128
+ const currentIndex = items.indexOf(item);
129
+ const directionFactor = direction === "up" ? -1 : 1;
130
+ let moveOffset = 1;
131
+ let index = getRoundRobinIndex(currentIndex + directionFactor * moveOffset++, totalItems);
132
+ const firstMovedIndex = index;
133
+ while (items[index].disabled) {
134
+ index = getRoundRobinIndex(currentIndex + directionFactor * moveOffset++, totalItems);
135
+ if (index === firstMovedIndex) {
136
+ break;
137
+ }
138
+ }
139
+ return index;
140
+ }
141
+ function getItemIndex(list, item) {
142
+ const { items } = list;
143
+ return items.indexOf(item);
144
+ }
145
+ function filterOutDisabled(items) {
146
+ return items.filter((item) => !item.disabled);
147
+ }
148
+ function internalCalciteListChangeEvent() {
149
+ this.calciteListChange.emit(this.selectedValues);
150
+ }
151
+ function removeItem(event) {
152
+ if (event.defaultPrevented) {
153
+ return;
154
+ }
155
+ const item = event.target;
156
+ const selectedValues = this.selectedValues;
157
+ if (item.parentElement.tagName === "CALCITE-PICK-LIST-GROUP" && item.slot === SLOTS.parentItem) {
158
+ item.parentElement.remove();
159
+ Array.from(item.parentElement.children).forEach((item) => selectedValues.delete(item.value));
160
+ }
161
+ else {
162
+ item.remove();
163
+ selectedValues.delete(item.value);
164
+ }
165
+ this.emitCalciteListChange();
166
+ }
167
+ function toggleSingleSelectItemTabbing(item, selectable) {
168
+ if (item.disabled) {
169
+ return;
170
+ }
171
+ // using attribute intentionally
172
+ if (selectable) {
173
+ item.removeAttribute("tabindex");
174
+ }
175
+ else {
176
+ item.setAttribute("tabindex", "-1");
177
+ }
178
+ }
179
+ async function setFocus(focusId) {
180
+ var _a;
181
+ if (this.filterEnabled && focusId === "filter") {
182
+ await focusElement(this.filterEl);
183
+ return;
184
+ }
185
+ const { items, multiple, selectionFollowsFocus } = this;
186
+ if (items.length === 0) {
187
+ return;
188
+ }
189
+ if (multiple) {
190
+ return (_a = filterOutDisabled(items)[0]) === null || _a === void 0 ? void 0 : _a.setFocus();
191
+ }
192
+ const filtered = filterOutDisabled(items);
193
+ const focusTarget = filtered.find((item) => item.selected) || filtered[0];
194
+ if (selectionFollowsFocus && focusTarget) {
195
+ focusTarget.selected = true;
196
+ }
197
+ return focusTarget.setFocus();
198
+ }
199
+ function setUpItems(tagName) {
200
+ this.items = Array.from(this.el.querySelectorAll(tagName));
201
+ let hasSelected = false;
202
+ const { items } = this;
203
+ items.forEach((item) => {
204
+ item.icon = this.getIconType();
205
+ if (!this.multiple) {
206
+ item.disableDeselect = true;
207
+ toggleSingleSelectItemTabbing(item, false);
208
+ }
209
+ if (item.selected) {
210
+ hasSelected = true;
211
+ toggleSingleSelectItemTabbing(item, true);
212
+ this.selectedValues.set(item.value, item);
213
+ }
214
+ });
215
+ const [first] = items;
216
+ if (!hasSelected && first && !first.disabled) {
217
+ toggleSingleSelectItemTabbing(first, true);
218
+ }
219
+ }
220
+ function deselectRemovedItems() {
221
+ const selectedValues = this.selectedValues;
222
+ const itemValues = this.items.map(({ value }) => value);
223
+ selectedValues.forEach((selectedItem) => {
224
+ if (!itemValues.includes(selectedItem.value)) {
225
+ this.selectedValues.delete(selectedItem.value);
226
+ }
227
+ });
228
+ }
229
+ function deselectSiblingItems(item) {
230
+ this.items.forEach((currentItem) => {
231
+ if (currentItem.value !== item.value) {
232
+ currentItem.toggleSelected(false);
233
+ if (this.selectedValues.has(currentItem.value)) {
234
+ this.selectedValues.delete(currentItem.value);
235
+ }
236
+ }
237
+ });
238
+ }
239
+ function selectSiblings(item, deselect = false) {
240
+ if (!this.lastSelectedItem) {
241
+ return;
242
+ }
243
+ const { items } = this;
244
+ const start = items.findIndex((currentItem) => {
245
+ return currentItem.value === this.lastSelectedItem.value;
246
+ });
247
+ const end = items.findIndex((currentItem) => {
248
+ return currentItem.value === item.value;
249
+ });
250
+ items.slice(Math.min(start, end), Math.max(start, end)).forEach((currentItem) => {
251
+ currentItem.toggleSelected(!deselect);
252
+ if (!deselect) {
253
+ this.selectedValues.set(currentItem.value, currentItem);
254
+ }
255
+ else {
256
+ this.selectedValues.delete(currentItem.value);
257
+ }
258
+ });
259
+ }
260
+ let groups;
261
+ function handleFilter(event) {
262
+ const { filteredItems } = event.currentTarget;
263
+ const values = filteredItems.map((item) => item.value);
264
+ let hasSelectedMatch = false;
265
+ if (!groups) {
266
+ groups = new Set();
267
+ }
268
+ const matchedItems = this.items.filter((item) => {
269
+ const parent = item.parentElement;
270
+ const grouped = parent.matches("calcite-pick-list-group");
271
+ if (grouped) {
272
+ groups.add(parent);
273
+ }
274
+ const matches = values.includes(item.value);
275
+ item.hidden = !matches;
276
+ if (!hasSelectedMatch) {
277
+ hasSelectedMatch = matches && item.selected;
278
+ }
279
+ return matches;
280
+ });
281
+ groups.forEach((group) => {
282
+ const hasAtLeastOneMatch = matchedItems.some((item) => group.contains(item));
283
+ group.hidden = !hasAtLeastOneMatch;
284
+ if (!hasAtLeastOneMatch) {
285
+ return;
286
+ }
287
+ const parentItem = getSlotted(group, "parent-item");
288
+ if (parentItem) {
289
+ parentItem.hidden = false;
290
+ if (matchedItems.includes(parentItem)) {
291
+ Array.from(group.children).forEach((child) => (child.hidden = false));
292
+ }
293
+ }
294
+ });
295
+ groups.clear();
296
+ if (matchedItems.length > 0 && !hasSelectedMatch && !this.multiple) {
297
+ toggleSingleSelectItemTabbing(matchedItems[0], true);
298
+ }
299
+ }
300
+ function getItemData() {
301
+ return this.items.map((item) => ({
302
+ label: item.label,
303
+ description: item.description,
304
+ metadata: item.metadata,
305
+ value: item.value
306
+ }));
307
+ }
308
+
12
309
  /*!
13
310
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
14
311
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
15
312
  * v1.0.0-beta.97
16
- */const M=({props:{disabled:t,loading:s,filterEnabled:n,dataForFilter:e,handleFilter:o,filterPlaceholder:h,setFilterEl:u,dragEnabled:f,storeAssistiveEl:d},...m})=>{const p=r("slot",null);return r(a,{"aria-busy":i(s),role:"menu",...m},r("section",null,f?r("span",{"aria-live":"assertive",class:"assistive-text",ref:d}):null,r("header",{class:{[l.sticky]:!0}},n?r("calcite-filter",{"aria-label":h,disabled:s||t,items:e,onCalciteFilterChange:o,placeholder:h,ref:u}):null,r("slot",{name:c.menuActions})),s?r("calcite-scrim",{loading:s}):null,p))};export{M as L,L as a,d as b,m as c,I as d,p as e,b as f,U as g,k as h,f as i,v as j,g as k,x as l,h as m,E as n,F as o,w as p,y as r,P as s}
313
+ */
314
+ const List = ({ props: { disabled, loading, filterEnabled, dataForFilter, handleFilter, filterPlaceholder, setFilterEl, dragEnabled, storeAssistiveEl }, ...rest }) => {
315
+ const defaultSlot = h("slot", null);
316
+ return (h(Host, { "aria-busy": toAriaBoolean(loading), role: "menu", ...rest }, h("section", null, dragEnabled ? (h("span", { "aria-live": "assertive", class: "assistive-text", ref: storeAssistiveEl })) : null, h("header", { class: { [CSS.sticky]: true } }, filterEnabled ? (h("calcite-filter", { "aria-label": filterPlaceholder, disabled: loading || disabled, items: dataForFilter, onCalciteFilterChange: handleFilter, placeholder: filterPlaceholder, ref: setFilterEl })) : null, h("slot", { name: SLOTS$1.menuActions })), loading ? h("calcite-scrim", { loading: loading }) : null, defaultSlot)));
317
+ };
318
+
319
+ export { List as L, deselectSiblingItems as a, initializeObserver as b, cleanUpObserver as c, deselectRemovedItems as d, calciteListItemChangeHandler as e, calciteInternalListItemValueChangeHandler as f, getItemData as g, handleFilter as h, initialize as i, calciteListFocusOutHandler as j, keyDownHandler as k, setUpItems as l, mutationObserverCallback as m, setFocus as n, getItemIndex as o, moveItemIndex as p, removeItem as r, selectSiblings as s };
@@ -0,0 +1,248 @@
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 { l as loadModules } from './p-1c567f3a.js';
8
+ import { g as getLocaleComponentStrings } from './p-44da2507.js';
9
+ import { a as EExpandType } from './p-dbc9a5a8.js';
10
+ import './p-3b010ce1.js';
11
+
12
+ const mapCardCss = ":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.action-bar-size{height:3.5rem;width:100%}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.width-1-7{width:14.28%}.width-1-6{width:16.66%}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.block-button{border-bottom:0}.block-button:hover{background-color:var(--calcite-ui-foreground-2)}.block-button:active{background-color:var(--calcite-ui-foreground-3)}.map-view{padding:0;margin:0;height:100%;width:100%}.map-list{position:absolute;inset:3.5rem 0 0 0;display:flex;flex-direction:column;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-scrim-background);z-index:1;width:100%;height:-moz-fit-content;height:fit-content}.map-height{height:calc(100% - 58px)}.display-none{display:none}.esri-zoom{display:none !important}";
13
+
14
+ const MapCard = class {
15
+ constructor(hostRef) {
16
+ registerInstance(this, hostRef);
17
+ this.expandMap = createEvent(this, "expandMap", 7);
18
+ /**
19
+ * string: the id of map currently displayed
20
+ */
21
+ this._loadedId = "";
22
+ /**
23
+ * string: the id of the container div for the map
24
+ */
25
+ this._mapDivId = "map-div";
26
+ this.mapInfos = [];
27
+ this._mapListExpanded = false;
28
+ this._mapView = undefined;
29
+ this._translations = undefined;
30
+ this._webMapId = "";
31
+ }
32
+ //--------------------------------------------------------------------------
33
+ //
34
+ // Watch handlers
35
+ //
36
+ //--------------------------------------------------------------------------
37
+ /**
38
+ * Called each time the _webMapId prop is changed.
39
+ */
40
+ _webMapIdWatchHandler(v, oldV) {
41
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
42
+ this._loadMap(v);
43
+ }
44
+ }
45
+ /**
46
+ * Called each time the mapInfos prop is changed.
47
+ */
48
+ mapInfosWatchHandler(v, oldV) {
49
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
50
+ this._loadMap(v[0].id);
51
+ }
52
+ }
53
+ //--------------------------------------------------------------------------
54
+ //
55
+ // Functions (lifecycle)
56
+ //
57
+ //--------------------------------------------------------------------------
58
+ /**
59
+ * StencilJS: Called once just after the component is first connected to the DOM.
60
+ */
61
+ async componentWillLoad() {
62
+ await this._getTranslations();
63
+ await this._initModules();
64
+ }
65
+ /**
66
+ * StencilJS: Called after every render.
67
+ */
68
+ componentDidRender() {
69
+ // the container node for the map view needs to exist before the view is created
70
+ this._loadMap(this._webMapId);
71
+ }
72
+ /**
73
+ * Renders the component.
74
+ */
75
+ render() {
76
+ return (h(Host, null, this._getToolbar(), this._getMapNameList(this._mapListExpanded), h("div", { class: "map-height", id: this._mapDivId })));
77
+ }
78
+ //--------------------------------------------------------------------------
79
+ //
80
+ // Functions (protected)
81
+ //
82
+ //--------------------------------------------------------------------------
83
+ /**
84
+ * Load esri javascript api modules
85
+ *
86
+ * @returns Promise resolving when function is done
87
+ *
88
+ * @protected
89
+ */
90
+ async _initModules() {
91
+ const [WebMap, MapView] = await loadModules([
92
+ "esri/WebMap",
93
+ "esri/views/MapView"
94
+ ]);
95
+ this.WebMap = WebMap;
96
+ this.MapView = MapView;
97
+ }
98
+ /**
99
+ * Create the toolbar (controls used for map and app interactions)
100
+ *
101
+ * @returns The dom node with the toolbar
102
+ *
103
+ * @protected
104
+ */
105
+ _getToolbar() {
106
+ return (h("div", { class: "display-flex" }, h("calcite-action-bar", { class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: "header" }, this._getMapPicker(), this._getActionGroup("home", false, this._translations.home, () => this._goHome()), this._getActionGroup("list", false, this._translations.list, () => this._showList()), this._getActionGroup("magnifying-glass-plus", false, this._translations.search, () => this._search()), this._getActionGroup("plus", false, this._translations.zoomIn, () => this._zoomIn()), this._getActionGroup("minus", false, this._translations.zoomOut, () => this._zoomOut()), this._getActionGroup("expand", false, this._translations.expand, () => this._expand()))));
107
+ }
108
+ /**
109
+ * Load the webmap for the provided id
110
+ *
111
+ * @param id the webmap id to load
112
+ *
113
+ * @returns void
114
+ *
115
+ * @protected
116
+ */
117
+ _loadMap(id) {
118
+ // on the first render use the first child of the provided mapInfos
119
+ if (id === "" && this.mapInfos.length > 0) {
120
+ id = this.mapInfos[0].id;
121
+ }
122
+ if (this._loadedId !== id) {
123
+ const webMap = new this.WebMap({
124
+ portalItem: { id }
125
+ });
126
+ this._mapView = new this.MapView({
127
+ container: this._mapDivId,
128
+ map: webMap,
129
+ // TODO consider this more...seems to cause less overflow issues when the component is resized
130
+ resizeAlign: "top-left"
131
+ });
132
+ this._loadedId = id;
133
+ }
134
+ }
135
+ /**
136
+ * Get a calcite action group for the current action
137
+ *
138
+ * @param icon the icon to display for the current action
139
+ * @param disabled should the action be disabled
140
+ * @param tip information tip to display helpful details to end user
141
+ * @param func the associated onClick function to execute
142
+ *
143
+ * @returns the dom node for the action group
144
+ *
145
+ * @protected
146
+ */
147
+ _getActionGroup(icon, disabled, tip, func) {
148
+ return (h("calcite-action-group", { class: "action-center width-1-6", layout: "horizontal" }, h("calcite-action", { alignment: "center", class: "width-full height-full", compact: false, disabled: disabled, icon: icon, id: icon, onClick: func, text: "" }, h("calcite-icon", { icon: "cheveron-up", scale: "s", slot: "icon" })), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, tip))));
149
+ }
150
+ /**
151
+ * Get a calcite action group for the map list
152
+ * Actions do not support multiple icons so this uses a block
153
+ *
154
+ * @returns the dom node for the action group
155
+ *
156
+ * @protected
157
+ */
158
+ _getMapPicker() {
159
+ const mapListIcon = this._mapListExpanded ? "chevron-up" : "chevron-down";
160
+ return (h("calcite-action-group", { class: "action-center width-1-6", layout: "horizontal" }, h("calcite-block", { class: "action-center block-button width-full height-full", heading: '', onClick: () => this._chooseMap() }, h("calcite-icon", { icon: "map", scale: "s", slot: "icon" }), h("calcite-icon", { icon: mapListIcon, scale: "s", slot: "icon" }), h("calcite-tooltip", { label: "", placement: "bottom" }, h("span", null, this._translations.mapName)))));
161
+ }
162
+ /**
163
+ * Get a pick list for all maps in mapInfos
164
+ *
165
+ * @param show boolean to indicate if the list should be shown or hidden
166
+ *
167
+ * @returns the dom node for the list of maps
168
+ *
169
+ * @protected
170
+ */
171
+ _getMapNameList(show) {
172
+ const listClass = show ? "map-list" : "display-none";
173
+ return (h("div", { class: listClass }, h("calcite-pick-list", { id: "mapList" }, this.mapInfos.map(mapInfo => {
174
+ return (h("calcite-pick-list-item", { label: mapInfo.name, onClick: () => this._webMapSelected(mapInfo.id), selected: mapInfo.id === this._loadedId, value: mapInfo.id }));
175
+ }))));
176
+ }
177
+ /**
178
+ * Fired when the user clicks on the map list
179
+ *
180
+ * @param id the web map id selected from the list
181
+ *
182
+ * @returns void
183
+ *
184
+ * @protected
185
+ */
186
+ _webMapSelected(id) {
187
+ this._mapListExpanded = false;
188
+ this._webMapId = id;
189
+ }
190
+ /**
191
+ * Toggles the open/close state of the map list
192
+ *
193
+ * @returns the dom node for the action group
194
+ *
195
+ * @protected
196
+ */
197
+ _chooseMap() {
198
+ this._mapListExpanded = !this._mapListExpanded;
199
+ }
200
+ // Need to discuss this with the team
201
+ _goHome() {
202
+ alert("go home");
203
+ }
204
+ // need to discuss this with the team
205
+ _showList() {
206
+ alert("show list");
207
+ }
208
+ // Need to discuss this with the team
209
+ _search() {
210
+ alert("search");
211
+ }
212
+ // Need to explore map fixed zoom in considerations
213
+ _zoomIn() {
214
+ alert("zoom in");
215
+ }
216
+ // Need to explore map fixed zoom out considerations
217
+ _zoomOut() {
218
+ alert("zoom out");
219
+ }
220
+ /**
221
+ * Emit the expand map event
222
+ *
223
+ * @returns void
224
+ *
225
+ * @protected
226
+ */
227
+ _expand() {
228
+ this.expandMap.emit(EExpandType.EXPAND);
229
+ }
230
+ /**
231
+ * Fetches the component's translations
232
+ *
233
+ * @returns Promise when complete
234
+ * @protected
235
+ */
236
+ async _getTranslations() {
237
+ const messages = await getLocaleComponentStrings(this.el);
238
+ this._translations = messages[0];
239
+ }
240
+ get el() { return getElement(this); }
241
+ static get watchers() { return {
242
+ "_webMapId": ["_webMapIdWatchHandler"],
243
+ "mapInfos": ["mapInfosWatchHandler"]
244
+ }; }
245
+ };
246
+ MapCard.style = mapCardCss;
247
+
248
+ export { MapCard as map_card };