@esri/solutions-components 0.2.6 → 0.2.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 (314) hide show
  1. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  2. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  3. package/dist/cjs/{pciUtils-6a806ba4.js → pciUtils-423cfc68.js} +25 -7
  4. package/dist/collection/demos/deduct-calculator.html +2 -5
  5. package/dist/collection/demos/new-public-notification.html +6 -4
  6. package/dist/collection/utils/pciUtils.js +25 -7
  7. package/dist/collection/utils/pciUtils.ts +30 -7
  8. package/dist/components/ExpandToggle.js +110 -0
  9. package/dist/components/Heading.js +22 -0
  10. package/dist/components/_commonjsHelpers.js +22 -0
  11. package/dist/components/action-bar.js +276 -0
  12. package/dist/components/action-group.js +149 -0
  13. package/dist/components/action-menu.js +356 -0
  14. package/dist/components/action.js +214 -0
  15. package/dist/components/add-record-modal.d.ts +11 -0
  16. package/dist/components/add-record-modal.js +171 -0
  17. package/dist/components/array.js +15 -0
  18. package/dist/components/block.js +272 -0
  19. package/dist/components/buffer-tools.d.ts +11 -0
  20. package/dist/components/buffer-tools.js +11 -0
  21. package/dist/components/buffer-tools2.js +262 -0
  22. package/dist/components/button.js +263 -0
  23. package/dist/components/calcite-accordion-item.js +244 -0
  24. package/dist/components/calcite-accordion.js +180 -0
  25. package/dist/components/calcite-action-bar.js +11 -0
  26. package/dist/components/calcite-action-group.js +11 -0
  27. package/dist/components/calcite-action-menu.js +11 -0
  28. package/dist/components/calcite-action-pad.js +197 -0
  29. package/dist/components/calcite-action.js +11 -0
  30. package/dist/components/calcite-alert.js +297 -0
  31. package/dist/components/calcite-avatar.js +182 -0
  32. package/dist/components/calcite-block-section.js +155 -0
  33. package/dist/components/calcite-block.js +11 -0
  34. package/dist/components/calcite-button.js +11 -0
  35. package/dist/components/calcite-card.js +187 -0
  36. package/dist/components/calcite-checkbox.js +11 -0
  37. package/dist/components/calcite-chip.js +11 -0
  38. package/dist/components/calcite-color-picker-hex-input.js +11 -0
  39. package/dist/components/calcite-color-picker-swatch.js +11 -0
  40. package/dist/components/calcite-color-picker.js +1036 -0
  41. package/dist/components/calcite-combobox-item-group.js +75 -0
  42. package/dist/components/calcite-combobox-item.js +11 -0
  43. package/dist/components/calcite-combobox.js +11 -0
  44. package/dist/components/calcite-date-picker-day.js +11 -0
  45. package/dist/components/calcite-date-picker-month-header.js +11 -0
  46. package/dist/components/calcite-date-picker-month.js +11 -0
  47. package/dist/components/calcite-date-picker.js +11 -0
  48. package/dist/components/calcite-dropdown-group.js +11 -0
  49. package/dist/components/calcite-dropdown-item.js +11 -0
  50. package/dist/components/calcite-dropdown.js +11 -0
  51. package/dist/components/calcite-fab.js +144 -0
  52. package/dist/components/calcite-filter.js +195 -0
  53. package/dist/components/calcite-flow-item.js +243 -0
  54. package/dist/components/calcite-flow.js +147 -0
  55. package/dist/components/calcite-graph.js +11 -0
  56. package/dist/components/calcite-handle.js +11 -0
  57. package/dist/components/calcite-icon.js +11 -0
  58. package/dist/components/calcite-inline-editable.js +294 -0
  59. package/dist/components/calcite-input-date-picker.js +713 -0
  60. package/dist/components/calcite-input-message.js +11 -0
  61. package/dist/components/calcite-input-number.js +637 -0
  62. package/dist/components/calcite-input-text.js +400 -0
  63. package/dist/components/calcite-input-time-picker.js +434 -0
  64. package/dist/components/calcite-input.js +11 -0
  65. package/dist/components/calcite-label.js +11 -0
  66. package/dist/components/calcite-link.js +11 -0
  67. package/dist/components/calcite-list-item-group.js +65 -0
  68. package/dist/components/calcite-list-item.js +11 -0
  69. package/dist/components/calcite-list.js +11 -0
  70. package/dist/components/calcite-loader.js +11 -0
  71. package/dist/components/calcite-modal.js +11 -0
  72. package/dist/components/calcite-notice.js +11 -0
  73. package/dist/components/calcite-option-group.js +64 -0
  74. package/dist/components/calcite-option.js +11 -0
  75. package/dist/components/calcite-pagination.js +258 -0
  76. package/dist/components/calcite-panel.js +11 -0
  77. package/dist/components/calcite-pick-list-group.js +74 -0
  78. package/dist/components/calcite-pick-list-item.js +11 -0
  79. package/dist/components/calcite-pick-list.js +11 -0
  80. package/dist/components/calcite-popover-manager.js +94 -0
  81. package/dist/components/calcite-popover.js +11 -0
  82. package/dist/components/calcite-progress.js +11 -0
  83. package/dist/components/calcite-radio-button-group.js +132 -0
  84. package/dist/components/calcite-radio-button.js +310 -0
  85. package/dist/components/calcite-radio-group-item.js +11 -0
  86. package/dist/components/calcite-radio-group.js +11 -0
  87. package/dist/components/calcite-rating.js +201 -0
  88. package/dist/components/calcite-scrim.js +11 -0
  89. package/dist/components/calcite-select.js +11 -0
  90. package/dist/components/calcite-shell-center-row.js +100 -0
  91. package/dist/components/calcite-shell-panel.js +11 -0
  92. package/dist/components/calcite-shell.js +11 -0
  93. package/dist/components/calcite-slider.js +11 -0
  94. package/dist/components/calcite-sortable-list.js +202 -0
  95. package/dist/components/calcite-split-button.js +11 -0
  96. package/dist/components/calcite-stepper-item.js +271 -0
  97. package/dist/components/calcite-stepper.js +256 -0
  98. package/dist/components/calcite-switch.js +11 -0
  99. package/dist/components/calcite-tab-nav.js +11 -0
  100. package/dist/components/calcite-tab-title.js +11 -0
  101. package/dist/components/calcite-tab.js +11 -0
  102. package/dist/components/calcite-tabs.js +11 -0
  103. package/dist/components/calcite-tile-select-group.js +65 -0
  104. package/dist/components/calcite-tile-select.js +266 -0
  105. package/dist/components/calcite-tile.js +11 -0
  106. package/dist/components/calcite-time-picker.js +11 -0
  107. package/dist/components/calcite-tip-group.js +41 -0
  108. package/dist/components/calcite-tip-manager.js +223 -0
  109. package/dist/components/calcite-tip.js +162 -0
  110. package/dist/components/calcite-tooltip-manager.js +57 -0
  111. package/dist/components/calcite-tooltip.js +11 -0
  112. package/dist/components/calcite-tree-item.js +11 -0
  113. package/dist/components/calcite-tree.js +11 -0
  114. package/dist/components/calcite-value-list-item.js +11 -0
  115. package/dist/components/calcite-value-list.js +11 -0
  116. package/dist/components/card-manager.d.ts +11 -0
  117. package/dist/components/card-manager.js +143 -0
  118. package/dist/components/check-list.d.ts +11 -0
  119. package/dist/components/check-list.js +11 -0
  120. package/dist/components/check-list2.js +131 -0
  121. package/dist/components/checkbox.js +165 -0
  122. package/dist/components/chip.js +170 -0
  123. package/dist/components/color-picker-hex-input.js +363 -0
  124. package/dist/components/color-picker-swatch.js +2034 -0
  125. package/dist/components/combobox-item.js +182 -0
  126. package/dist/components/combobox.js +912 -0
  127. package/dist/components/comment-card.d.ts +11 -0
  128. package/dist/components/comment-card.js +90 -0
  129. package/dist/components/conditionalSlot.js +50 -0
  130. package/dist/components/config-buffer-tools.d.ts +11 -0
  131. package/dist/components/config-buffer-tools.js +187 -0
  132. package/dist/components/config-draw-tools.d.ts +11 -0
  133. package/dist/components/config-draw-tools.js +121 -0
  134. package/dist/components/config-layer-picker.d.ts +11 -0
  135. package/dist/components/config-layer-picker.js +163 -0
  136. package/dist/components/config-pdf-download.d.ts +11 -0
  137. package/dist/components/config-pdf-download.js +154 -0
  138. package/dist/components/crowdsource-manager.d.ts +11 -0
  139. package/dist/components/crowdsource-manager.js +90 -0
  140. package/dist/components/crowdsource-reporter.d.ts +11 -0
  141. package/dist/components/crowdsource-reporter.js +90 -0
  142. package/dist/components/csvUtils.js +74 -0
  143. package/dist/components/date-picker-day.js +111 -0
  144. package/dist/components/date-picker-month-header.js +224 -0
  145. package/dist/components/date-picker-month.js +344 -0
  146. package/dist/components/date-picker.js +575 -0
  147. package/dist/components/date.js +180 -0
  148. package/dist/components/debounce.js +487 -0
  149. package/dist/components/deduct-calculator.d.ts +11 -0
  150. package/dist/components/deduct-calculator.js +11 -0
  151. package/dist/components/deduct-calculator2.js +1002 -0
  152. package/dist/components/dom.js +231 -0
  153. package/dist/components/dropdown-group.js +96 -0
  154. package/dist/components/dropdown-item.js +232 -0
  155. package/dist/components/dropdown.js +505 -0
  156. package/dist/components/edit-record-modal.d.ts +11 -0
  157. package/dist/components/edit-record-modal.js +11 -0
  158. package/dist/components/edit-record-modal2.js +161 -0
  159. package/dist/components/filter.js +763 -0
  160. package/dist/components/floating-ui.js +1768 -0
  161. package/dist/components/form.js +228 -0
  162. package/dist/components/graph.js +254 -0
  163. package/dist/components/guid.js +24 -0
  164. package/dist/components/handle.js +119 -0
  165. package/dist/components/icon.js +202 -0
  166. package/dist/components/index.d.ts +61 -0
  167. package/dist/components/index.js +196 -0
  168. package/dist/components/index2.js +199 -0
  169. package/dist/components/info-card.d.ts +11 -0
  170. package/dist/components/info-card.js +11 -0
  171. package/dist/components/info-card2.js +97 -0
  172. package/dist/components/input-message.js +101 -0
  173. package/dist/components/input.js +740 -0
  174. package/dist/components/interactive.js +51 -0
  175. package/dist/components/interfaces.js +19 -0
  176. package/dist/components/interfaces2.js +21 -0
  177. package/dist/components/interfaces3.js +80 -0
  178. package/dist/components/json-editor.d.ts +11 -0
  179. package/dist/components/json-editor.js +11 -0
  180. package/dist/components/json-editor2.js +441 -0
  181. package/dist/components/key.js +16 -0
  182. package/dist/components/label.js +106 -0
  183. package/dist/components/label2.js +131 -0
  184. package/dist/components/labelFormats.js +210 -0
  185. package/dist/components/layer-table.d.ts +11 -0
  186. package/dist/components/layer-table.js +453 -0
  187. package/dist/components/link.js +123 -0
  188. package/dist/components/list-item.d.ts +11 -0
  189. package/dist/components/list-item.js +90 -0
  190. package/dist/components/list-item2.js +149 -0
  191. package/dist/components/list.js +83 -0
  192. package/dist/components/loadModules.js +28 -0
  193. package/dist/components/loader.js +116 -0
  194. package/dist/components/locale.js +412 -0
  195. package/dist/components/locale2.js +413 -0
  196. package/dist/components/map-card.d.ts +11 -0
  197. package/dist/components/map-card.js +354 -0
  198. package/dist/components/map-draw-tools.d.ts +11 -0
  199. package/dist/components/map-draw-tools.js +11 -0
  200. package/dist/components/map-draw-tools2.js +228 -0
  201. package/dist/components/map-layer-picker.d.ts +11 -0
  202. package/dist/components/map-layer-picker.js +11 -0
  203. package/dist/components/map-layer-picker2.js +188 -0
  204. package/dist/components/map-search.d.ts +11 -0
  205. package/dist/components/map-search.js +155 -0
  206. package/dist/components/map-select-tools.d.ts +11 -0
  207. package/dist/components/map-select-tools.js +11 -0
  208. package/dist/components/map-select-tools2.js +588 -0
  209. package/dist/components/mapViewUtils.js +129 -0
  210. package/dist/components/math.js +24 -0
  211. package/dist/components/media-card.d.ts +11 -0
  212. package/dist/components/media-card.js +11 -0
  213. package/dist/components/media-card2.js +177 -0
  214. package/dist/components/modal.js +495 -0
  215. package/dist/components/nonChromiumPlatformUtils.js +503 -0
  216. package/dist/components/notice.js +192 -0
  217. package/dist/components/observers.js +56 -0
  218. package/dist/components/openCloseComponent.js +56 -0
  219. package/dist/components/option.js +109 -0
  220. package/dist/components/panel.js +459 -0
  221. package/dist/components/pci-calculator.d.ts +11 -0
  222. package/dist/components/pci-calculator.js +193 -0
  223. package/dist/components/pdf-download.d.ts +11 -0
  224. package/dist/components/pdf-download.js +11 -0
  225. package/dist/components/pdf-download2.js +189 -0
  226. package/dist/components/pick-list-item.js +255 -0
  227. package/dist/components/pick-list.js +170 -0
  228. package/dist/components/popover.js +500 -0
  229. package/dist/components/progress.js +60 -0
  230. package/dist/components/public-notification.d.ts +11 -0
  231. package/dist/components/public-notification.js +825 -0
  232. package/dist/components/publicNotificationStore.js +38 -0
  233. package/dist/components/queryUtils.js +187 -0
  234. package/dist/components/radio-group-item.js +101 -0
  235. package/dist/components/radio-group.js +235 -0
  236. package/dist/components/refine-selection-tools.d.ts +11 -0
  237. package/dist/components/refine-selection-tools.js +11 -0
  238. package/dist/components/refine-selection-tools2.js +492 -0
  239. package/dist/components/refine-selection.d.ts +11 -0
  240. package/dist/components/refine-selection.js +11 -0
  241. package/dist/components/refine-selection2.js +376 -0
  242. package/dist/components/resources.js +24 -0
  243. package/dist/components/resources2.js +21 -0
  244. package/dist/components/resources3.js +38 -0
  245. package/dist/components/scrim.js +83 -0
  246. package/dist/components/select.js +259 -0
  247. package/dist/components/shared-list-render.js +319 -0
  248. package/dist/components/shell-panel.js +281 -0
  249. package/dist/components/shell.js +121 -0
  250. package/dist/components/slider.js +896 -0
  251. package/dist/components/solution-configuration.d.ts +11 -0
  252. package/dist/components/solution-configuration.js +2233 -0
  253. package/dist/components/solution-contents.d.ts +11 -0
  254. package/dist/components/solution-contents.js +11 -0
  255. package/dist/components/solution-contents2.js +128 -0
  256. package/dist/components/solution-item-details.d.ts +11 -0
  257. package/dist/components/solution-item-details.js +11 -0
  258. package/dist/components/solution-item-details2.js +234 -0
  259. package/dist/components/solution-item-icon.d.ts +11 -0
  260. package/dist/components/solution-item-icon.js +11 -0
  261. package/dist/components/solution-item-icon2.js +342 -0
  262. package/dist/components/solution-item-sharing.d.ts +11 -0
  263. package/dist/components/solution-item-sharing.js +11 -0
  264. package/dist/components/solution-item-sharing2.js +167 -0
  265. package/dist/components/solution-item.d.ts +11 -0
  266. package/dist/components/solution-item.js +11 -0
  267. package/dist/components/solution-item2.js +315 -0
  268. package/dist/components/solution-organization-variables.d.ts +11 -0
  269. package/dist/components/solution-organization-variables.js +11 -0
  270. package/dist/components/solution-organization-variables2.js +132 -0
  271. package/dist/components/solution-resource-item.d.ts +11 -0
  272. package/dist/components/solution-resource-item.js +11 -0
  273. package/dist/components/solution-resource-item2.js +356 -0
  274. package/dist/components/solution-spatial-ref.d.ts +11 -0
  275. package/dist/components/solution-spatial-ref.js +11 -0
  276. package/dist/components/solution-spatial-ref2.js +21446 -0
  277. package/dist/components/solution-store.js +4092 -0
  278. package/dist/components/solution-template-data.d.ts +11 -0
  279. package/dist/components/solution-template-data.js +11 -0
  280. package/dist/components/solution-template-data2.js +233 -0
  281. package/dist/components/solution-variables.d.ts +11 -0
  282. package/dist/components/solution-variables.js +11 -0
  283. package/dist/components/solution-variables2.js +150 -0
  284. package/dist/components/sortable.esm.js +3026 -0
  285. package/dist/components/split-button.js +165 -0
  286. package/dist/components/store-manager.d.ts +11 -0
  287. package/dist/components/store-manager.js +83 -0
  288. package/dist/components/switch.js +139 -0
  289. package/dist/components/tab-nav.js +241 -0
  290. package/dist/components/tab-title.js +276 -0
  291. package/dist/components/tab.js +154 -0
  292. package/dist/components/tabs.js +188 -0
  293. package/dist/components/tile.js +129 -0
  294. package/dist/components/time-picker.js +943 -0
  295. package/dist/components/tooltip.js +399 -0
  296. package/dist/components/tree-item.js +294 -0
  297. package/dist/components/tree.js +327 -0
  298. package/dist/components/utils.js +119 -0
  299. package/dist/components/utils2.js +51 -0
  300. package/dist/components/value-list-item.js +204 -0
  301. package/dist/components/value-list.js +333 -0
  302. package/dist/esm/deduct-calculator.entry.js +1 -1
  303. package/dist/esm/pci-calculator.entry.js +1 -1
  304. package/dist/esm/{pciUtils-e3007a1c.js → pciUtils-ecda46e5.js} +25 -7
  305. package/dist/solutions-components/demos/deduct-calculator.html +2 -5
  306. package/dist/solutions-components/demos/new-public-notification.html +6 -4
  307. package/dist/solutions-components/{p-ff80ffbb.entry.js → p-0512635b.entry.js} +1 -1
  308. package/dist/solutions-components/{p-5ec407c2.entry.js → p-0c088725.entry.js} +1 -1
  309. package/dist/solutions-components/p-cc815aca.js +21 -0
  310. package/dist/solutions-components/solutions-components.esm.js +1 -1
  311. package/dist/solutions-components/utils/pciUtils.ts +30 -7
  312. package/dist/types/utils/pciUtils.d.ts +2 -1
  313. package/package.json +4 -3
  314. package/dist/solutions-components/p-647bbd18.js +0 -21
@@ -0,0 +1,354 @@
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 { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
+ import { l as loadModules } from './loadModules.js';
8
+ import { g as getLocaleComponentStrings } from './locale.js';
9
+ import { E as EExpandType } from './interfaces3.js';
10
+ import { d as defineCustomElement$e } from './action.js';
11
+ import { d as defineCustomElement$d } from './action-bar.js';
12
+ import { d as defineCustomElement$c } from './action-group.js';
13
+ import { d as defineCustomElement$b } from './action-menu.js';
14
+ import { d as defineCustomElement$a } from './block.js';
15
+ import { d as defineCustomElement$9 } from './handle.js';
16
+ import { d as defineCustomElement$8 } from './icon.js';
17
+ import { d as defineCustomElement$7 } from './loader.js';
18
+ import { d as defineCustomElement$6 } from './pick-list.js';
19
+ import { d as defineCustomElement$5 } from './pick-list-item.js';
20
+ import { d as defineCustomElement$4 } from './popover.js';
21
+ import { d as defineCustomElement$3 } from './scrim.js';
22
+ import { d as defineCustomElement$2 } from './tooltip.js';
23
+
24
+ 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}";
25
+
26
+ const MapCard$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
27
+ constructor() {
28
+ super();
29
+ this.__registerHost();
30
+ this.expandMap = createEvent(this, "expandMap", 7);
31
+ //--------------------------------------------------------------------------
32
+ //
33
+ // Properties (protected)
34
+ //
35
+ //--------------------------------------------------------------------------
36
+ /**
37
+ * string: the id of map currently displayed
38
+ */
39
+ this._loadedId = "";
40
+ /**
41
+ * string: the id of the container div for the map
42
+ */
43
+ this._mapDivId = "map-div";
44
+ this.mapInfos = [];
45
+ this._mapListExpanded = false;
46
+ this._mapView = undefined;
47
+ this._translations = undefined;
48
+ this._webMapId = "";
49
+ }
50
+ //--------------------------------------------------------------------------
51
+ //
52
+ // Watch handlers
53
+ //
54
+ //--------------------------------------------------------------------------
55
+ /**
56
+ * Called each time the _webMapId prop is changed.
57
+ */
58
+ _webMapIdWatchHandler(v, oldV) {
59
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
60
+ this._loadMap(v);
61
+ }
62
+ }
63
+ /**
64
+ * Called each time the mapInfos prop is changed.
65
+ */
66
+ mapInfosWatchHandler(v, oldV) {
67
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
68
+ this._loadMap(v[0].id);
69
+ }
70
+ }
71
+ //--------------------------------------------------------------------------
72
+ //
73
+ // Functions (lifecycle)
74
+ //
75
+ //--------------------------------------------------------------------------
76
+ /**
77
+ * StencilJS: Called once just after the component is first connected to the DOM.
78
+ */
79
+ async componentWillLoad() {
80
+ await this._getTranslations();
81
+ await this._initModules();
82
+ }
83
+ /**
84
+ * StencilJS: Called after every render.
85
+ */
86
+ componentDidRender() {
87
+ // the container node for the map view needs to exist before the view is created
88
+ this._loadMap(this._webMapId);
89
+ }
90
+ /**
91
+ * Renders the component.
92
+ */
93
+ render() {
94
+ return (h(Host, null, this._getToolbar(), this._getMapNameList(this._mapListExpanded), h("div", { class: "map-height", id: this._mapDivId })));
95
+ }
96
+ //--------------------------------------------------------------------------
97
+ //
98
+ // Functions (protected)
99
+ //
100
+ //--------------------------------------------------------------------------
101
+ /**
102
+ * Load esri javascript api modules
103
+ *
104
+ * @returns Promise resolving when function is done
105
+ *
106
+ * @protected
107
+ */
108
+ async _initModules() {
109
+ const [WebMap, MapView] = await loadModules([
110
+ "esri/WebMap",
111
+ "esri/views/MapView"
112
+ ]);
113
+ this.WebMap = WebMap;
114
+ this.MapView = MapView;
115
+ }
116
+ /**
117
+ * Create the toolbar (controls used for map and app interactions)
118
+ *
119
+ * @returns The dom node with the toolbar
120
+ *
121
+ * @protected
122
+ */
123
+ _getToolbar() {
124
+ 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()))));
125
+ }
126
+ /**
127
+ * Load the webmap for the provided id
128
+ *
129
+ * @param id the webmap id to load
130
+ *
131
+ * @returns void
132
+ *
133
+ * @protected
134
+ */
135
+ _loadMap(id) {
136
+ // on the first render use the first child of the provided mapInfos
137
+ if (id === "" && this.mapInfos.length > 0) {
138
+ id = this.mapInfos[0].id;
139
+ }
140
+ if (this._loadedId !== id) {
141
+ const webMap = new this.WebMap({
142
+ portalItem: { id }
143
+ });
144
+ this._mapView = new this.MapView({
145
+ container: this._mapDivId,
146
+ map: webMap,
147
+ // TODO consider this more...seems to cause less overflow issues when the component is resized
148
+ resizeAlign: "top-left"
149
+ });
150
+ this._loadedId = id;
151
+ }
152
+ }
153
+ /**
154
+ * Get a calcite action group for the current action
155
+ *
156
+ * @param icon the icon to display for the current action
157
+ * @param disabled should the action be disabled
158
+ * @param tip information tip to display helpful details to end user
159
+ * @param func the associated onClick function to execute
160
+ *
161
+ * @returns the dom node for the action group
162
+ *
163
+ * @protected
164
+ */
165
+ _getActionGroup(icon, disabled, tip, func) {
166
+ 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))));
167
+ }
168
+ /**
169
+ * Get a calcite action group for the map list
170
+ * Actions do not support multiple icons so this uses a block
171
+ *
172
+ * @returns the dom node for the action group
173
+ *
174
+ * @protected
175
+ */
176
+ _getMapPicker() {
177
+ const mapListIcon = this._mapListExpanded ? "chevron-up" : "chevron-down";
178
+ 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)))));
179
+ }
180
+ /**
181
+ * Get a pick list for all maps in mapInfos
182
+ *
183
+ * @param show boolean to indicate if the list should be shown or hidden
184
+ *
185
+ * @returns the dom node for the list of maps
186
+ *
187
+ * @protected
188
+ */
189
+ _getMapNameList(show) {
190
+ const listClass = show ? "map-list" : "display-none";
191
+ return (h("div", { class: listClass }, h("calcite-pick-list", { id: "mapList" }, this.mapInfos.map(mapInfo => {
192
+ return (h("calcite-pick-list-item", { label: mapInfo.name, onClick: () => this._webMapSelected(mapInfo.id), selected: mapInfo.id === this._loadedId, value: mapInfo.id }));
193
+ }))));
194
+ }
195
+ /**
196
+ * Fired when the user clicks on the map list
197
+ *
198
+ * @param id the web map id selected from the list
199
+ *
200
+ * @returns void
201
+ *
202
+ * @protected
203
+ */
204
+ _webMapSelected(id) {
205
+ this._mapListExpanded = false;
206
+ this._webMapId = id;
207
+ }
208
+ /**
209
+ * Toggles the open/close state of the map list
210
+ *
211
+ * @returns the dom node for the action group
212
+ *
213
+ * @protected
214
+ */
215
+ _chooseMap() {
216
+ this._mapListExpanded = !this._mapListExpanded;
217
+ }
218
+ // Need to discuss this with the team
219
+ _goHome() {
220
+ alert("go home");
221
+ }
222
+ // need to discuss this with the team
223
+ _showList() {
224
+ alert("show list");
225
+ }
226
+ // Need to discuss this with the team
227
+ _search() {
228
+ alert("search");
229
+ }
230
+ // Need to explore map fixed zoom in considerations
231
+ _zoomIn() {
232
+ alert("zoom in");
233
+ }
234
+ // Need to explore map fixed zoom out considerations
235
+ _zoomOut() {
236
+ alert("zoom out");
237
+ }
238
+ /**
239
+ * Emit the expand map event
240
+ *
241
+ * @returns void
242
+ *
243
+ * @protected
244
+ */
245
+ _expand() {
246
+ this.expandMap.emit(EExpandType.EXPAND);
247
+ }
248
+ /**
249
+ * Fetches the component's translations
250
+ *
251
+ * @returns Promise when complete
252
+ * @protected
253
+ */
254
+ async _getTranslations() {
255
+ const messages = await getLocaleComponentStrings(this.el);
256
+ this._translations = messages[0];
257
+ }
258
+ get el() { return this; }
259
+ static get watchers() { return {
260
+ "_webMapId": ["_webMapIdWatchHandler"],
261
+ "mapInfos": ["mapInfosWatchHandler"]
262
+ }; }
263
+ static get style() { return mapCardCss; }
264
+ }, [0, "map-card", {
265
+ "mapInfos": [16],
266
+ "_mapListExpanded": [32],
267
+ "_mapView": [32],
268
+ "_translations": [32],
269
+ "_webMapId": [32]
270
+ }]);
271
+ function defineCustomElement$1() {
272
+ if (typeof customElements === "undefined") {
273
+ return;
274
+ }
275
+ const components = ["map-card", "calcite-action", "calcite-action-bar", "calcite-action-group", "calcite-action-menu", "calcite-block", "calcite-handle", "calcite-icon", "calcite-loader", "calcite-pick-list", "calcite-pick-list-item", "calcite-popover", "calcite-scrim", "calcite-tooltip"];
276
+ components.forEach(tagName => { switch (tagName) {
277
+ case "map-card":
278
+ if (!customElements.get(tagName)) {
279
+ customElements.define(tagName, MapCard$1);
280
+ }
281
+ break;
282
+ case "calcite-action":
283
+ if (!customElements.get(tagName)) {
284
+ defineCustomElement$e();
285
+ }
286
+ break;
287
+ case "calcite-action-bar":
288
+ if (!customElements.get(tagName)) {
289
+ defineCustomElement$d();
290
+ }
291
+ break;
292
+ case "calcite-action-group":
293
+ if (!customElements.get(tagName)) {
294
+ defineCustomElement$c();
295
+ }
296
+ break;
297
+ case "calcite-action-menu":
298
+ if (!customElements.get(tagName)) {
299
+ defineCustomElement$b();
300
+ }
301
+ break;
302
+ case "calcite-block":
303
+ if (!customElements.get(tagName)) {
304
+ defineCustomElement$a();
305
+ }
306
+ break;
307
+ case "calcite-handle":
308
+ if (!customElements.get(tagName)) {
309
+ defineCustomElement$9();
310
+ }
311
+ break;
312
+ case "calcite-icon":
313
+ if (!customElements.get(tagName)) {
314
+ defineCustomElement$8();
315
+ }
316
+ break;
317
+ case "calcite-loader":
318
+ if (!customElements.get(tagName)) {
319
+ defineCustomElement$7();
320
+ }
321
+ break;
322
+ case "calcite-pick-list":
323
+ if (!customElements.get(tagName)) {
324
+ defineCustomElement$6();
325
+ }
326
+ break;
327
+ case "calcite-pick-list-item":
328
+ if (!customElements.get(tagName)) {
329
+ defineCustomElement$5();
330
+ }
331
+ break;
332
+ case "calcite-popover":
333
+ if (!customElements.get(tagName)) {
334
+ defineCustomElement$4();
335
+ }
336
+ break;
337
+ case "calcite-scrim":
338
+ if (!customElements.get(tagName)) {
339
+ defineCustomElement$3();
340
+ }
341
+ break;
342
+ case "calcite-tooltip":
343
+ if (!customElements.get(tagName)) {
344
+ defineCustomElement$2();
345
+ }
346
+ break;
347
+ } });
348
+ }
349
+ defineCustomElement$1();
350
+
351
+ const MapCard = MapCard$1;
352
+ const defineCustomElement = defineCustomElement$1;
353
+
354
+ export { MapCard, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface MapDrawTools extends Components.MapDrawTools, HTMLElement {}
4
+ export const MapDrawTools: {
5
+ prototype: MapDrawTools;
6
+ new (): MapDrawTools;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,11 @@
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 { M as MapDrawTools$1, d as defineCustomElement$1 } from './map-draw-tools2.js';
7
+
8
+ const MapDrawTools = MapDrawTools$1;
9
+ const defineCustomElement = defineCustomElement$1;
10
+
11
+ export { MapDrawTools, defineCustomElement };
@@ -0,0 +1,228 @@
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 { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
+ import { l as loadModules } from './loadModules.js';
8
+ import { s as state } from './publicNotificationStore.js';
9
+ import { g as getLocaleComponentStrings } from './locale.js';
10
+
11
+ const mapDrawToolsCss = ":host{display:block}.border{outline:1px solid var(--calcite-ui-border-input)}";
12
+
13
+ const MapDrawTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ this.__registerHost();
17
+ this.sketchGraphicsChange = createEvent(this, "sketchGraphicsChange", 7);
18
+ this.active = false;
19
+ this.border = false;
20
+ this.mapView = undefined;
21
+ this.pointSymbol = undefined;
22
+ this.polylineSymbol = undefined;
23
+ this.polygonSymbol = undefined;
24
+ this.graphics = [];
25
+ this._translations = undefined;
26
+ }
27
+ //--------------------------------------------------------------------------
28
+ //
29
+ // Watch handlers
30
+ //
31
+ //--------------------------------------------------------------------------
32
+ /**
33
+ * Called each time the graphics prop is changed.
34
+ *
35
+ */
36
+ graphicsWatchHandler(v, oldV) {
37
+ if (v && v.length > 0 && JSON.stringify(v) !== JSON.stringify(oldV)) {
38
+ this._sketchGraphicsLayer.removeAll();
39
+ this._sketchGraphicsLayer.addMany(v);
40
+ }
41
+ }
42
+ /**
43
+ * Called each time the mapView prop is changed.
44
+ *
45
+ */
46
+ mapViewWatchHandler(v, oldV) {
47
+ if (v && v !== oldV) {
48
+ this._init();
49
+ }
50
+ }
51
+ //--------------------------------------------------------------------------
52
+ //
53
+ // Methods (public)
54
+ //
55
+ //--------------------------------------------------------------------------
56
+ /**
57
+ * Clears the user drawn graphics
58
+ *
59
+ * @returns Promise that resolves when the operation is complete
60
+ */
61
+ async clear() {
62
+ this._clearSketch();
63
+ }
64
+ //--------------------------------------------------------------------------
65
+ //
66
+ // Functions (lifecycle)
67
+ //
68
+ //--------------------------------------------------------------------------
69
+ /**
70
+ * StencilJS: Called once just after the component is first connected to the DOM.
71
+ *
72
+ * @returns Promise when complete
73
+ */
74
+ async componentWillLoad() {
75
+ await this._getTranslations();
76
+ await this._initModules();
77
+ }
78
+ /**
79
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
80
+ *
81
+ * @returns Promise when complete
82
+ */
83
+ componentDidLoad() {
84
+ this._init();
85
+ }
86
+ /**
87
+ * Renders the component.
88
+ */
89
+ render() {
90
+ const drawClass = this.border ? "border" : "";
91
+ return (h(Host, null, h("div", { class: drawClass }, h("div", { ref: (el) => { this._sketchElement = el; } }))));
92
+ }
93
+ //--------------------------------------------------------------------------
94
+ //
95
+ // Functions (protected)
96
+ //
97
+ //--------------------------------------------------------------------------
98
+ /**
99
+ * Load esri javascript api modules
100
+ *
101
+ * @returns Promise resolving when function is done
102
+ *
103
+ * @protected
104
+ */
105
+ async _initModules() {
106
+ const [GraphicsLayer, Sketch] = await loadModules([
107
+ "esri/layers/GraphicsLayer",
108
+ "esri/widgets/Sketch"
109
+ ]);
110
+ this.GraphicsLayer = GraphicsLayer;
111
+ this.Sketch = Sketch;
112
+ }
113
+ /**
114
+ * Initialize the graphics layer and the tools that support creating new graphics
115
+ *
116
+ * @protected
117
+ */
118
+ _init() {
119
+ if (this.mapView && this._sketchElement) {
120
+ this._initGraphicsLayer();
121
+ this._initDrawTools();
122
+ }
123
+ }
124
+ /**
125
+ * Create or find the graphics layer and add any existing graphics
126
+ *
127
+ * @protected
128
+ */
129
+ _initGraphicsLayer() {
130
+ const title = this._translations.sketchLayer;
131
+ const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
132
+ if (sketchIndex > -1) {
133
+ this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
134
+ }
135
+ else {
136
+ this._sketchGraphicsLayer = new this.GraphicsLayer({ title });
137
+ state.managedLayers.push(title);
138
+ this.mapView.map.layers.add(this._sketchGraphicsLayer);
139
+ }
140
+ if (this.graphics && this.graphics.length > 0) {
141
+ this._sketchGraphicsLayer.addMany(this.graphics);
142
+ }
143
+ }
144
+ /**
145
+ * Initialize the skecth widget and store the associated symbols for each geometry type
146
+ *
147
+ * @protected
148
+ */
149
+ _initDrawTools() {
150
+ this._sketchWidget = new this.Sketch({
151
+ layer: this._sketchGraphicsLayer,
152
+ view: this.mapView,
153
+ container: this._sketchElement,
154
+ creationMode: "update",
155
+ defaultCreateOptions: {
156
+ "mode": "hybrid"
157
+ }
158
+ });
159
+ this.pointSymbol = this._sketchWidget.viewModel.pointSymbol;
160
+ this.polylineSymbol = this._sketchWidget.viewModel.polylineSymbol;
161
+ this.polygonSymbol = this._sketchWidget.viewModel.polygonSymbol;
162
+ this._sketchWidget.visibleElements = {
163
+ selectionTools: {
164
+ "lasso-selection": false,
165
+ "rectangle-selection": false
166
+ }, createTools: {
167
+ "circle": false,
168
+ "point": false
169
+ }
170
+ };
171
+ this._sketchWidget.on("update", (evt) => {
172
+ if (evt.state === "complete" && this.active) {
173
+ this.graphics = this._sketchGraphicsLayer.graphics.toArray();
174
+ this.sketchGraphicsChange.emit(this.graphics);
175
+ }
176
+ });
177
+ }
178
+ /**
179
+ * Clear any stored graphics and remove all graphics from the graphics layer
180
+ *
181
+ * @protected
182
+ */
183
+ _clearSketch() {
184
+ this.graphics = [];
185
+ this._sketchGraphicsLayer.removeAll();
186
+ }
187
+ /**
188
+ * Fetches the component's translations
189
+ *
190
+ * @protected
191
+ */
192
+ async _getTranslations() {
193
+ const translations = await getLocaleComponentStrings(this.el);
194
+ this._translations = translations[0];
195
+ }
196
+ get el() { return this; }
197
+ static get watchers() { return {
198
+ "graphics": ["graphicsWatchHandler"],
199
+ "mapView": ["mapViewWatchHandler"]
200
+ }; }
201
+ static get style() { return mapDrawToolsCss; }
202
+ }, [0, "map-draw-tools", {
203
+ "active": [4],
204
+ "border": [4],
205
+ "mapView": [1040],
206
+ "pointSymbol": [1040],
207
+ "polylineSymbol": [1040],
208
+ "polygonSymbol": [1040],
209
+ "graphics": [1040],
210
+ "_translations": [32],
211
+ "clear": [64]
212
+ }]);
213
+ function defineCustomElement() {
214
+ if (typeof customElements === "undefined") {
215
+ return;
216
+ }
217
+ const components = ["map-draw-tools"];
218
+ components.forEach(tagName => { switch (tagName) {
219
+ case "map-draw-tools":
220
+ if (!customElements.get(tagName)) {
221
+ customElements.define(tagName, MapDrawTools);
222
+ }
223
+ break;
224
+ } });
225
+ }
226
+ defineCustomElement();
227
+
228
+ export { MapDrawTools as M, defineCustomElement as d };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface MapLayerPicker extends Components.MapLayerPicker, HTMLElement {}
4
+ export const MapLayerPicker: {
5
+ prototype: MapLayerPicker;
6
+ new (): MapLayerPicker;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,11 @@
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 { M as MapLayerPicker$1, d as defineCustomElement$1 } from './map-layer-picker2.js';
7
+
8
+ const MapLayerPicker = MapLayerPicker$1;
9
+ const defineCustomElement = defineCustomElement$1;
10
+
11
+ export { MapLayerPicker, defineCustomElement };