@esri/solutions-components 0.6.13 → 0.6.14

Sign up to get free protection for your applications and to get access to all the features.
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';