@esri/solutions-components 0.7.24 → 0.7.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/dist/cjs/{info-card_4.cjs.entry.js → basemap-gallery_7.cjs.entry.js} +410 -324
  2. package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -4
  3. package/dist/cjs/{calcite-alert_3.cjs.entry.js → calcite-alert_4.cjs.entry.js} +296 -3
  4. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -2
  5. package/dist/cjs/calcite-flow_4.cjs.entry.js +3 -4
  6. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -2
  7. package/dist/cjs/{card-manager_2.cjs.entry.js → card-manager_3.cjs.entry.js} +182 -5
  8. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -2
  9. package/dist/cjs/crowdsource-reporter.cjs.entry.js +32 -90
  10. package/dist/cjs/{downloadUtils-401356b5.js → downloadUtils-83c6d3c3.js} +6 -6
  11. package/dist/cjs/{index.es-a9a4ff08.js → index.es-bd1a93b2.js} +2 -2
  12. package/dist/cjs/layout-manager.cjs.entry.js +1 -2
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/{locale-1ff119f5.js → locale-a476e15d.js} +24 -3
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -5
  16. package/dist/cjs/{popupUtils-8d5b6e94.js → popupUtils-a73902a6.js} +2 -2
  17. package/dist/cjs/public-notification.cjs.entry.js +3 -4
  18. package/dist/cjs/solution-configuration.cjs.entry.js +1 -2
  19. package/dist/cjs/solution-contents_3.cjs.entry.js +1 -2
  20. package/dist/cjs/solutions-components.cjs.js +1 -1
  21. package/dist/cjs/spatial-ref.cjs.entry.js +1 -2
  22. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +5 -27
  23. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +69 -95
  24. package/dist/collection/demos/crowdsource-reporter.html +96 -45
  25. package/dist/components/crowdsource-reporter.js +95 -209
  26. package/dist/esm/{info-card_4.entry.js → basemap-gallery_7.entry.js} +406 -323
  27. package/dist/esm/buffer-tools_3.entry.js +1 -2
  28. package/dist/esm/{calcite-alert_3.entry.js → calcite-alert_4.entry.js} +295 -3
  29. package/dist/esm/calcite-combobox_6.entry.js +1 -2
  30. package/dist/esm/calcite-flow_4.entry.js +3 -4
  31. package/dist/esm/calcite-shell-panel_14.entry.js +1 -2
  32. package/dist/esm/{card-manager_2.entry.js → card-manager_3.entry.js} +181 -5
  33. package/dist/esm/crowdsource-manager.entry.js +1 -2
  34. package/dist/esm/crowdsource-reporter.entry.js +32 -90
  35. package/dist/esm/{downloadUtils-067dc2ff.js → downloadUtils-a301c193.js} +2 -2
  36. package/dist/esm/{index.es-92e46d8b.js → index.es-37a9907e.js} +2 -2
  37. package/dist/esm/layout-manager.entry.js +1 -2
  38. package/dist/esm/loader.js +1 -1
  39. package/dist/esm/{locale-13e3c96c.js → locale-731e75a8.js} +22 -2
  40. package/dist/esm/map-select-tools_3.entry.js +2 -3
  41. package/dist/esm/{popupUtils-b71f30fc.js → popupUtils-a593bd78.js} +1 -1
  42. package/dist/esm/public-notification.entry.js +2 -3
  43. package/dist/esm/solution-configuration.entry.js +1 -2
  44. package/dist/esm/solution-contents_3.entry.js +1 -2
  45. package/dist/esm/solutions-components.js +1 -1
  46. package/dist/esm/spatial-ref.entry.js +1 -2
  47. package/dist/solutions-components/demos/crowdsource-reporter.html +96 -45
  48. package/dist/solutions-components/{p-36cbf14f.js → p-0587972d.js} +1 -1
  49. package/dist/solutions-components/p-0b4f4b0e.entry.js +6 -0
  50. package/dist/solutions-components/{p-f54f3719.entry.js → p-0b619197.entry.js} +1 -1
  51. package/dist/solutions-components/{p-d50f34c4.entry.js → p-2656c6e4.entry.js} +1 -1
  52. package/dist/solutions-components/p-284cc5cd.entry.js +6 -0
  53. package/dist/solutions-components/{p-01032eec.entry.js → p-29f661f5.entry.js} +2 -2
  54. package/dist/solutions-components/p-5af99fd8.entry.js +6 -0
  55. package/dist/solutions-components/{p-d9061e5d.entry.js → p-7116f96d.entry.js} +1 -1
  56. package/dist/solutions-components/p-7c13406e.entry.js +6 -0
  57. package/dist/solutions-components/{p-685257d1.entry.js → p-7dbccc10.entry.js} +1 -1
  58. package/dist/solutions-components/p-8308f64c.entry.js +6 -0
  59. package/dist/solutions-components/{p-ca4023f4.entry.js → p-891682da.entry.js} +1 -1
  60. package/dist/solutions-components/{p-14ff1465.js → p-a603e673.js} +2 -2
  61. package/dist/solutions-components/p-b37ec1f3.entry.js +6 -0
  62. package/dist/solutions-components/{p-fec77450.js → p-db868283.js} +1 -1
  63. package/dist/solutions-components/{p-fb1c6811.entry.js → p-dded59a7.entry.js} +1 -1
  64. package/dist/solutions-components/p-e88a64be.entry.js +6 -0
  65. package/dist/solutions-components/p-e902ba19.js +36 -0
  66. package/dist/solutions-components/p-fe295e9d.entry.js +6 -0
  67. package/dist/solutions-components/solutions-components.esm.js +1 -1
  68. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +14 -28
  69. package/dist/types/components.d.ts +16 -0
  70. package/package.json +1 -1
  71. package/dist/cjs/basemap-gallery_5.cjs.entry.js +0 -573
  72. package/dist/cjs/loadModules-46d14e81.js +0 -30
  73. package/dist/esm/basemap-gallery_5.entry.js +0 -565
  74. package/dist/esm/loadModules-cea493da.js +0 -28
  75. package/dist/solutions-components/p-3606c4b8.entry.js +0 -6
  76. package/dist/solutions-components/p-48ff9cea.js +0 -21
  77. package/dist/solutions-components/p-5e832d65.entry.js +0 -6
  78. package/dist/solutions-components/p-8fc072ca.entry.js +0 -6
  79. package/dist/solutions-components/p-a2d3df14.entry.js +0 -6
  80. package/dist/solutions-components/p-ab006ace.js +0 -21
  81. package/dist/solutions-components/p-ba56035f.entry.js +0 -6
  82. package/dist/solutions-components/p-c0ed2b83.entry.js +0 -6
  83. package/dist/solutions-components/p-cc88bb42.entry.js +0 -6
  84. package/dist/solutions-components/p-db69f4ba.entry.js +0 -6
  85. package/dist/solutions-components/p-e3061220.entry.js +0 -6
@@ -5,53 +5,44 @@
5
5
  */
6
6
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
7
7
  import { g as getLocaleComponentStrings } from './locale.js';
8
- import { d as defineCustomElement$E } from './basemap-gallery2.js';
9
- import { d as defineCustomElement$D } from './action.js';
10
- import { d as defineCustomElement$C } from './action-bar.js';
11
- import { d as defineCustomElement$B } from './action-group.js';
12
- import { d as defineCustomElement$A } from './action-menu.js';
13
- import { d as defineCustomElement$z } from './alert.js';
14
- import { d as defineCustomElement$y } from './button.js';
15
- import { d as defineCustomElement$x } from './chip.js';
16
- import { d as defineCustomElement$w } from './filter2.js';
17
- import { d as defineCustomElement$v } from './flow.js';
18
- import { d as defineCustomElement$u } from './flow-item.js';
19
- import { d as defineCustomElement$t } from './handle.js';
20
- import { d as defineCustomElement$s } from './icon.js';
21
- import { d as defineCustomElement$r } from './input.js';
22
- import { d as defineCustomElement$q } from './list.js';
23
- import { d as defineCustomElement$p } from './list-item.js';
24
- import { d as defineCustomElement$o } from './loader.js';
25
- import { d as defineCustomElement$n } from './modal.js';
26
- import { d as defineCustomElement$m } from './notice.js';
27
- import { d as defineCustomElement$l } from './pagination.js';
28
- import { d as defineCustomElement$k } from './panel.js';
29
- import { d as defineCustomElement$j } from './popover.js';
30
- import { d as defineCustomElement$i } from './progress.js';
31
- import { d as defineCustomElement$h } from './scrim.js';
32
- import { d as defineCustomElement$g } from './shell.js';
33
- import { d as defineCustomElement$f } from './stack.js';
34
- import { d as defineCustomElement$e } from './tooltip.js';
35
- import { d as defineCustomElement$d } from './delete-button2.js';
36
- import { d as defineCustomElement$c } from './edit-card2.js';
37
- import { d as defineCustomElement$b } from './feature-list2.js';
38
- import { d as defineCustomElement$a } from './floor-filter2.js';
39
- import { d as defineCustomElement$9 } from './info-card2.js';
40
- import { d as defineCustomElement$8 } from './layer-list2.js';
41
- import { d as defineCustomElement$7 } from './map-card2.js';
42
- import { d as defineCustomElement$6 } from './map-fullscreen2.js';
43
- import { d as defineCustomElement$5 } from './map-legend2.js';
44
- import { d as defineCustomElement$4 } from './map-picker2.js';
45
- import { d as defineCustomElement$3 } from './map-search2.js';
46
- import { d as defineCustomElement$2 } from './map-tools2.js';
8
+ import { d as defineCustomElement$u } from './action.js';
9
+ import { d as defineCustomElement$t } from './action-menu.js';
10
+ import { d as defineCustomElement$s } from './alert.js';
11
+ import { d as defineCustomElement$r } from './button.js';
12
+ import { d as defineCustomElement$q } from './chip.js';
13
+ import { d as defineCustomElement$p } from './filter2.js';
14
+ import { d as defineCustomElement$o } from './flow.js';
15
+ import { d as defineCustomElement$n } from './flow-item.js';
16
+ import { d as defineCustomElement$m } from './handle.js';
17
+ import { d as defineCustomElement$l } from './icon.js';
18
+ import { d as defineCustomElement$k } from './input.js';
19
+ import { d as defineCustomElement$j } from './list.js';
20
+ import { d as defineCustomElement$i } from './list-item.js';
21
+ import { d as defineCustomElement$h } from './loader.js';
22
+ import { d as defineCustomElement$g } from './modal.js';
23
+ import { d as defineCustomElement$f } from './notice.js';
24
+ import { d as defineCustomElement$e } from './pagination.js';
25
+ import { d as defineCustomElement$d } from './panel.js';
26
+ import { d as defineCustomElement$c } from './popover.js';
27
+ import { d as defineCustomElement$b } from './progress.js';
28
+ import { d as defineCustomElement$a } from './scrim.js';
29
+ import { d as defineCustomElement$9 } from './shell.js';
30
+ import { d as defineCustomElement$8 } from './stack.js';
31
+ import { d as defineCustomElement$7 } from './tooltip.js';
32
+ import { d as defineCustomElement$6 } from './delete-button2.js';
33
+ import { d as defineCustomElement$5 } from './edit-card2.js';
34
+ import { d as defineCustomElement$4 } from './feature-list2.js';
35
+ import { d as defineCustomElement$3 } from './info-card2.js';
36
+ import { d as defineCustomElement$2 } from './layer-list2.js';
47
37
 
48
- const crowdsourceReporterCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100%}.width-0{width:0}.height-full{height:100%}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.map-container{position:absolute;width:calc(100% - 390px);left:390px}.side-panel{padding:2px;width:390px;height:100%;position:absolute;top:0;left:0;z-index:60}.error-msg{padding:10px}@media screen and (max-width: 600px){.map-container{left:0;height:50%;width:100%}.map-container-mobile{height:calc(100% - 100px)}.side-panel{padding:2px;width:100%;height:50%;position:absolute;top:50%;left:0;z-index:60}.collapsed-side-panel{top:calc(100% - 100px);height:100px}}";
38
+ const crowdsourceReporterCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.map-container{position:absolute;width:calc(100% - 390px);left:390px}.side-panel{padding:2px;width:390px;height:100%;position:absolute;top:0;left:0;z-index:60}.error-msg{padding:10px}.collapsed-side-panel{top:calc(100% - 55px);height:54px}";
49
39
 
50
40
  const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceReporter extends HTMLElement {
51
41
  constructor() {
52
42
  super();
53
43
  this.__registerHost();
54
44
  this.description = undefined;
45
+ this.isMobile = undefined;
55
46
  this.enableAnonymousAccess = undefined;
56
47
  this.enableAnonymousComments = undefined;
57
48
  this.enableComments = undefined;
@@ -59,6 +50,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
59
50
  this.enableNewReports = undefined;
60
51
  this.layers = undefined;
61
52
  this.loginTitle = undefined;
53
+ this.mapView = undefined;
62
54
  this.reportButtonText = undefined;
63
55
  this.reportsHeader = undefined;
64
56
  this.reportSubmittedMessage = undefined;
@@ -71,8 +63,6 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
71
63
  this.theme = "light";
72
64
  this.enableZoom = true;
73
65
  this._mapInfo = undefined;
74
- this._mapView = undefined;
75
- this._isMobile = false;
76
66
  this._flowItems = ["layer-list"];
77
67
  this._sidePanelCollapsed = false;
78
68
  this._translations = undefined;
@@ -83,6 +73,22 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
83
73
  // Watch handlers
84
74
  //
85
75
  //--------------------------------------------------------------------------
76
+ /**
77
+ * Called each time the mapView prop is changed.
78
+ */
79
+ async isMobileWatchHandler() {
80
+ if (this.isMobile) {
81
+ this._sidePanelCollapsed = false;
82
+ }
83
+ }
84
+ /**
85
+ * Called each time the mapView prop is changed.
86
+ */
87
+ async mapViewWatchHandler() {
88
+ await this.mapView.when(async () => {
89
+ await this.setMapView();
90
+ });
91
+ }
86
92
  //--------------------------------------------------------------------------
87
93
  //
88
94
  // Methods (public)
@@ -93,15 +99,6 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
93
99
  // Events (public)
94
100
  //
95
101
  //--------------------------------------------------------------------------
96
- /**
97
- * Listen for mapChanged event to be fired then store the new mapView so components will be updated
98
- */
99
- async mapChanged(evt) {
100
- this._mapChange = evt.detail;
101
- await this._mapChange.mapView.when(async () => {
102
- await this.setMapView();
103
- });
104
- }
105
102
  //--------------------------------------------------------------------------
106
103
  //
107
104
  // Functions (lifecycle)
@@ -114,27 +111,12 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
114
111
  */
115
112
  async componentWillLoad() {
116
113
  await this._getTranslations();
117
- const mediaQueryList = window.matchMedia("screen and (max-width: 600px)");
118
- this._isMobile = mediaQueryList.matches;
119
- //on change update the state for is mobile and the sidePanelCollapsed
120
- mediaQueryList.onchange = (e) => {
121
- this._isMobile = e.matches;
122
- this._sidePanelCollapsed = false;
123
- };
124
114
  }
125
115
  /**
126
116
  * Renders the component.
127
117
  */
128
118
  render() {
129
- var _a, _b;
130
- let validConfiguration = true;
131
- //Check if webMap id is configured
132
- if (!this.mapInfos || this.mapInfos.length <= 0 || (((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) > 0 && !((_b = this.mapInfos[0]) === null || _b === void 0 ? void 0 : _b.id))) {
133
- validConfiguration = false;
134
- }
135
- return (h(Host, null, h("div", null, validConfiguration &&
136
- h("calcite-shell", { "content-behind": true }, this._getReporter(), this._getMapNode()), !validConfiguration &&
137
- h("calcite-notice", { class: "error-msg", icon: "configure", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._translations.invalidConfigurationErrorMsg)))));
119
+ return (h(Host, null, h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
138
120
  }
139
121
  //--------------------------------------------------------------------------
140
122
  //
@@ -162,11 +144,11 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
162
144
  });
163
145
  let sidePanelClass = "side-panel";
164
146
  //in case of mobile handle for collapsed styles of the panel
165
- if (this._isMobile && this._sidePanelCollapsed) {
147
+ if (this.isMobile && this._sidePanelCollapsed) {
166
148
  sidePanelClass += " collapsed-side-panel";
167
149
  }
168
150
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
169
- return (h("calcite-panel", { class: sidePanelClass + " " + themeClass }, this._mapView
151
+ return (h("calcite-panel", { class: sidePanelClass + " width-full " + themeClass }, this.mapView
170
152
  ? h("calcite-flow", null, (renderLists === null || renderLists === void 0 ? void 0 : renderLists.length) > 0 && renderLists)
171
153
  : h("calcite-loader", { scale: "m" })));
172
154
  }
@@ -176,7 +158,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
176
158
  * @protected
177
159
  */
178
160
  getLayerListFlowItem() {
179
- return (h("calcite-flow-item", { collapsed: this._isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers && h("calcite-action", { icon: "sort-ascending-arrow", slot: this._isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this._isMobile }), this._hasValidLayers && h("calcite-action", { icon: "filter", slot: this._isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this._isMobile }), this._isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this._mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
161
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers && h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), this._hasValidLayers && h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
180
162
  }
181
163
  /**
182
164
  * When layer list is loaded, we will receive the list of layers, if its means we don't have any valid layer to be listed
@@ -227,14 +209,14 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
227
209
  * @protected
228
210
  */
229
211
  getFeatureListFlowItem(layerId, layerName) {
230
- return (h("calcite-flow-item", { collapsed: this._isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this._isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this._isMobile }), h("calcite-action", { icon: "filter", slot: this._isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this._isMobile }), this._isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this._mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 100, selectedLayerId: layerId }))));
212
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 100, selectedLayerId: layerId }))));
231
213
  }
232
214
  /**
233
215
  * Returns the calcite-flow item for feature details
234
216
  * @returns Node
235
217
  */
236
218
  getFeatureDetailsFlowItem() {
237
- return (h("calcite-flow-item", { collapsed: this._isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this._isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this._mapView, zoomAndScrollToSelected: true }))));
219
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, zoomAndScrollToSelected: true }))));
238
220
  }
239
221
  /**
240
222
  * Returns the action button to Expand/Collapse side panel in mobile mode
@@ -242,51 +224,14 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
242
224
  getActionToExpandCollapsePanel() {
243
225
  return (h("calcite-action", { icon: this._sidePanelCollapsed ? "chevrons-up" : "chevrons-down", onClick: this.toggleSidePanel.bind(this), slot: "header-actions-end", text: this._sidePanelCollapsed ? this._translations.expand : this._translations.collapse }));
244
226
  }
245
- /**
246
- * Get the map node based for the current layout options
247
- * @returns the map node
248
- * @protected
249
- */
250
- _getMapNode() {
251
- var _a;
252
- let mapContainerClass = "overflow-hidden map-container";
253
- if (this._isMobile) {
254
- if (this._sidePanelCollapsed) {
255
- mapContainerClass += " map-container-mobile";
256
- }
257
- }
258
- else {
259
- mapContainerClass += " height-full";
260
- }
261
- return (h("div", { class: mapContainerClass }, h("map-card", { class: "width-full", defaultWebmapId: this.defaultWebmap, enableBasemap: false, enableFloorFilter: false, enableFullscreen: false, enableHome: this.enableHome, enableLegend: true, enableSearch: this.enableSearch, enableSingleExpand: false, hidden: false, homeZoomIndex: 0, homeZoomPosition: "top-left", homeZoomToolsSize: "s", mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: this.enableHome ? 4 : 3, mapWidgetsPosition: "top-left", mapWidgetsSize: "s", stackTools: false, theme: this.theme, toolOrder: ["search", "legend", "fullscreen", "basemap", "floorfilter"] })));
262
- }
263
- /**
264
- * Get the current map info (configuration details) when maps change
265
- * @param id Id of the map to be returned
266
- * @returns IMapInfo for the provided id
267
- * @protected
268
- */
269
- getMapInfo(id) {
270
- let mapInfo;
271
- this.mapInfos.some(mi => {
272
- if (mi.id === id) {
273
- mapInfo = mi;
274
- return true;
275
- }
276
- });
277
- return Object.assign({}, mapInfo);
278
- }
279
227
  /**
280
228
  * Set the current map info when maps change
281
229
  * @protected
282
230
  */
283
231
  async setMapView() {
284
- this._mapInfo = this.getMapInfo(this._mapChange.id);
285
- this._mapView = this._mapChange.mapView;
286
- this.initMapZoom();
287
- this._mapView.popupEnabled = false;
232
+ this.mapView.popupEnabled = false;
288
233
  if (this._defaultCenter && this._defaultLevel) {
289
- await this._mapView.goTo({
234
+ await this.mapView.goTo({
290
235
  center: this._defaultCenter,
291
236
  zoom: this._defaultLevel
292
237
  });
@@ -294,22 +239,6 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
294
239
  this._defaultLevel = undefined;
295
240
  }
296
241
  }
297
- /**
298
- * Add/remove zoom tools based on enableZoom prop
299
- * @protected
300
- */
301
- initMapZoom() {
302
- if (!this.enableZoom) {
303
- this._mapView.ui.remove("zoom");
304
- }
305
- else if (this.enableZoom) {
306
- this._mapView.ui.add({
307
- component: "zoom",
308
- position: "top-left",
309
- index: 0
310
- });
311
- }
312
- }
313
242
  /**
314
243
  * Fetches the component's translations
315
244
  * @returns Promise when complete
@@ -320,9 +249,14 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
320
249
  this._translations = messages[0];
321
250
  }
322
251
  get el() { return this; }
252
+ static get watchers() { return {
253
+ "isMobile": ["isMobileWatchHandler"],
254
+ "mapView": ["mapViewWatchHandler"]
255
+ }; }
323
256
  static get style() { return crowdsourceReporterCss; }
324
257
  }, [0, "crowdsource-reporter", {
325
258
  "description": [1],
259
+ "isMobile": [4, "is-mobile"],
326
260
  "enableAnonymousAccess": [4, "enable-anonymous-access"],
327
261
  "enableAnonymousComments": [4, "enable-anonymous-comments"],
328
262
  "enableComments": [4, "enable-comments"],
@@ -330,6 +264,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
330
264
  "enableNewReports": [4, "enable-new-reports"],
331
265
  "layers": [16],
332
266
  "loginTitle": [1, "login-title"],
267
+ "mapView": [16],
333
268
  "reportButtonText": [1, "report-button-text"],
334
269
  "reportsHeader": [1, "reports-header"],
335
270
  "reportSubmittedMessage": [1, "report-submitted-message"],
@@ -342,215 +277,166 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
342
277
  "theme": [1],
343
278
  "enableZoom": [4, "enable-zoom"],
344
279
  "_mapInfo": [32],
345
- "_mapView": [32],
346
- "_isMobile": [32],
347
280
  "_flowItems": [32],
348
281
  "_sidePanelCollapsed": [32],
349
282
  "_translations": [32],
350
283
  "_hasValidLayers": [32]
351
- }, [[8, "mapChanged", "mapChanged"]]]);
284
+ }, undefined, {
285
+ "isMobile": ["isMobileWatchHandler"],
286
+ "mapView": ["mapViewWatchHandler"]
287
+ }]);
352
288
  function defineCustomElement$1() {
353
289
  if (typeof customElements === "undefined") {
354
290
  return;
355
291
  }
356
- const components = ["crowdsource-reporter", "basemap-gallery", "calcite-action", "calcite-action-bar", "calcite-action-group", "calcite-action-menu", "calcite-alert", "calcite-button", "calcite-chip", "calcite-filter", "calcite-flow", "calcite-flow-item", "calcite-handle", "calcite-icon", "calcite-input", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-modal", "calcite-notice", "calcite-pagination", "calcite-panel", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-shell", "calcite-stack", "calcite-tooltip", "delete-button", "edit-card", "feature-list", "floor-filter", "info-card", "layer-list", "map-card", "map-fullscreen", "map-legend", "map-picker", "map-search", "map-tools"];
292
+ const components = ["crowdsource-reporter", "calcite-action", "calcite-action-menu", "calcite-alert", "calcite-button", "calcite-chip", "calcite-filter", "calcite-flow", "calcite-flow-item", "calcite-handle", "calcite-icon", "calcite-input", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-modal", "calcite-notice", "calcite-pagination", "calcite-panel", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-shell", "calcite-stack", "calcite-tooltip", "delete-button", "edit-card", "feature-list", "info-card", "layer-list"];
357
293
  components.forEach(tagName => { switch (tagName) {
358
294
  case "crowdsource-reporter":
359
295
  if (!customElements.get(tagName)) {
360
296
  customElements.define(tagName, CrowdsourceReporter$1);
361
297
  }
362
298
  break;
363
- case "basemap-gallery":
364
- if (!customElements.get(tagName)) {
365
- defineCustomElement$E();
366
- }
367
- break;
368
299
  case "calcite-action":
369
- if (!customElements.get(tagName)) {
370
- defineCustomElement$D();
371
- }
372
- break;
373
- case "calcite-action-bar":
374
- if (!customElements.get(tagName)) {
375
- defineCustomElement$C();
376
- }
377
- break;
378
- case "calcite-action-group":
379
- if (!customElements.get(tagName)) {
380
- defineCustomElement$B();
381
- }
382
- break;
383
- case "calcite-action-menu":
384
- if (!customElements.get(tagName)) {
385
- defineCustomElement$A();
386
- }
387
- break;
388
- case "calcite-alert":
389
- if (!customElements.get(tagName)) {
390
- defineCustomElement$z();
391
- }
392
- break;
393
- case "calcite-button":
394
- if (!customElements.get(tagName)) {
395
- defineCustomElement$y();
396
- }
397
- break;
398
- case "calcite-chip":
399
- if (!customElements.get(tagName)) {
400
- defineCustomElement$x();
401
- }
402
- break;
403
- case "calcite-filter":
404
- if (!customElements.get(tagName)) {
405
- defineCustomElement$w();
406
- }
407
- break;
408
- case "calcite-flow":
409
- if (!customElements.get(tagName)) {
410
- defineCustomElement$v();
411
- }
412
- break;
413
- case "calcite-flow-item":
414
300
  if (!customElements.get(tagName)) {
415
301
  defineCustomElement$u();
416
302
  }
417
303
  break;
418
- case "calcite-handle":
304
+ case "calcite-action-menu":
419
305
  if (!customElements.get(tagName)) {
420
306
  defineCustomElement$t();
421
307
  }
422
308
  break;
423
- case "calcite-icon":
309
+ case "calcite-alert":
424
310
  if (!customElements.get(tagName)) {
425
311
  defineCustomElement$s();
426
312
  }
427
313
  break;
428
- case "calcite-input":
314
+ case "calcite-button":
429
315
  if (!customElements.get(tagName)) {
430
316
  defineCustomElement$r();
431
317
  }
432
318
  break;
433
- case "calcite-list":
319
+ case "calcite-chip":
434
320
  if (!customElements.get(tagName)) {
435
321
  defineCustomElement$q();
436
322
  }
437
323
  break;
438
- case "calcite-list-item":
324
+ case "calcite-filter":
439
325
  if (!customElements.get(tagName)) {
440
326
  defineCustomElement$p();
441
327
  }
442
328
  break;
443
- case "calcite-loader":
329
+ case "calcite-flow":
444
330
  if (!customElements.get(tagName)) {
445
331
  defineCustomElement$o();
446
332
  }
447
333
  break;
448
- case "calcite-modal":
334
+ case "calcite-flow-item":
449
335
  if (!customElements.get(tagName)) {
450
336
  defineCustomElement$n();
451
337
  }
452
338
  break;
453
- case "calcite-notice":
339
+ case "calcite-handle":
454
340
  if (!customElements.get(tagName)) {
455
341
  defineCustomElement$m();
456
342
  }
457
343
  break;
458
- case "calcite-pagination":
344
+ case "calcite-icon":
459
345
  if (!customElements.get(tagName)) {
460
346
  defineCustomElement$l();
461
347
  }
462
348
  break;
463
- case "calcite-panel":
349
+ case "calcite-input":
464
350
  if (!customElements.get(tagName)) {
465
351
  defineCustomElement$k();
466
352
  }
467
353
  break;
468
- case "calcite-popover":
354
+ case "calcite-list":
469
355
  if (!customElements.get(tagName)) {
470
356
  defineCustomElement$j();
471
357
  }
472
358
  break;
473
- case "calcite-progress":
359
+ case "calcite-list-item":
474
360
  if (!customElements.get(tagName)) {
475
361
  defineCustomElement$i();
476
362
  }
477
363
  break;
478
- case "calcite-scrim":
364
+ case "calcite-loader":
479
365
  if (!customElements.get(tagName)) {
480
366
  defineCustomElement$h();
481
367
  }
482
368
  break;
483
- case "calcite-shell":
369
+ case "calcite-modal":
484
370
  if (!customElements.get(tagName)) {
485
371
  defineCustomElement$g();
486
372
  }
487
373
  break;
488
- case "calcite-stack":
374
+ case "calcite-notice":
489
375
  if (!customElements.get(tagName)) {
490
376
  defineCustomElement$f();
491
377
  }
492
378
  break;
493
- case "calcite-tooltip":
379
+ case "calcite-pagination":
494
380
  if (!customElements.get(tagName)) {
495
381
  defineCustomElement$e();
496
382
  }
497
383
  break;
498
- case "delete-button":
384
+ case "calcite-panel":
499
385
  if (!customElements.get(tagName)) {
500
386
  defineCustomElement$d();
501
387
  }
502
388
  break;
503
- case "edit-card":
389
+ case "calcite-popover":
504
390
  if (!customElements.get(tagName)) {
505
391
  defineCustomElement$c();
506
392
  }
507
393
  break;
508
- case "feature-list":
394
+ case "calcite-progress":
509
395
  if (!customElements.get(tagName)) {
510
396
  defineCustomElement$b();
511
397
  }
512
398
  break;
513
- case "floor-filter":
399
+ case "calcite-scrim":
514
400
  if (!customElements.get(tagName)) {
515
401
  defineCustomElement$a();
516
402
  }
517
403
  break;
518
- case "info-card":
404
+ case "calcite-shell":
519
405
  if (!customElements.get(tagName)) {
520
406
  defineCustomElement$9();
521
407
  }
522
408
  break;
523
- case "layer-list":
409
+ case "calcite-stack":
524
410
  if (!customElements.get(tagName)) {
525
411
  defineCustomElement$8();
526
412
  }
527
413
  break;
528
- case "map-card":
414
+ case "calcite-tooltip":
529
415
  if (!customElements.get(tagName)) {
530
416
  defineCustomElement$7();
531
417
  }
532
418
  break;
533
- case "map-fullscreen":
419
+ case "delete-button":
534
420
  if (!customElements.get(tagName)) {
535
421
  defineCustomElement$6();
536
422
  }
537
423
  break;
538
- case "map-legend":
424
+ case "edit-card":
539
425
  if (!customElements.get(tagName)) {
540
426
  defineCustomElement$5();
541
427
  }
542
428
  break;
543
- case "map-picker":
429
+ case "feature-list":
544
430
  if (!customElements.get(tagName)) {
545
431
  defineCustomElement$4();
546
432
  }
547
433
  break;
548
- case "map-search":
434
+ case "info-card":
549
435
  if (!customElements.get(tagName)) {
550
436
  defineCustomElement$3();
551
437
  }
552
438
  break;
553
- case "map-tools":
439
+ case "layer-list":
554
440
  if (!customElements.get(tagName)) {
555
441
  defineCustomElement$2();
556
442
  }