@esri/solutions-components 0.10.32 → 0.10.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +99 -6
  2. package/dist/cjs/crowdsource-manager.cjs.entry.js +13 -4
  3. package/dist/cjs/feature-list.cjs.entry.js +12 -3
  4. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +2 -2
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/solution-item-icon.cjs.entry.js +4 -1
  7. package/dist/cjs/solutions-components.cjs.js +1 -1
  8. package/dist/collection/assets/t9n/map-card/resources.json +2 -1
  9. package/dist/collection/assets/t9n/map-card/resources_en.json +2 -1
  10. package/dist/collection/components/card-manager/card-manager.js +2 -2
  11. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +36 -4
  12. package/dist/collection/components/feature-list/feature-list.js +12 -3
  13. package/dist/collection/components/layer-table/layer-table.js +36 -2
  14. package/dist/collection/components/map-card/map-card.js +168 -2
  15. package/dist/collection/components/solution-item-icon/item-icons/group16.png +0 -0
  16. package/dist/collection/components/solution-item-icon/solution-item-icon.js +4 -1
  17. package/dist/components/card-manager2.js +2 -2
  18. package/dist/components/crowdsource-manager.js +14 -4
  19. package/dist/components/feature-list2.js +12 -3
  20. package/dist/components/instant-apps-time-filter.js +2 -2
  21. package/dist/components/layer-table2.js +13 -2
  22. package/dist/components/map-card2.js +157 -60
  23. package/dist/components/solution-item-icon2.js +4 -1
  24. package/dist/esm/card-manager_3.entry.js +99 -6
  25. package/dist/esm/crowdsource-manager.entry.js +13 -4
  26. package/dist/esm/feature-list.entry.js +12 -3
  27. package/dist/esm/instant-apps-time-filter.entry.js +2 -2
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/esm/solution-item-icon.entry.js +4 -1
  30. package/dist/esm/solutions-components.js +1 -1
  31. package/dist/solutions-components/assets/t9n/map-card/resources.json +2 -1
  32. package/dist/solutions-components/assets/t9n/map-card/resources_en.json +2 -1
  33. package/dist/solutions-components/item-icons/group16.png +0 -0
  34. package/dist/solutions-components/p-3a513c67.entry.js +6 -0
  35. package/dist/solutions-components/p-4f5913f3.entry.js +6 -0
  36. package/dist/solutions-components/{p-3900240c.entry.js → p-5fc0e134.entry.js} +1 -1
  37. package/dist/solutions-components/p-8d2d66d0.entry.js +6 -0
  38. package/dist/solutions-components/p-cf878a34.entry.js +6 -0
  39. package/dist/solutions-components/solutions-components.esm.js +1 -1
  40. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  41. package/dist/types/components/feature-list/feature-list.d.ts +4 -0
  42. package/dist/types/components/layer-table/layer-table.d.ts +9 -1
  43. package/dist/types/components/map-card/map-card.d.ts +46 -1
  44. package/dist/types/components.d.ts +48 -0
  45. package/package.json +4 -4
  46. package/dist/solutions-components/p-3bcdf332.entry.js +0 -6
  47. package/dist/solutions-components/p-710bd9ec.entry.js +0 -6
  48. package/dist/solutions-components/p-bd5f3c9e.entry.js +0 -6
  49. package/dist/solutions-components/p-cc4c013e.entry.js +0 -6
@@ -5,5 +5,6 @@
5
5
  "zoom": "Zoom",
6
6
  "refresh": "Refresh",
7
7
  "editMultiple": "Edit multiple",
8
- "clearSelection": "Clear selection"
8
+ "clearSelection": "Clear selection",
9
+ "share": "Share"
9
10
  }
@@ -5,5 +5,6 @@
5
5
  "zoom": "Zoom",
6
6
  "refresh": "Refresh",
7
7
  "editMultiple": "Edit multiple",
8
- "clearSelection": "Clear selection"
8
+ "clearSelection": "Clear selection",
9
+ "share": "Share"
9
10
  }
@@ -130,9 +130,9 @@ export class CardManager {
130
130
  const messageClass = this._graphics?.length > 0 || this._showCreateFeatureComponent ? "display-none" : "";
131
131
  const isTable = this.layer?.isTable;
132
132
  const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
133
- const guideMsg = this.customInfoText || this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
133
+ const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
134
134
  const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
135
- return (h(Host, { key: '7bcc2cfc05bfb95ef444b2036c0fd709f816bfe8' }, h("div", { key: '088e91d3084a43cab7da6e2985784a9675f30bfb', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4ce541bdadc42cc2625756af104e144e61ca0593', class: "position-relative " + featuresClass }, h("div", { key: 'f3fd57ce5a0122df70d36a72e7d8c7ace4ffed0c', class: "position-static z-index-500" }, h("info-card", { key: 'ed1f8e88937d905928e97f1149acdc42fc557d7c', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: '21cd22e9d40954324ab68ae0f44305541a78faa4', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '2206f7bf57133e6249e84eed06363485dc540e89' }, h("calcite-panel", { key: 'a6a43c3eefcc1b03006dc14f39c9ba692620cf51' }, h("div", { key: 'f58c54e68a59e09ce8d51b010876e6f0261d920a', class: "padding-1" }, h("calcite-notice", { key: '5e57dcae6e804c3954a693d972a47171e07419a5', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9391598f800576d7f8dd2ca5778d8a9d493df5cc', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'f30040df430858472437acef88f216040e4f3a4f', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: '6d14a7483427aa478f53e4ee54664ef2aae999fb', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: 'cace557395071006fcf0fc723f1808cad19f1099' }, h("calcite-panel", { key: '3eaa505ebf1d552775970c4f5b7dfc8f321c3f93', heading: heading }, h("calcite-action", { key: '68a09bb37ea2b6d827de48b13e1a41c74f5c34c6', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: '3e326f1e523fe3245365a4dad69372b52a969ae3', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
135
+ return (h(Host, { key: '7360aa9c48dd0c3e4a14fe0833b99c301388f93c' }, h("div", { key: '9d610f0c4728c238eceb790e97a4e06b77f1a2d1', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4b6a02205a971c7ff61aab567b2f2a3c5d288f8d', class: "position-relative " + featuresClass }, h("div", { key: '96ee8ce138265dd4b562ac0a33b79a0db4497842', class: "position-static z-index-500" }, h("info-card", { key: '7db359bc1016281fd01b737dc5c424fe78995422', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: 'afc8d06e9aa3213a9ca10c929497ed4618a28e91', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '46db92a6e259eefea3293310e3e2f43d7639db97' }, h("calcite-panel", { key: 'd2bc23ae7bcf2b7b7b48a35efc0697e0d1f9e23e' }, h("div", { key: '8f7fd13f9ec99beec1d7231dda03eba403a70a69', class: "padding-1" }, h("calcite-notice", { key: '2fbe94292c1dd91ee1691b8e3d295225ff5b534b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9f91099e4bfa0675c5b098a73b2f132b80ee76b0', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'c1b04e776f3750712992d736e09726cc26eae5db', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: 'a71d4b0abd1ec1a4ed14a2cb3dcb10a075f54bf0', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: '85047b527f5995a912b527325f287c3596caf630' }, h("calcite-panel", { key: 'd335be81502e0feb803ee9ad4e501d4c85f184f5', heading: heading }, h("calcite-action", { key: 'b179c3185dbada3bd052d38b98b75cf29240655c', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: 'f3b6655e3effdb6b09e64acd651a09d6028a6df9', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
136
136
  }
137
137
  /**
138
138
  * Returns the editor component for adding feature
@@ -29,6 +29,7 @@ export class CrowdsourceManager {
29
29
  this.basemapConfig = undefined;
30
30
  this.coverPageEnabled = undefined;
31
31
  this.customInfoText = undefined;
32
+ this.defaultAppLayout = undefined;
32
33
  this.defaultCenter = "";
33
34
  this.defaultGlobalId = "";
34
35
  this.defaultLayer = "";
@@ -89,6 +90,10 @@ export class CrowdsourceManager {
89
90
  // Properties (protected)
90
91
  //
91
92
  //--------------------------------------------------------------------------
93
+ /**
94
+ * boolean: When true the default appLayout has been applied and should no longer override
95
+ */
96
+ _defaultAppLayoutHonored = false;
92
97
  /**
93
98
  * boolean: When true the map view will be set after render due to popup obstructing the view
94
99
  * MapView.when is not fired when mapView is not currently visible
@@ -238,7 +243,7 @@ export class CrowdsourceManager {
238
243
  render() {
239
244
  // only avoid border when we have a header color that is not white
240
245
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
241
- return (h(Host, { key: '797519a81cbac4330519ad114ca127efb4284b84' }, h("calcite-shell", { key: '253b4a3610a1b448e7db95dbdba9bfe931911d85', class: "position-relative" }, h("calcite-panel", { key: 'ed07e564d0ec7749121201f0e5fc64885d7794f9', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
246
+ return (h(Host, { key: 'ddb8bb35d74ab89ffd62d7bd0468b5a757fa5ba1' }, h("calcite-shell", { key: '74d941a3b1d4149a57c88cea263a2fd7e2b4f840', class: "position-relative" }, h("calcite-panel", { key: '3ff44942eab43c6f3a1cd92c918c0e2bae3d500a', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
242
247
  }
243
248
  /**
244
249
  * Called after each render
@@ -257,7 +262,11 @@ export class CrowdsourceManager {
257
262
  */
258
263
  async componentDidLoad() {
259
264
  this._resizeObserver.observe(this.el);
260
- if (this.hideMapOnLoad && !this.appLayout) {
265
+ if (!this._defaultAppLayoutHonored && this.defaultAppLayout) {
266
+ this._defaultAppLayoutHonored = true;
267
+ this.appLayout = this.defaultAppLayout;
268
+ }
269
+ else if (this.hideMapOnLoad && !this.appLayout) {
261
270
  this.appLayout = 'tableView';
262
271
  }
263
272
  else if (!this.appLayout) {
@@ -433,7 +442,7 @@ export class CrowdsourceManager {
433
442
  const isTableLayout = this.appLayout === 'tableView';
434
443
  const mapContainerClass = (isMapLayout || isTableLayout) ? "position-absolute-0" : this._layoutMode === ELayoutMode.HORIZONTAL && (!this._isPortraitMobile || panelOpen) ? "" : "adjusted-height-50";
435
444
  const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
436
- return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
445
+ return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appLayout: this.appLayout, appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableShare: this.enableShare, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
437
446
  }
438
447
  /**
439
448
  * Get the expand node for the popup information
@@ -495,7 +504,7 @@ export class CrowdsourceManager {
495
504
  this.defaultGlobalId?.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
496
505
  const defaultOid = !this.defaultOid ? undefined :
497
506
  this.defaultOid?.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
498
- return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
507
+ return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { appLayout: this.appLayout, createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
499
508
  }
500
509
  /**
501
510
  * Returns the Actions for table's node
@@ -828,6 +837,29 @@ export class CrowdsourceManager {
828
837
  "attribute": "custom-info-text",
829
838
  "reflect": false
830
839
  },
840
+ "defaultAppLayout": {
841
+ "type": "string",
842
+ "mutable": false,
843
+ "complexType": {
844
+ "original": "AppLayout",
845
+ "resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
846
+ "references": {
847
+ "AppLayout": {
848
+ "location": "import",
849
+ "path": "../../utils/interfaces",
850
+ "id": "src/utils/interfaces.ts::AppLayout"
851
+ }
852
+ }
853
+ },
854
+ "required": false,
855
+ "optional": false,
856
+ "docs": {
857
+ "tags": [],
858
+ "text": "string: default layout the application should use"
859
+ },
860
+ "attribute": "default-app-layout",
861
+ "reflect": false
862
+ },
831
863
  "defaultCenter": {
832
864
  "type": "string",
833
865
  "mutable": false,
@@ -83,6 +83,10 @@ export class FeatureList {
83
83
  * __esri.Handle: Highlight handle of the selections
84
84
  */
85
85
  _highlightHandle;
86
+ /**
87
+ * __esri.Collection: Highlight options for the selected layer
88
+ */
89
+ _highlights;
86
90
  /**
87
91
  * HTMLCalcitePaginationElement: Calcite pagination element instance
88
92
  */
@@ -183,9 +187,9 @@ export class FeatureList {
183
187
  * Renders the component.
184
188
  */
185
189
  render() {
186
- return (h("calcite-panel", { key: 'fc2cc60231efb7fc4a05d3ade0bad6a3dd649b8e', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '43c8176c2aaf0cc7f36a9f1ff477f53890cfcf2d', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
187
- h("calcite-notice", { key: 'dff1bb7207397ded8a557b61e9185ea788520441', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'c1dd4e7fb8398c4317270b50eba7e6270fd7051b', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '49019c011e8667d193f566826644b0693b0fb6f9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
188
- h("div", { key: '12e767a001c4dffec7e771d12b772fb43bbf9b0f', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: 'd6a8a9eac72fe7217eda926f46baedcb4e6d5859', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
190
+ return (h("calcite-panel", { key: '381f7da40e715848d4601810aacedbe3a7a46d6d', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '62d128eee1b0a987fe24764b8cfbff148dcf9084', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
191
+ h("calcite-notice", { key: '975aef0b4c33676fc2be4aa85a51641d0b203cd4', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'c002eb4d59d8bab086d91266ca4a0ca56a185db3', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '50f0c269f30e9619561ea61f462fb964f91a93a9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
192
+ h("div", { key: '97f837035b89d3045efd2771c0ef77d12fbb333b', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: 'd88adbe6499b358395bd7bf5917c3d0c1506d8b1', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
189
193
  }
190
194
  //--------------------------------------------------------------------------
191
195
  //
@@ -304,7 +308,12 @@ export class FeatureList {
304
308
  if (this.highlightOnHover) {
305
309
  const oId = selectedFeature.getObjectId();
306
310
  const selectedLayerView = await getFeatureLayerView(this.mapView, this.selectedLayerId);
311
+ // this is a workaround added for https://github.com/Esri/solutions-components/issues/920
312
+ if (this._highlights) {
313
+ selectedLayerView.highlights = JSON.parse(this._highlights);
314
+ }
307
315
  selectedLayerView.highlightOptions = { color: new this.Color("#FFFF00") };
316
+ this._highlights = JSON.stringify(selectedLayerView.highlights);
308
317
  this._highlightHandle = selectedLayerView.highlight([oId]);
309
318
  }
310
319
  }
@@ -27,6 +27,7 @@ import * as downloadUtils from "../../utils/downloadUtils";
27
27
  import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
28
28
  export class LayerTable {
29
29
  constructor() {
30
+ this.appLayout = undefined;
30
31
  this.defaultGlobalId = undefined;
31
32
  this.defaultLayerId = undefined;
32
33
  this.defaultOid = undefined;
@@ -235,6 +236,12 @@ export class LayerTable {
235
236
  // Watch handlers
236
237
  //
237
238
  //--------------------------------------------------------------------------
239
+ /**
240
+ * Update the url params when the appLayout changes
241
+ */
242
+ appLayoutWatchHandler() {
243
+ this._updateShareUrl();
244
+ }
238
245
  /**
239
246
  * Handle url defaults when defaultOid is set
240
247
  */
@@ -521,8 +528,8 @@ export class LayerTable {
521
528
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
522
529
  const showSearch = this._canShowFullTextSearch();
523
530
  this._validateActiveActions();
524
- return (h(Host, { key: '46394d7e108068600980efd766fbf5d91243f3c9' }, h("calcite-shell", { key: 'd831121a56070552139386033b02ddc2531c29e9' }, this._getTableControlRow("header"), h("div", { key: '591e0b0bba19f1dbe99049a470b5d3c04253a2c2', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'd70244a3c989a5bea8bbbaf33c4ebe9c04fc4515', class: "height-full width-full" }, showSearch &&
525
- h("div", { key: 'fd14c6dab7898e27bd61bbc03878c898d26f042a', class: "search-container" }, h("calcite-input", { key: '9675cc22233456446be8a6b9fc24842fbb3f88e2', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '74447458a0ac4cee6934e7101a5fee2c180d1330', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '6c2a5ff4a69690fde002005eb9c55047c25ad63d', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
531
+ return (h(Host, { key: 'aa79d91e6c569393334a38f937a493de227a0e5b' }, h("calcite-shell", { key: '4b7460fc764c5a6027ad5aa8da826bd188e5490e' }, this._getTableControlRow("header"), h("div", { key: '66ea361c6c2c3a5d05c4403a5d3dd1dea5a9e70b', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b213a696294c94504f394b54082f0183b46691ce', class: "height-full width-full" }, showSearch &&
532
+ h("div", { key: '866dd2a69bc9e504b459ca8639d13f5babfa65fa', class: "search-container" }, h("calcite-input", { key: '26f80276d08106981ef8c769fd4334528a37d881', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: 'a3d2e215cee3e370ef5645b6422c95eef32beedf', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'e48c86ee1ebcc23121eab08903e55cc41270c4c8', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
526
533
  .replace("{{total}}", total)
527
534
  .replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal()));
528
535
  }
@@ -1131,6 +1138,7 @@ export class LayerTable {
1131
1138
  else {
1132
1139
  urlObj.searchParams.delete("oid");
1133
1140
  }
1141
+ urlObj.searchParams.set("applayout", this.appLayout);
1134
1142
  this._shareNode.shareUrl = urlObj.href;
1135
1143
  }
1136
1144
  /**
@@ -1887,6 +1895,29 @@ export class LayerTable {
1887
1895
  }
1888
1896
  static get properties() {
1889
1897
  return {
1898
+ "appLayout": {
1899
+ "type": "string",
1900
+ "mutable": false,
1901
+ "complexType": {
1902
+ "original": "AppLayout",
1903
+ "resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
1904
+ "references": {
1905
+ "AppLayout": {
1906
+ "location": "import",
1907
+ "path": "../../utils/interfaces",
1908
+ "id": "src/utils/interfaces.ts::AppLayout"
1909
+ }
1910
+ }
1911
+ },
1912
+ "required": false,
1913
+ "optional": false,
1914
+ "docs": {
1915
+ "tags": [],
1916
+ "text": "AppLayout: the current app layout"
1917
+ },
1918
+ "attribute": "app-layout",
1919
+ "reflect": false
1920
+ },
1890
1921
  "defaultGlobalId": {
1891
1922
  "type": "unknown",
1892
1923
  "mutable": false,
@@ -2360,6 +2391,9 @@ export class LayerTable {
2360
2391
  static get elementRef() { return "el"; }
2361
2392
  static get watchers() {
2362
2393
  return [{
2394
+ "propName": "appLayout",
2395
+ "methodName": "appLayoutWatchHandler"
2396
+ }, {
2363
2397
  "propName": "defaultOid",
2364
2398
  "methodName": "defaultOidWatchHandler"
2365
2399
  }, {
@@ -23,6 +23,7 @@ import { loadModules } from "../../utils/loadModules";
23
23
  import { joinAppProxies } from "templates-common-library-esm/functionality/proxy";
24
24
  import { getLocaleComponentStrings } from "../../utils/locale";
25
25
  import { getFeatureLayerView, goToSelection } from "../../utils/mapViewUtils";
26
+ import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
26
27
  // TODO navigation and accessability isn't right for the map list
27
28
  // tab does not go into the list when it's open
28
29
  // focus is not set when it opens
@@ -31,6 +32,7 @@ import { getFeatureLayerView, goToSelection } from "../../utils/mapViewUtils";
31
32
  // TODO map list should close if the user clicks something else...hope this will be easy when I figure out how to set focus when it opens
32
33
  export class MapCard {
33
34
  constructor() {
35
+ this.appLayout = undefined;
34
36
  this.appProxies = undefined;
35
37
  this.defaultWebmapId = "";
36
38
  this.defaultLayerId = undefined;
@@ -38,6 +40,7 @@ export class MapCard {
38
40
  this.enableLegend = undefined;
39
41
  this.enableFloorFilter = undefined;
40
42
  this.enableFullscreen = undefined;
43
+ this.enableShare = false;
41
44
  this.enableSingleExpand = true;
42
45
  this.enableSearch = undefined;
43
46
  this.enableBasemap = undefined;
@@ -55,6 +58,8 @@ export class MapCard {
55
58
  this.theme = undefined;
56
59
  this.toolOrder = undefined;
57
60
  this.isMapLayout = undefined;
61
+ this.shareIncludeEmbed = undefined;
62
+ this.shareIncludeSocial = undefined;
58
63
  this.selectedFeaturesIds = undefined;
59
64
  this.selectedLayer = undefined;
60
65
  this.zoomToScale = undefined;
@@ -143,6 +148,10 @@ export class MapCard {
143
148
  * ResizeObserver: The observer that watches for toolbar size changes
144
149
  */
145
150
  _resizeObserver;
151
+ /**
152
+ * HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
153
+ */
154
+ _shareNode;
146
155
  /**
147
156
  * HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
148
157
  */
@@ -172,12 +181,36 @@ export class MapCard {
172
181
  // Watch handlers
173
182
  //
174
183
  //--------------------------------------------------------------------------
184
+ /**
185
+ * Update the url params when the appLayout changes
186
+ */
187
+ appLayoutWatchHandler() {
188
+ this._updateShareUrl();
189
+ }
175
190
  /**
176
191
  * Add/remove home widget
177
192
  */
178
193
  enableHomeWatchHandler() {
179
194
  this._initHome();
180
195
  }
196
+ /**
197
+ * Update the toolbar when the share button is enabled/disabled
198
+ */
199
+ enableShareWatchHandler() {
200
+ // this should be caught by component did render and is when I test locally
201
+ // however have had reported case where it is not somehow on devext so adding explicit check here
202
+ if (this._toolbar) {
203
+ this._updateToolbar();
204
+ }
205
+ }
206
+ /**
207
+ * watch for changes in map view and get the first layer
208
+ */
209
+ async mapViewWatchHandler() {
210
+ if (this.mapView) {
211
+ this._updateShareUrl();
212
+ }
213
+ }
181
214
  /**
182
215
  * watch for changes in layer view and verify if it has editing enabled
183
216
  */
@@ -190,6 +223,7 @@ export class MapCard {
190
223
  * watch for features ids changes
191
224
  */
192
225
  async selectedFeaturesIdsWatchHandler() {
226
+ this._updateShareUrl();
193
227
  this._validateEnabledActions();
194
228
  }
195
229
  /**
@@ -218,12 +252,14 @@ export class MapCard {
218
252
  */
219
253
  async resetFilter() {
220
254
  this._filterActive = false;
255
+ this._updateShareUrl();
221
256
  }
222
257
  /**
223
258
  * updates the filter
224
259
  */
225
260
  async updateFilterState() {
226
261
  this._filterActive = this._definitionExpression !== this.selectedLayer.definitionExpression;
262
+ this._updateShareUrl();
227
263
  }
228
264
  /**
229
265
  * updates the layer in map layer picker
@@ -299,7 +335,7 @@ export class MapCard {
299
335
  const mapHeightClass = this.mapInfos?.length > 1 || this.isMapLayout ? "map-height" : "height-full";
300
336
  const progressClass = this.isMapLayout ? "" : "display-none";
301
337
  this._validateActiveActions();
302
- return (h(Host, { key: '94d7399ed75c0e90487d6153a0d28ab6f722ae93' }, h("div", { key: 'e194d8800dd7a865e101d779d032d164f3e5562d', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options")), h("calcite-progress", { key: '0abdbf4e8ba5861866aba7791dfdb91a7a5f4daa', class: progressClass, value: 0 }), h("div", { key: '83aa012aeef6ae64e49007d542fd949e7d4602f4', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { key: '229cc18b36885cad12d44c13e1fe37a97403b9d8', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
338
+ return (h(Host, { key: '790599924cf104116f6961380103aef7c55e6d76' }, h("div", { key: '5467a5d4e3998807fdf243ada3088dba8e69941f', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options"), this.enableShare && !this.isMobile && this.isMapLayout ? this._getShare("share") : undefined), h("calcite-progress", { key: '5c82042e0206be05e12d29ba588b26344b1017b8', class: progressClass, value: 0 }), h("div", { key: '0831bc4593f5a7680a8599a9868990734cb013b9', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { key: '5bbf14428cc845d8b889e72d707672250f820686', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
303
339
  }
304
340
  /**
305
341
  * Called each time after the component is loaded
@@ -318,6 +354,7 @@ export class MapCard {
318
354
  this._resizeObserver.observe(this._toolbar);
319
355
  this._observerSet = true;
320
356
  }
357
+ this._updateShareUrl();
321
358
  }
322
359
  //--------------------------------------------------------------------------
323
360
  //
@@ -396,6 +433,7 @@ export class MapCard {
396
433
  mapView: this.mapView
397
434
  });
398
435
  }
436
+ this._updateShareUrl();
399
437
  }
400
438
  /**
401
439
  * Add/Remove tools from the action bar and dropdown based on available size
@@ -414,7 +452,7 @@ export class MapCard {
414
452
  prev += cur.width;
415
453
  return prev;
416
454
  }, 0);
417
- const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker"];
455
+ const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker", "solutions-action-share"];
418
456
  if (controlsWidth > toolbarWidth) {
419
457
  if (this._toolbarSizeInfos.length > 0) {
420
458
  const controlsThatFit = [...this._toolbarSizeInfos].reverse().reduce((prev, cur) => {
@@ -540,6 +578,50 @@ export class MapCard {
540
578
  return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: "none" }, h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (h("div", { class: "display-flex" }, h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
541
579
  })))) : undefined;
542
580
  }
581
+ /**
582
+ * Get an action and tooltip for share
583
+ *
584
+ * @param icon string the name of the icon to display, will also be used in its id
585
+ *
586
+ * @returns VNode The node representing the DOM element that will contain the action
587
+ */
588
+ _getShare(icon) {
589
+ return (h("div", { class: "share-action", id: this._getId(icon) }, h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "instant-app-share", embed: this.shareIncludeEmbed, popoverButtonIconScale: "s", ref: el => {
590
+ this._shareNode = el;
591
+ this._updateShareUrl();
592
+ }, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", socialMedia: this.shareIncludeSocial, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
593
+ }
594
+ /**
595
+ * Called each time the values that are used for custom url params change
596
+ */
597
+ _updateShareUrl() {
598
+ const url = this._shareNode?.shareUrl;
599
+ if (!url) {
600
+ return;
601
+ }
602
+ const urlObj = new URL(url);
603
+ //set the additional search params
604
+ if (this._loadedId) {
605
+ urlObj.searchParams.set("webmap", this._loadedId);
606
+ }
607
+ else {
608
+ urlObj.searchParams.delete("webmap");
609
+ }
610
+ if (this.selectedLayer?.id) {
611
+ urlObj.searchParams.set("layer", this.selectedLayer.id);
612
+ }
613
+ else {
614
+ urlObj.searchParams.delete("layer");
615
+ }
616
+ if (this.selectedFeaturesIds?.length > 0) {
617
+ urlObj.searchParams.set("oid", this.selectedFeaturesIds.join(","));
618
+ }
619
+ else {
620
+ urlObj.searchParams.delete("oid");
621
+ }
622
+ urlObj.searchParams.set("applayout", this.appLayout);
623
+ this._shareNode.shareUrl = urlObj.href;
624
+ }
543
625
  /**
544
626
  * Open show/hide dropdown
545
627
  * @protected
@@ -827,6 +909,29 @@ export class MapCard {
827
909
  }
828
910
  static get properties() {
829
911
  return {
912
+ "appLayout": {
913
+ "type": "string",
914
+ "mutable": false,
915
+ "complexType": {
916
+ "original": "AppLayout",
917
+ "resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
918
+ "references": {
919
+ "AppLayout": {
920
+ "location": "import",
921
+ "path": "../../utils/interfaces",
922
+ "id": "src/utils/interfaces.ts::AppLayout"
923
+ }
924
+ }
925
+ },
926
+ "required": false,
927
+ "optional": false,
928
+ "docs": {
929
+ "tags": [],
930
+ "text": "AppLayout: the current app layout"
931
+ },
932
+ "attribute": "app-layout",
933
+ "reflect": false
934
+ },
830
935
  "appProxies": {
831
936
  "type": "any",
832
937
  "mutable": false,
@@ -947,6 +1052,24 @@ export class MapCard {
947
1052
  "attribute": "enable-fullscreen",
948
1053
  "reflect": false
949
1054
  },
1055
+ "enableShare": {
1056
+ "type": "boolean",
1057
+ "mutable": false,
1058
+ "complexType": {
1059
+ "original": "boolean",
1060
+ "resolved": "boolean",
1061
+ "references": {}
1062
+ },
1063
+ "required": false,
1064
+ "optional": false,
1065
+ "docs": {
1066
+ "tags": [],
1067
+ "text": "boolean: when true the share widget will be available"
1068
+ },
1069
+ "attribute": "enable-share",
1070
+ "reflect": false,
1071
+ "defaultValue": "false"
1072
+ },
950
1073
  "enableSingleExpand": {
951
1074
  "type": "boolean",
952
1075
  "mutable": false,
@@ -1270,6 +1393,40 @@ export class MapCard {
1270
1393
  "attribute": "is-map-layout",
1271
1394
  "reflect": false
1272
1395
  },
1396
+ "shareIncludeEmbed": {
1397
+ "type": "boolean",
1398
+ "mutable": false,
1399
+ "complexType": {
1400
+ "original": "boolean",
1401
+ "resolved": "boolean",
1402
+ "references": {}
1403
+ },
1404
+ "required": false,
1405
+ "optional": false,
1406
+ "docs": {
1407
+ "tags": [],
1408
+ "text": "boolean: When true the share options will include embed option"
1409
+ },
1410
+ "attribute": "share-include-embed",
1411
+ "reflect": false
1412
+ },
1413
+ "shareIncludeSocial": {
1414
+ "type": "boolean",
1415
+ "mutable": false,
1416
+ "complexType": {
1417
+ "original": "boolean",
1418
+ "resolved": "boolean",
1419
+ "references": {}
1420
+ },
1421
+ "required": false,
1422
+ "optional": false,
1423
+ "docs": {
1424
+ "tags": [],
1425
+ "text": "boolean: When true the share options will include social media sharing"
1426
+ },
1427
+ "attribute": "share-include-social",
1428
+ "reflect": false
1429
+ },
1273
1430
  "selectedFeaturesIds": {
1274
1431
  "type": "unknown",
1275
1432
  "mutable": false,
@@ -1516,8 +1673,17 @@ export class MapCard {
1516
1673
  static get elementRef() { return "el"; }
1517
1674
  static get watchers() {
1518
1675
  return [{
1676
+ "propName": "appLayout",
1677
+ "methodName": "appLayoutWatchHandler"
1678
+ }, {
1519
1679
  "propName": "enableHome",
1520
1680
  "methodName": "enableHomeWatchHandler"
1681
+ }, {
1682
+ "propName": "enableShare",
1683
+ "methodName": "enableShareWatchHandler"
1684
+ }, {
1685
+ "propName": "mapView",
1686
+ "methodName": "mapViewWatchHandler"
1521
1687
  }, {
1522
1688
  "propName": "selectedLayer",
1523
1689
  "methodName": "selectedLayerWatchHandler"
@@ -79,7 +79,8 @@ export class SolutionItemIcon {
79
79
  */
80
80
  _getIconUrl(type, typeKeywords) {
81
81
  const icon = this._getItemIcon(type, typeKeywords);
82
- return getAssetPath(`./item-icons/${icon}16.svg`);
82
+ return icon === "group" ? getAssetPath(`./item-icons/${icon}16.png`) :
83
+ getAssetPath(`./item-icons/${icon}16.svg`);
83
84
  }
84
85
  /**
85
86
  * This function was copied and slightly modified from the arcgis-app-components.
@@ -130,6 +131,8 @@ export class SolutionItemIcon {
130
131
  return "utilitynetwork";
131
132
  }
132
133
  return hosted ? "featureshosted" : "features";
134
+ case "group":
135
+ return "group";
133
136
  case "group layer":
134
137
  if (keywords.includes("Map")) {
135
138
  return "layergroup2d";
@@ -138,9 +138,9 @@ const CardManager = /*@__PURE__*/ proxyCustomElement(class CardManager extends H
138
138
  const messageClass = this._graphics?.length > 0 || this._showCreateFeatureComponent ? "display-none" : "";
139
139
  const isTable = this.layer?.isTable;
140
140
  const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
141
- const guideMsg = this.customInfoText || this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
141
+ const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
142
142
  const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
143
- return (h(Host, { key: '7bcc2cfc05bfb95ef444b2036c0fd709f816bfe8' }, h("div", { key: '088e91d3084a43cab7da6e2985784a9675f30bfb', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4ce541bdadc42cc2625756af104e144e61ca0593', class: "position-relative " + featuresClass }, h("div", { key: 'f3fd57ce5a0122df70d36a72e7d8c7ace4ffed0c', class: "position-static z-index-500" }, h("info-card", { key: 'ed1f8e88937d905928e97f1149acdc42fc557d7c', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: '21cd22e9d40954324ab68ae0f44305541a78faa4', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '2206f7bf57133e6249e84eed06363485dc540e89' }, h("calcite-panel", { key: 'a6a43c3eefcc1b03006dc14f39c9ba692620cf51' }, h("div", { key: 'f58c54e68a59e09ce8d51b010876e6f0261d920a', class: "padding-1" }, h("calcite-notice", { key: '5e57dcae6e804c3954a693d972a47171e07419a5', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9391598f800576d7f8dd2ca5778d8a9d493df5cc', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'f30040df430858472437acef88f216040e4f3a4f', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: '6d14a7483427aa478f53e4ee54664ef2aae999fb', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: 'cace557395071006fcf0fc723f1808cad19f1099' }, h("calcite-panel", { key: '3eaa505ebf1d552775970c4f5b7dfc8f321c3f93', heading: heading }, h("calcite-action", { key: '68a09bb37ea2b6d827de48b13e1a41c74f5c34c6', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: '3e326f1e523fe3245365a4dad69372b52a969ae3', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
143
+ return (h(Host, { key: '7360aa9c48dd0c3e4a14fe0833b99c301388f93c' }, h("div", { key: '9d610f0c4728c238eceb790e97a4e06b77f1a2d1', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4b6a02205a971c7ff61aab567b2f2a3c5d288f8d', class: "position-relative " + featuresClass }, h("div", { key: '96ee8ce138265dd4b562ac0a33b79a0db4497842', class: "position-static z-index-500" }, h("info-card", { key: '7db359bc1016281fd01b737dc5c424fe78995422', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: 'afc8d06e9aa3213a9ca10c929497ed4618a28e91', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '46db92a6e259eefea3293310e3e2f43d7639db97' }, h("calcite-panel", { key: 'd2bc23ae7bcf2b7b7b48a35efc0697e0d1f9e23e' }, h("div", { key: '8f7fd13f9ec99beec1d7231dda03eba403a70a69', class: "padding-1" }, h("calcite-notice", { key: '2fbe94292c1dd91ee1691b8e3d295225ff5b534b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9f91099e4bfa0675c5b098a73b2f132b80ee76b0', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'c1b04e776f3750712992d736e09726cc26eae5db', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: 'a71d4b0abd1ec1a4ed14a2cb3dcb10a075f54bf0', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: '85047b527f5995a912b527325f287c3596caf630' }, h("calcite-panel", { key: 'd335be81502e0feb803ee9ad4e501d4c85f184f5', heading: heading }, h("calcite-action", { key: 'b179c3185dbada3bd052d38b98b75cf29240655c', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: 'f3b6655e3effdb6b09e64acd651a09d6028a6df9', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
144
144
  }
145
145
  /**
146
146
  * Returns the editor component for adding feature