@esri/solutions-components 0.6.13 → 0.6.14

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 (109) hide show
  1. package/dist/assets/t9n/layer-table/resources.json +1 -1
  2. package/dist/assets/t9n/layer-table/resources_en.json +1 -1
  3. package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
  4. package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
  5. package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
  6. package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
  7. package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
  8. package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
  9. package/dist/cjs/card-manager_3.cjs.entry.js +112 -54
  10. package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -5
  11. package/dist/cjs/{downloadUtils-fb4744e0.js → downloadUtils-34a515ad.js} +2 -2
  12. package/dist/cjs/edit-card_2.cjs.entry.js +5 -0
  13. package/dist/cjs/{index.es-372e33de.js → index.es-0ba11065.js} +2 -2
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
  16. package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
  17. package/dist/cjs/public-notification.cjs.entry.js +3 -3
  18. package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
  19. package/dist/cjs/solutions-components.cjs.js +1 -1
  20. package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
  21. package/dist/collection/components/card-manager/card-manager.js +2 -2
  22. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +171 -5
  23. package/dist/collection/components/edit-card/edit-card.js +19 -0
  24. package/dist/collection/components/layer-table/layer-table.js +127 -47
  25. package/dist/collection/components/map-card/map-card.js +115 -5
  26. package/dist/collection/components/map-layer-picker/map-layer-picker.css +4 -0
  27. package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
  28. package/dist/collection/components/map-picker/map-picker.css +5 -1
  29. package/dist/collection/components/map-picker/map-picker.js +3 -3
  30. package/dist/collection/components/map-tools/map-tools.js +104 -1
  31. package/dist/collection/utils/interfaces.ts +12 -1
  32. package/dist/collection/utils/mapViewUtils.js +38 -52
  33. package/dist/collection/utils/mapViewUtils.ts +41 -57
  34. package/dist/collection/utils/publicNotificationStore.js +0 -4
  35. package/dist/collection/utils/publicNotificationStore.ts +0 -4
  36. package/dist/components/basemap-gallery2.js +2 -0
  37. package/dist/components/card-manager2.js +2 -2
  38. package/dist/components/crowdsource-manager.js +27 -6
  39. package/dist/components/edit-card2.js +5 -0
  40. package/dist/components/layer-table2.js +136 -78
  41. package/dist/components/map-card2.js +17 -5
  42. package/dist/components/map-layer-picker2.js +114 -52
  43. package/dist/components/map-picker2.js +4 -4
  44. package/dist/components/map-select-tools2.js +55 -43
  45. package/dist/components/map-tools2.js +20 -1
  46. package/dist/components/mapViewUtils.js +39 -53
  47. package/dist/components/public-notification.js +1 -1
  48. package/dist/components/publicNotificationStore.js +0 -4
  49. package/dist/components/refine-selection2.js +61 -49
  50. package/dist/esm/basemap-gallery_6.entry.js +20 -5
  51. package/dist/esm/buffer-tools_4.entry.js +1 -1
  52. package/dist/esm/calcite-chip_3.entry.js +797 -0
  53. package/dist/esm/calcite-combobox_6.entry.js +76 -28
  54. package/dist/esm/card-manager_3.entry.js +112 -54
  55. package/dist/esm/crowdsource-manager.entry.js +18 -5
  56. package/dist/esm/{downloadUtils-67c7a6c8.js → downloadUtils-ac67a786.js} +2 -2
  57. package/dist/esm/edit-card_2.entry.js +5 -0
  58. package/dist/esm/{index.es-59a67d3d.js → index.es-f553598f.js} +2 -2
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/map-select-tools_3.entry.js +3 -3
  61. package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
  62. package/dist/esm/public-notification.entry.js +3 -3
  63. package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
  64. package/dist/esm/solutions-components.js +1 -1
  65. package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
  66. package/dist/solutions-components/p-16362eb4.js +36 -0
  67. package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
  68. package/dist/solutions-components/{p-73ab9d9a.entry.js → p-3d7aa1b2.entry.js} +1 -1
  69. package/dist/solutions-components/{p-9a8c51bf.entry.js → p-57cf6784.entry.js} +1 -1
  70. package/dist/solutions-components/p-64b22d57.entry.js +6 -0
  71. package/dist/solutions-components/p-654dd5df.entry.js +6 -0
  72. package/dist/solutions-components/{p-f9166fcb.js → p-a26711e8.js} +1 -1
  73. package/dist/solutions-components/p-b1c8c6d7.entry.js +6 -0
  74. package/dist/solutions-components/{p-b892e595.entry.js → p-b9d29f30.entry.js} +1 -1
  75. package/dist/solutions-components/{p-1b41181b.js → p-c8d0ce92.js} +2 -2
  76. package/dist/solutions-components/{p-0219a1a9.entry.js → p-e76949eb.entry.js} +6 -6
  77. package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
  78. package/dist/solutions-components/solutions-components.esm.js +1 -1
  79. package/dist/solutions-components/utils/interfaces.ts +12 -1
  80. package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
  81. package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
  82. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
  83. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +37 -1
  84. package/dist/types/components/edit-card/edit-card.d.ts +8 -0
  85. package/dist/types/components/layer-table/layer-table.d.ts +40 -0
  86. package/dist/types/components/map-card/map-card.d.ts +25 -1
  87. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
  88. package/dist/types/components/map-picker/map-picker.d.ts +2 -2
  89. package/dist/types/components/map-tools/map-tools.d.ts +21 -1
  90. package/dist/types/components.d.ts +182 -2
  91. package/dist/types/preact.d.ts +6 -3
  92. package/dist/types/utils/interfaces.d.ts +10 -1
  93. package/dist/types/utils/mapViewUtils.d.ts +8 -24
  94. package/dist/types/utils/publicNotificationStore.d.ts +0 -2
  95. package/package.json +1 -1
  96. package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
  97. package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
  98. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
  99. package/dist/esm/calcite-chip.entry.js +0 -255
  100. package/dist/esm/calcite-notice.entry.js +0 -135
  101. package/dist/esm/calcite-tooltip.entry.js +0 -435
  102. package/dist/solutions-components/p-2cff8331.entry.js +0 -6
  103. package/dist/solutions-components/p-3a6c8fc3.entry.js +0 -6
  104. package/dist/solutions-components/p-3b1fc7a2.entry.js +0 -6
  105. package/dist/solutions-components/p-767002cd.js +0 -36
  106. package/dist/solutions-components/p-a776b7e6.entry.js +0 -6
  107. package/dist/solutions-components/p-be36d5ed.entry.js +0 -22
  108. package/dist/solutions-components/p-c644edf5.entry.js +0 -11
  109. package/dist/solutions-components/p-cfd88a2f.entry.js +0 -11
@@ -25,78 +25,64 @@ import { E as EWorkflowType } from './interfaces.js';
25
25
  * Gets the layer names from the current map
26
26
  *
27
27
  * @param mapView the map view to fetch the layer names from
28
+ * @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
28
29
  *
29
30
  * @returns Promise resolving with an array of layer names
30
31
  *
31
32
  */
32
- async function getMapLayerHash(mapView) {
33
- let layerHash = {};
33
+ async function getMapLayerHash(mapView, onlyShowUpdatableLayers) {
34
+ let layerHash;
34
35
  await mapView.when(() => {
35
36
  layerHash = mapView.map.allLayers.toArray().reduce((prev, cur) => {
36
37
  if (cur.type === "feature") {
37
- prev[cur.id] = cur.title;
38
+ prev[cur.id] = {
39
+ name: cur.title,
40
+ supportsUpdate: undefined
41
+ };
38
42
  }
39
43
  return prev;
40
44
  }, {});
41
45
  });
42
- return layerHash;
46
+ return onlyShowUpdatableLayers ? Object.keys(layerHash).reduce(async (prev, cur) => {
47
+ const layer = await getLayerOrTable(mapView, cur);
48
+ await layer.when(() => {
49
+ prev[cur] = {
50
+ name: layerHash[cur].name,
51
+ supportsUpdate: layer.editingEnabled && layer.capabilities.operations.supportsUpdate
52
+ };
53
+ });
54
+ return prev;
55
+ }, {}) : layerHash;
43
56
  }
44
57
  /**
45
58
  * Gets the table names from the current map
46
59
  *
47
60
  * @param mapView the map view to fetch the table names from
61
+ * @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
48
62
  *
49
63
  * @returns Promise resolving with an array of table names
50
64
  *
51
65
  */
52
- async function getMapTableHash(mapView) {
53
- let tableHash = {};
66
+ async function getMapTableHash(mapView, onlyShowUpdatableTables) {
67
+ let tableHash;
54
68
  await mapView.when(() => {
55
69
  tableHash = mapView.map.allTables.toArray().reduce((prev, cur) => {
56
- prev[cur.id] = cur.title;
70
+ prev[cur.id] = {
71
+ name: cur.title,
72
+ supportsUpdate: undefined
73
+ };
57
74
  return prev;
58
75
  }, {});
59
76
  });
60
- return tableHash;
61
- }
62
- /**
63
- * Gets the layer names from the current map
64
- *
65
- * @param mapView the map view to fetch the layer names from
66
- *
67
- * @returns Promise resolving with an array of layer names
68
- *
69
- */
70
- async function getMapLayerIds(mapView) {
71
- let layerIds = [];
72
- await mapView.when(() => {
73
- layerIds = mapView.map.allLayers.toArray().reduce((prev, cur) => {
74
- if (cur.type === "feature") {
75
- prev.push(cur.id);
76
- }
77
- return prev;
78
- }, []);
79
- });
80
- return layerIds;
81
- }
82
- /**
83
- * Gets the table names from the current map
84
- *
85
- * @param mapView the map view to fetch the table names from
86
- *
87
- * @returns Promise resolving with an array of table names
88
- *
89
- */
90
- async function getMapTableIds(mapView) {
91
- // TODO...seems like its the same as the hash...see if I can remove this
92
- let tableIds = [];
93
- await mapView.when(() => {
94
- tableIds = mapView.map.allTables.toArray().reduce((prev, cur) => {
95
- prev.push(cur.id);
96
- return prev;
97
- }, []);
98
- });
99
- return tableIds;
77
+ return onlyShowUpdatableTables ? Object.keys(tableHash).reduce(async (prev, cur) => {
78
+ const item = await getLayerOrTable(mapView, cur);
79
+ await item.load();
80
+ prev[cur] = {
81
+ name: tableHash[cur].name,
82
+ supportsUpdate: item.editingEnabled && item.capabilities.operations.supportsUpdate
83
+ };
84
+ return prev;
85
+ }, {}) : tableHash;
100
86
  }
101
87
  /**
102
88
  * Get a layer view by id
@@ -108,19 +94,19 @@ async function getMapTableIds(mapView) {
108
94
  *
109
95
  */
110
96
  async function getFeatureLayerView(mapView, id) {
111
- const layer = await getLayer(mapView, id);
97
+ const layer = await getLayerOrTable(mapView, id);
112
98
  return layer ? await mapView.whenLayerView(layer) : undefined;
113
99
  }
114
100
  /**
115
- * Get a layer by id
101
+ * Get a layer or table by id
116
102
  *
117
103
  * @param mapView the map view to fetch the layer from
118
- * @param id the id if the layer to fetch
104
+ * @param id the id of the layer or table to fetch
119
105
  *
120
- * @returns Promise resolving with the fetched layer
106
+ * @returns Promise resolving with the fetched layer or table
121
107
  *
122
108
  */
123
- async function getLayer(mapView, id) {
109
+ async function getLayerOrTable(mapView, id) {
124
110
  let layers = [];
125
111
  await mapView.when(() => {
126
112
  layers = [
@@ -240,4 +226,4 @@ async function goToSelection(ids, layerView, mapView, flashFeatures = true, feat
240
226
  }
241
227
  }
242
228
 
243
- export { getMapLayerIds as a, goToSelection as b, getMapTableIds as c, getMapLayerHash as d, getMapTableHash as e, getFeatureLayerView as f, getLayer as g, highlightFeatures as h, getIdSets as i, highlightAllFeatures as j };
229
+ export { goToSelection as a, getMapLayerHash as b, getMapTableHash as c, getFeatureLayerView as d, getIdSets as e, highlightAllFeatures as f, getLayerOrTable as g, highlightFeatures as h };
@@ -6,7 +6,7 @@
6
6
  import { proxyCustomElement, HTMLElement, createEvent, getAssetPath, h, Host } from '@stencil/core/internal/client';
7
7
  import { c as EExportType, d as EPageType, E as EWorkflowType } from './interfaces.js';
8
8
  import { l as loadModules } from './loadModules.js';
9
- import { b as goToSelection, h as highlightFeatures } from './mapViewUtils.js';
9
+ import { a as goToSelection, h as highlightFeatures } from './mapViewUtils.js';
10
10
  import { s as state } from './publicNotificationStore.js';
11
11
  import { g as getLocaleComponentStrings } from './locale.js';
12
12
  import { c as consolidateLabels, r as removeDuplicateLabels } from './downloadUtils.js';
@@ -27,10 +27,6 @@ const { state, onChange } = createStore({
27
27
  managedTables: [],
28
28
  // Handle[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#Handle
29
29
  highlightHandles: [],
30
- // IMapItemHash title: id lookup to be used across components
31
- layerNameHash: {},
32
- // IMapItemHash title: id lookup to be used across components
33
- tableNameHash: {},
34
30
  // remove all handles
35
31
  removeHandles: () => {
36
32
  state.highlightHandles.forEach(h => h === null || h === void 0 ? void 0 : h.remove());
@@ -5,34 +5,36 @@
5
5
  */
6
6
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
7
  import { e as ESelectionMode, b as EDrawMode, E as EWorkflowType } from './interfaces.js';
8
- import { f as getFeatureLayerView, i as getIdSets, j as highlightAllFeatures } from './mapViewUtils.js';
8
+ import { d as getFeatureLayerView, e as getIdSets, f as highlightAllFeatures } from './mapViewUtils.js';
9
9
  import { d as queryFeaturesByGeometry } from './queryUtils.js';
10
10
  import { s as state } from './publicNotificationStore.js';
11
11
  import { g as getLocaleComponentStrings } from './locale.js';
12
- import { d as defineCustomElement$q } from './action.js';
13
- import { d as defineCustomElement$p } from './button.js';
14
- import { d as defineCustomElement$o } from './chip.js';
15
- import { d as defineCustomElement$n } from './combobox.js';
16
- import { d as defineCustomElement$m } from './combobox-item.js';
17
- import { d as defineCustomElement$l } from './dropdown.js';
18
- import { d as defineCustomElement$k } from './dropdown-group.js';
19
- import { d as defineCustomElement$j } from './dropdown-item.js';
20
- import { d as defineCustomElement$i } from './filter2.js';
21
- import { d as defineCustomElement$h } from './handle.js';
22
- import { d as defineCustomElement$g } from './icon.js';
23
- import { d as defineCustomElement$f } from './input.js';
24
- import { d as defineCustomElement$e } from './label2.js';
25
- import { d as defineCustomElement$d } from './list.js';
26
- import { d as defineCustomElement$c } from './list-item2.js';
27
- import { d as defineCustomElement$b } from './loader.js';
28
- import { d as defineCustomElement$a } from './option.js';
29
- import { d as defineCustomElement$9 } from './popover.js';
30
- import { d as defineCustomElement$8 } from './progress.js';
31
- import { d as defineCustomElement$7 } from './scrim.js';
32
- import { d as defineCustomElement$6 } from './segmented-control.js';
33
- import { d as defineCustomElement$5 } from './segmented-control-item.js';
34
- import { d as defineCustomElement$4 } from './select.js';
35
- import { d as defineCustomElement$3 } from './stack.js';
12
+ import { d as defineCustomElement$s } from './action.js';
13
+ import { d as defineCustomElement$r } from './button.js';
14
+ import { d as defineCustomElement$q } from './chip.js';
15
+ import { d as defineCustomElement$p } from './combobox.js';
16
+ import { d as defineCustomElement$o } from './combobox-item.js';
17
+ import { d as defineCustomElement$n } from './dropdown.js';
18
+ import { d as defineCustomElement$m } from './dropdown-group.js';
19
+ import { d as defineCustomElement$l } from './dropdown-item.js';
20
+ import { d as defineCustomElement$k } from './filter2.js';
21
+ import { d as defineCustomElement$j } from './handle.js';
22
+ import { d as defineCustomElement$i } from './icon.js';
23
+ import { d as defineCustomElement$h } from './input.js';
24
+ import { d as defineCustomElement$g } from './label2.js';
25
+ import { d as defineCustomElement$f } from './list.js';
26
+ import { d as defineCustomElement$e } from './list-item2.js';
27
+ import { d as defineCustomElement$d } from './loader.js';
28
+ import { d as defineCustomElement$c } from './notice.js';
29
+ import { d as defineCustomElement$b } from './option.js';
30
+ import { d as defineCustomElement$a } from './popover.js';
31
+ import { d as defineCustomElement$9 } from './progress.js';
32
+ import { d as defineCustomElement$8 } from './scrim.js';
33
+ import { d as defineCustomElement$7 } from './segmented-control.js';
34
+ import { d as defineCustomElement$6 } from './segmented-control-item.js';
35
+ import { d as defineCustomElement$5 } from './select.js';
36
+ import { d as defineCustomElement$4 } from './stack.js';
37
+ import { d as defineCustomElement$3 } from './tooltip.js';
36
38
  import { d as defineCustomElement$2 } from './map-draw-tools2.js';
37
39
  import { d as defineCustomElement$1 } from './map-layer-picker2.js';
38
40
 
@@ -441,7 +443,7 @@ function defineCustomElement() {
441
443
  if (typeof customElements === "undefined") {
442
444
  return;
443
445
  }
444
- const components = ["refine-selection", "calcite-action", "calcite-button", "calcite-chip", "calcite-combobox", "calcite-combobox-item", "calcite-dropdown", "calcite-dropdown-group", "calcite-dropdown-item", "calcite-filter", "calcite-handle", "calcite-icon", "calcite-input", "calcite-label", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-option", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-segmented-control", "calcite-segmented-control-item", "calcite-select", "calcite-stack", "map-draw-tools", "map-layer-picker"];
446
+ const components = ["refine-selection", "calcite-action", "calcite-button", "calcite-chip", "calcite-combobox", "calcite-combobox-item", "calcite-dropdown", "calcite-dropdown-group", "calcite-dropdown-item", "calcite-filter", "calcite-handle", "calcite-icon", "calcite-input", "calcite-label", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-notice", "calcite-option", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-segmented-control", "calcite-segmented-control-item", "calcite-select", "calcite-stack", "calcite-tooltip", "map-draw-tools", "map-layer-picker"];
445
447
  components.forEach(tagName => { switch (tagName) {
446
448
  case "refine-selection":
447
449
  if (!customElements.get(tagName)) {
@@ -450,120 +452,130 @@ function defineCustomElement() {
450
452
  break;
451
453
  case "calcite-action":
452
454
  if (!customElements.get(tagName)) {
453
- defineCustomElement$q();
455
+ defineCustomElement$s();
454
456
  }
455
457
  break;
456
458
  case "calcite-button":
457
459
  if (!customElements.get(tagName)) {
458
- defineCustomElement$p();
460
+ defineCustomElement$r();
459
461
  }
460
462
  break;
461
463
  case "calcite-chip":
462
464
  if (!customElements.get(tagName)) {
463
- defineCustomElement$o();
465
+ defineCustomElement$q();
464
466
  }
465
467
  break;
466
468
  case "calcite-combobox":
467
469
  if (!customElements.get(tagName)) {
468
- defineCustomElement$n();
470
+ defineCustomElement$p();
469
471
  }
470
472
  break;
471
473
  case "calcite-combobox-item":
472
474
  if (!customElements.get(tagName)) {
473
- defineCustomElement$m();
475
+ defineCustomElement$o();
474
476
  }
475
477
  break;
476
478
  case "calcite-dropdown":
477
479
  if (!customElements.get(tagName)) {
478
- defineCustomElement$l();
480
+ defineCustomElement$n();
479
481
  }
480
482
  break;
481
483
  case "calcite-dropdown-group":
482
484
  if (!customElements.get(tagName)) {
483
- defineCustomElement$k();
485
+ defineCustomElement$m();
484
486
  }
485
487
  break;
486
488
  case "calcite-dropdown-item":
487
489
  if (!customElements.get(tagName)) {
488
- defineCustomElement$j();
490
+ defineCustomElement$l();
489
491
  }
490
492
  break;
491
493
  case "calcite-filter":
492
494
  if (!customElements.get(tagName)) {
493
- defineCustomElement$i();
495
+ defineCustomElement$k();
494
496
  }
495
497
  break;
496
498
  case "calcite-handle":
497
499
  if (!customElements.get(tagName)) {
498
- defineCustomElement$h();
500
+ defineCustomElement$j();
499
501
  }
500
502
  break;
501
503
  case "calcite-icon":
502
504
  if (!customElements.get(tagName)) {
503
- defineCustomElement$g();
505
+ defineCustomElement$i();
504
506
  }
505
507
  break;
506
508
  case "calcite-input":
507
509
  if (!customElements.get(tagName)) {
508
- defineCustomElement$f();
510
+ defineCustomElement$h();
509
511
  }
510
512
  break;
511
513
  case "calcite-label":
512
514
  if (!customElements.get(tagName)) {
513
- defineCustomElement$e();
515
+ defineCustomElement$g();
514
516
  }
515
517
  break;
516
518
  case "calcite-list":
517
519
  if (!customElements.get(tagName)) {
518
- defineCustomElement$d();
520
+ defineCustomElement$f();
519
521
  }
520
522
  break;
521
523
  case "calcite-list-item":
522
524
  if (!customElements.get(tagName)) {
523
- defineCustomElement$c();
525
+ defineCustomElement$e();
524
526
  }
525
527
  break;
526
528
  case "calcite-loader":
527
529
  if (!customElements.get(tagName)) {
528
- defineCustomElement$b();
530
+ defineCustomElement$d();
531
+ }
532
+ break;
533
+ case "calcite-notice":
534
+ if (!customElements.get(tagName)) {
535
+ defineCustomElement$c();
529
536
  }
530
537
  break;
531
538
  case "calcite-option":
532
539
  if (!customElements.get(tagName)) {
533
- defineCustomElement$a();
540
+ defineCustomElement$b();
534
541
  }
535
542
  break;
536
543
  case "calcite-popover":
537
544
  if (!customElements.get(tagName)) {
538
- defineCustomElement$9();
545
+ defineCustomElement$a();
539
546
  }
540
547
  break;
541
548
  case "calcite-progress":
542
549
  if (!customElements.get(tagName)) {
543
- defineCustomElement$8();
550
+ defineCustomElement$9();
544
551
  }
545
552
  break;
546
553
  case "calcite-scrim":
547
554
  if (!customElements.get(tagName)) {
548
- defineCustomElement$7();
555
+ defineCustomElement$8();
549
556
  }
550
557
  break;
551
558
  case "calcite-segmented-control":
552
559
  if (!customElements.get(tagName)) {
553
- defineCustomElement$6();
560
+ defineCustomElement$7();
554
561
  }
555
562
  break;
556
563
  case "calcite-segmented-control-item":
557
564
  if (!customElements.get(tagName)) {
558
- defineCustomElement$5();
565
+ defineCustomElement$6();
559
566
  }
560
567
  break;
561
568
  case "calcite-select":
562
569
  if (!customElements.get(tagName)) {
563
- defineCustomElement$4();
570
+ defineCustomElement$5();
564
571
  }
565
572
  break;
566
573
  case "calcite-stack":
574
+ if (!customElements.get(tagName)) {
575
+ defineCustomElement$4();
576
+ }
577
+ break;
578
+ case "calcite-tooltip":
567
579
  if (!customElements.get(tagName)) {
568
580
  defineCustomElement$3();
569
581
  }
@@ -14,6 +14,7 @@ const BasemapGallery = class {
14
14
  constructor(hostRef) {
15
15
  registerInstance(this, hostRef);
16
16
  this.mapView = undefined;
17
+ this.basemapConfig = undefined;
17
18
  this.basemapWidget = undefined;
18
19
  }
19
20
  //--------------------------------------------------------------------------
@@ -290,7 +291,7 @@ const MapLegend = class {
290
291
  };
291
292
  MapLegend.style = mapLegendCss;
292
293
 
293
- const mapPickerCss = ":host{display:block}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.action-bar-size{height:51px;width:100%}.map-list{position:absolute;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:1000;width:100%;height:-moz-fit-content;height:fit-content}.display-none{display:none}.action-bar-color{background-color:var(--calcite-ui-border-3) !important}";
294
+ const mapPickerCss = ":host{display:block}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.action-bar-size{height:51px;width:100%}.map-list{position:absolute;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-ui-background);z-index:1000;width:100%;height:-moz-fit-content;height:fit-content}.display-none{display:none}.action-bar-color{background-color:var(--calcite-ui-border-3) !important}.align-center{align-items:center}";
294
295
 
295
296
  const MapPicker = class {
296
297
  constructor(hostRef) {
@@ -321,9 +322,9 @@ const MapPicker = class {
321
322
  /**
322
323
  * Called each time the mapInfos prop is changed.
323
324
  */
324
- mapInfosWatchHandler(v, oldV) {
325
+ async mapInfosWatchHandler(v, oldV) {
325
326
  if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
326
- this.mapInfoChange.emit(v[0]);
327
+ this._webMapSelected(v[0]);
327
328
  }
328
329
  }
329
330
  //--------------------------------------------------------------------------
@@ -348,7 +349,7 @@ const MapPicker = class {
348
349
  /**
349
350
  * Called once after the component has loaded
350
351
  */
351
- componentDidLoad() {
352
+ async componentDidLoad() {
352
353
  const webMapInfo = this.mapInfos && this.mapInfos.length > 0 ? this.mapInfos[0] : undefined;
353
354
  if (webMapInfo) {
354
355
  this._webMapSelected(webMapInfo);
@@ -602,6 +603,11 @@ const mapToolsCss = ":host{display:block}.display-none{display:none}.margin-top-
602
603
  const MapTools = class {
603
604
  constructor(hostRef) {
604
605
  registerInstance(this, hostRef);
606
+ this.enableLegend = undefined;
607
+ this.enableFullscreen = undefined;
608
+ this.enableSearch = undefined;
609
+ this.enableBasemap = undefined;
610
+ this.basemapConfig = undefined;
605
611
  this.layout = "vertical";
606
612
  this.mapView = undefined;
607
613
  this.searchConfiguration = undefined;
@@ -705,7 +711,16 @@ const MapTools = class {
705
711
  const fullscreenIcon = this._showFullscreen ? "full-screen-exit" : "full-screen";
706
712
  const fullscreenTip = this._showFullscreen ? this._translations.exitFullscreen : this._translations.enterFullscreen;
707
713
  const expandTip = this._showTools ? this._translations.collapse : this._translations.expand;
708
- return (h(Host, null, h("div", null, h("div", { class: "box-shadow" }, this._getActionGroup(toggleIcon, false, expandTip, () => this._toggleTools())), h("div", { class: `margin-top-1-2 box-shadow ${toolsClass}` }, this._getActionGroup("legend", false, this._translations.legend, () => this._showLegend()), this._getActionGroup("magnifying-glass", false, this._translations.search, () => this._search()), this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()), this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()))), h("basemap-gallery", { class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } })));
714
+ const containerClass = !this.enableBasemap && !this.enableFullscreen && !this.enableLegend && !this.enableSearch ? "display-none" : "";
715
+ return (h(Host, null, h("div", { class: containerClass }, h("div", { class: "box-shadow" }, this._getActionGroup(toggleIcon, false, expandTip, () => this._toggleTools())), h("div", { class: `margin-top-1-2 box-shadow ${toolsClass}` }, this.enableLegend ?
716
+ this._getActionGroup("legend", false, this._translations.legend, () => this._showLegend()) :
717
+ undefined, this.enableSearch ?
718
+ this._getActionGroup("magnifying-glass", false, this._translations.search, () => this._search()) :
719
+ undefined, this.enableFullscreen ?
720
+ this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()) :
721
+ undefined, this.enableBasemap ?
722
+ this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
723
+ undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } })));
709
724
  }
710
725
  //--------------------------------------------------------------------------
711
726
  //
@@ -16,7 +16,7 @@ import { s as setUpLoadableComponent, a as setComponentLoaded, c as componentFoc
16
16
  import { n as numberStringFormatter, c as connectLocalized, d as disconnectLocalized } from './locale-00000ab4.js';
17
17
  import { d as decimalPlaces, c as clamp } from './math-0d6817c3.js';
18
18
  import { f as EDrawMode } from './interfaces-7470d906.js';
19
- import { s as state } from './publicNotificationStore-90a6a274.js';
19
+ import { s as state } from './publicNotificationStore-dcf39a55.js';
20
20
  import './_commonjsHelpers-d5f9d613.js';
21
21
  import './resources-1e6d76df.js';
22
22
  import './observers-95c50046.js';