@esri/solutions-components 0.7.18 → 0.7.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/cjs/calcite-alert_3.cjs.entry.js +93 -6
  2. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -1
  3. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -1
  4. package/dist/cjs/card-manager_3.cjs.entry.js +12 -5
  5. package/dist/cjs/crowdsource-manager.cjs.entry.js +4 -3
  6. package/dist/cjs/{downloadUtils-8f50633d.js → downloadUtils-9a13c6ac.js} +19 -14
  7. package/dist/cjs/{index.es-140aa937.js → index.es-284a020c.js} +2 -2
  8. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  9. package/dist/cjs/{mapViewUtils-569e9644.js → mapViewUtils-8aa325de.js} +4 -1
  10. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  11. package/dist/cjs/solution-contents_3.cjs.entry.js +4 -4
  12. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +4 -1
  13. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +3 -2
  14. package/dist/collection/components/edit-card/edit-card.js +1 -2
  15. package/dist/collection/components/info-card/info-card.js +3 -3
  16. package/dist/collection/components/layer-table/layer-table.css +4 -0
  17. package/dist/collection/components/layer-table/layer-table.js +9 -2
  18. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  19. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +4 -4
  20. package/dist/collection/utils/downloadUtils.js +17 -12
  21. package/dist/collection/utils/downloadUtils.ts +20 -12
  22. package/dist/collection/utils/interfaces.ts +5 -0
  23. package/dist/collection/utils/popupUtils.js +94 -0
  24. package/dist/collection/utils/popupUtils.ts +104 -0
  25. package/dist/collection/utils/queryUtils.js +4 -1
  26. package/dist/collection/utils/queryUtils.ts +5 -1
  27. package/dist/components/crowdsource-manager.js +4 -3
  28. package/dist/components/downloadUtils.js +17 -12
  29. package/dist/components/edit-card2.js +1 -2
  30. package/dist/components/info-card2.js +91 -3
  31. package/dist/components/layer-table2.js +10 -3
  32. package/dist/components/queryUtils.js +4 -1
  33. package/dist/components/solution-item-sharing2.js +1 -1
  34. package/dist/components/solution-spatial-ref2.js +4 -4
  35. package/dist/esm/calcite-alert_3.entry.js +93 -6
  36. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  37. package/dist/esm/calcite-shell-panel_14.entry.js +1 -1
  38. package/dist/esm/card-manager_3.entry.js +12 -5
  39. package/dist/esm/crowdsource-manager.entry.js +4 -3
  40. package/dist/esm/{downloadUtils-9dee8bc0.js → downloadUtils-a4bbdb1d.js} +19 -14
  41. package/dist/esm/{index.es-54e86c8e.js → index.es-48fdb288.js} +2 -2
  42. package/dist/esm/map-select-tools_3.entry.js +2 -2
  43. package/dist/esm/{mapViewUtils-066602d5.js → mapViewUtils-8fe70944.js} +4 -1
  44. package/dist/esm/public-notification.entry.js +2 -2
  45. package/dist/esm/solution-contents_3.entry.js +4 -4
  46. package/dist/solutions-components/{p-d0c4572d.entry.js → p-1d56804c.entry.js} +18 -2
  47. package/dist/solutions-components/p-24b3ad7d.entry.js +6 -0
  48. package/dist/solutions-components/{p-6656c53e.entry.js → p-2abc02a1.entry.js} +1 -1
  49. package/dist/solutions-components/{p-825c045a.entry.js → p-2ddd9cf8.entry.js} +1 -1
  50. package/dist/solutions-components/{p-e8011829.entry.js → p-48a5ae32.entry.js} +1 -1
  51. package/dist/solutions-components/{p-dfdb8411.js → p-72dbfa77.js} +1 -1
  52. package/dist/solutions-components/{p-683cded6.entry.js → p-b1422b00.entry.js} +1 -1
  53. package/dist/solutions-components/p-b5d1b979.js +36 -0
  54. package/dist/solutions-components/{p-e405f393.entry.js → p-cf24ce53.entry.js} +1 -1
  55. package/dist/solutions-components/{p-1bdd64a0.js → p-d4afcf86.js} +4 -4
  56. package/dist/solutions-components/{p-f486c86d.entry.js → p-fdb1ace8.entry.js} +1 -1
  57. package/dist/solutions-components/solutions-components.css +1 -1
  58. package/dist/solutions-components/solutions-components.esm.js +1 -1
  59. package/dist/solutions-components/utils/downloadUtils.ts +20 -12
  60. package/dist/solutions-components/utils/interfaces.ts +5 -0
  61. package/dist/solutions-components/utils/popupUtils.ts +104 -0
  62. package/dist/solutions-components/utils/queryUtils.ts +5 -1
  63. package/dist/types/components/info-card/info-card.d.ts +5 -0
  64. package/dist/types/utils/downloadUtils.d.ts +3 -3
  65. package/dist/types/utils/interfaces.d.ts +4 -0
  66. package/dist/types/utils/popupUtils.d.ts +46 -0
  67. package/dist/types/utils/queryUtils.d.ts +1 -1
  68. package/package.json +1 -1
  69. package/dist/solutions-components/p-531d91d6.js +0 -36
  70. package/dist/solutions-components/p-8ca5d651.entry.js +0 -6
@@ -17,7 +17,7 @@ const t9n = require('./t9n-0556abcb.js');
17
17
  const resources = require('./resources-222ad22c.js');
18
18
  const loadModules = require('./loadModules-46d14e81.js');
19
19
  const locale$1 = require('./locale-9db09b63.js');
20
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
20
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
21
21
  require('./guid-1a466ca6.js');
22
22
  require('./resources-6c60363a.js');
23
23
  require('./key-b8c05387.js');
@@ -445,8 +445,7 @@ const EditCard = class {
445
445
  view: this.mapView,
446
446
  layerInfos,
447
447
  visibleElements: {
448
- snappingControls: false,
449
- sketchTooltipControls: false
448
+ snappingControls: false
450
449
  },
451
450
  container
452
451
  });
@@ -511,6 +510,95 @@ const EditCard = class {
511
510
  };
512
511
  EditCard.style = editCardCss;
513
512
 
513
+ /** @license
514
+ * Copyright 2022 Esri
515
+ *
516
+ * Licensed under the Apache License, Version 2.0 (the "License");
517
+ * you may not use this file except in compliance with the License.
518
+ * You may obtain a copy of the License at
519
+ *
520
+ * http://www.apache.org/licenses/LICENSE-2.0
521
+ *
522
+ * Unless required by applicable law or agreed to in writing, software
523
+ * distributed under the License is distributed on an "AS IS" BASIS,
524
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
525
+ * See the License for the specific language governing permissions and
526
+ * limitations under the License.
527
+ */
528
+ class PopupUtils {
529
+ /**
530
+ * Get the popup title that honors arcade expressions
531
+ *
532
+ * @returns Promise resolving with the popup title
533
+ *
534
+ * @protected
535
+ */
536
+ async getPopupTitle(graphic) {
537
+ var _a, _b, _c;
538
+ if (!this.arcade) {
539
+ await this._initModules();
540
+ }
541
+ let attributes = {};
542
+ for (const [key, value] of Object.entries(graphic.attributes)) {
543
+ attributes = Object.assign(Object.assign({}, attributes), { [`{${key.toUpperCase()}}`]: value });
544
+ }
545
+ const layer = graphic.layer;
546
+ const popupTitle = this._removeTags((_a = layer === null || layer === void 0 ? void 0 : layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.title);
547
+ if (popupTitle.includes("{expression/expr") && ((_b = layer === null || layer === void 0 ? void 0 : layer.popupTemplate) === null || _b === void 0 ? void 0 : _b.expressionInfos) != null) {
548
+ for (let i = 0; i < ((_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.expressionInfos.length); i++) {
549
+ const info = layer.popupTemplate.expressionInfos[i];
550
+ const profile = {
551
+ variables: [
552
+ {
553
+ name: "$feature",
554
+ type: "feature"
555
+ }
556
+ ]
557
+ };
558
+ try {
559
+ const arcadeExecutor = await this.arcade.createArcadeExecutor(info.expression, profile);
560
+ const arcadeTitle = arcadeExecutor.execute({ $feature: graphic });
561
+ if (arcadeTitle != null || arcadeTitle !== "") {
562
+ attributes[`{expression/${info.name}}`.toUpperCase()] = arcadeTitle;
563
+ }
564
+ }
565
+ catch (_d) {
566
+ continue;
567
+ }
568
+ }
569
+ }
570
+ return popupTitle === null || popupTitle === void 0 ? void 0 : popupTitle.replace(/{.*?}/g, (placeholder) => {
571
+ return attributes[placeholder.toUpperCase()] != null ? attributes[placeholder.toUpperCase()] : "";
572
+ });
573
+ }
574
+ /**
575
+ * Remove any tags from the title
576
+ *
577
+ * @returns title string without tags
578
+ *
579
+ * @protected
580
+ */
581
+ _removeTags(str) {
582
+ if (str == null || str === "") {
583
+ return "";
584
+ }
585
+ return str.toString().replace(/(<([^>]+)>)/gi, "");
586
+ }
587
+ /**
588
+ * Load esri javascript api modules
589
+ *
590
+ * @returns Promise resolving when function is done
591
+ *
592
+ * @protected
593
+ */
594
+ async _initModules() {
595
+ const [arcade] = await loadModules.loadModules([
596
+ "esri/arcade"
597
+ ]);
598
+ this.arcade = arcade;
599
+ }
600
+ }
601
+
514
602
  const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.esri-features__footer{display:none !important}.button-container{justify-content:space-between;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.min-width-100{min-width:100px}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.padding-top-46{padding-top:46px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}";
515
603
 
516
604
  const InfoCard = class {
@@ -546,6 +634,7 @@ const InfoCard = class {
546
634
  if (this.graphics.length > 0) {
547
635
  const featureLayer = (_a = this.graphics[0]) === null || _a === void 0 ? void 0 : _a.layer;
548
636
  this._editEnabled = featureLayer.editingEnabled && featureLayer.capabilities.operations.supportsUpdate;
637
+ this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
549
638
  this._features.open({
550
639
  features: this.graphics
551
640
  });
@@ -609,6 +698,7 @@ const InfoCard = class {
609
698
  async componentWillLoad() {
610
699
  await this._initModules();
611
700
  await this._getTranslations();
701
+ this._popupUtils = new PopupUtils();
612
702
  }
613
703
  /**
614
704
  * Renders the component.
@@ -669,9 +759,6 @@ const InfoCard = class {
669
759
  this._showListView = isOpen;
670
760
  }
671
761
  });
672
- this.reactiveUtils.watch(() => this._features.viewModel.title, (title) => {
673
- this._mobileTitle = title;
674
- });
675
762
  if (this.zoomAndScrollToSelected) {
676
763
  this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
677
764
  if (i > -1) {
@@ -26,7 +26,7 @@ const debounce = require('./debounce-30afab47.js');
26
26
  const conditionalSlot = require('./conditionalSlot-63e11cba.js');
27
27
  const key = require('./key-b8c05387.js');
28
28
  const locale$1 = require('./locale-9db09b63.js');
29
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
29
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
30
30
  const publicNotificationStore = require('./publicNotificationStore-3a17c2f4.js');
31
31
  require('./resources-6c60363a.js');
32
32
  require('./browser-9a43b900.js');
@@ -2271,7 +2271,7 @@ const SolutionItemSharing = class {
2271
2271
  this.sharing = this.sharing.map((itemShare) => {
2272
2272
  if (itemShare.id === id) {
2273
2273
  // update the item
2274
- itemShare.shareItem = event.detail.switched;
2274
+ itemShare.shareItem = event.target.checked;
2275
2275
  // update the item in the store
2276
2276
  const itemEdit = solutionStore.state.getItemInfo(id);
2277
2277
  if (itemShare.shareItem) {
@@ -9,9 +9,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-b8a649fc.js');
11
11
  const locale = require('./locale-9db09b63.js');
12
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
12
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
13
13
  const loadModules = require('./loadModules-46d14e81.js');
14
- const downloadUtils = require('./downloadUtils-8f50633d.js');
14
+ const downloadUtils = require('./downloadUtils-9a13c6ac.js');
15
15
  require('./esri-loader-a91c0ec1.js');
16
16
  require('./_commonjsHelpers-384729db.js');
17
17
  require('./interfaces-7cd0a48a.js');
@@ -107,7 +107,7 @@ const CardManager = class {
107
107
  };
108
108
  CardManager.style = cardManagerCss;
109
109
 
110
- const layerTableCss = ":host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-background)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{font-size:14px !important;color:var(--calcite-color-text-3) !important}.share-action{position:absolute;right:0}html[dir=\"rtl\"] .share-action{left:0}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.instant-app-share{height:50px !important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}";
110
+ const layerTableCss = ":host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-background)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{font-size:14px !important;color:var(--calcite-color-text-3) !important}.share-action{position:absolute;right:0}html[dir=\"rtl\"] .share-action{left:0}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.instant-app-share{height:50px !important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}.modal{--calcite-modal-content-padding:0}";
111
111
 
112
112
  const LayerTable = class {
113
113
  constructor(hostRef) {
@@ -1137,7 +1137,7 @@ const LayerTable = class {
1137
1137
  */
1138
1138
  _filterModal() {
1139
1139
  var _a, _b, _c;
1140
- return (index.h("calcite-modal", { "aria-labelledby": "modal-title", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), index.h("div", { slot: "content" }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), layerExpressions: this._layerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView }))));
1140
+ return (index.h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), index.h("div", { slot: "content" }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), layerExpressions: this._layerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView }))));
1141
1141
  }
1142
1142
  /**
1143
1143
  * Reset the filter active prop
@@ -1296,10 +1296,17 @@ const LayerTable = class {
1296
1296
  ids,
1297
1297
  layer: this._layer
1298
1298
  };
1299
+ const fields = this._table.columns.toArray().reduce((prev, cur) => {
1300
+ if (!cur.hidden) {
1301
+ prev.push(cur.name.toLocaleLowerCase());
1302
+ }
1303
+ return prev;
1304
+ }, []);
1299
1305
  void downloadUtils.downloadCSV(null, //???
1300
1306
  exportInfos, false, // formatUsingLayerPopup
1301
1307
  false, // removeDuplicates
1302
- true);
1308
+ true, // addColumnTitle
1309
+ fields);
1303
1310
  }
1304
1311
  /**
1305
1312
  * Refreshes the table and maintains the curent scroll position
@@ -13,7 +13,7 @@ const interfaces = require('./interfaces-7cd0a48a.js');
13
13
  require('./esri-loader-a91c0ec1.js');
14
14
  require('./_commonjsHelpers-384729db.js');
15
15
 
16
- const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.padding-1-2{padding:0.5rem}.display-flex{display:flex}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-color-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.border-sides{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 25px)}.adjusted-height-100{height:calc(100% - 50px)}.adjusted-height-100-50{height:calc(100% - 50px)}.display-none{display:none}.height-53{height:53px}.position-absolute-53{position:absolute;top:53px}.display-grid{display:grid}.height-50-px{height:50px}.padding-inline-start-75{padding-inline-start:0.75rem}.align-items-center{align-items:center}.esri-floor-filter__close-levels-button{width:40px !important;height:40px !important}.esri-floor-filter__level-button{width:40px !important;height:40px !important}.esri-floor-filter__browse-button{width:40px !important;height:40px !important}.position-absolute-50{position:absolute;top:50px;bottom:0px;left:0px;right:0px}.position-absolute-0{position:absolute;top:0px;bottom:0px;left:0px;right:0px}.visibility-hidden{visibility:hidden;height:0px}";
16
+ const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.padding-1-2{padding:0.5rem}.display-flex{display:flex}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-color-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.border-sides{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 25px)}.adjusted-height-100{height:calc(100% - 50px)}.adjusted-height-100-50{height:calc(100% - 50px)}.display-none{display:none}.height-53{height:53px}.position-absolute-53{position:absolute;top:53px}.display-grid{display:grid}.height-50-px{height:50px}.padding-inline-start-75{padding-inline-start:0.75rem}.align-items-center{align-items:center}.esri-floor-filter__close-levels-button{width:40px !important;height:40px !important}.esri-floor-filter__level-button{width:40px !important;height:40px !important}.esri-floor-filter__browse-button{width:40px !important;height:40px !important}.position-absolute-50{position:absolute;top:50px;bottom:0px;left:0px;right:0px}.position-absolute-0{position:absolute;top:0px;bottom:0px;left:0px;right:0px}.visibility-hidden{visibility:hidden;height:0px}.position-fixed{position:fixed}";
17
17
 
18
18
  const CrowdsourceManager = class {
19
19
  constructor(hostRef) {
@@ -262,7 +262,7 @@ const CrowdsourceManager = class {
262
262
  let sizeClass = "";
263
263
  switch (layoutMode) {
264
264
  case interfaces.ELayoutMode.HORIZONTAL:
265
- sizeClass = `${this._isMobile && this._hideTable ? "height-full" : panelOpen ? "height-1-2" : "height-0"} width-full position-relative`;
265
+ sizeClass = `${this._isMobile && this.hideMap ? "height-0 " : panelOpen ? "height-1-2 display-grid" : "height-0"} width-full position-relative`;
266
266
  break;
267
267
  case interfaces.ELayoutMode.GRID:
268
268
  sizeClass = this.classicGrid ? `${panelOpen ? "position-relative" : "position-absolute-53"} height-full width-full display-flex` :
@@ -362,7 +362,8 @@ const CrowdsourceManager = class {
362
362
  const popupNodeClass = !this._expandPopup ? "height-full" : ((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) === 1 || this._isMobile ? "position-absolute-0" : "position-absolute-50";
363
363
  const headerClass = this._isMobile ? "display-none height-0" : "";
364
364
  const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
365
- return (index.h("div", { class: `${headerTheme} ${popupNodeClass}` }, index.h("calcite-panel", null, !this._isMobile ? (index.h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, index.h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)) : undefined, this._getCardNode())));
365
+ const containerClass = this._isMobile && this._hideTable && this.hideMap ? "position-fixed width-full height-full" : this._isMobile ? "display-none height-0" : "";
366
+ return (index.h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}` }, index.h("calcite-panel", null, !this._isMobile ? (index.h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, index.h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)) : undefined, this._getCardNode())));
366
367
  }
367
368
  /**
368
369
  * Toggle the popup information
@@ -8,7 +8,7 @@
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
9
  const index = require('./index-b8a649fc.js');
10
10
  const loadModules = require('./loadModules-46d14e81.js');
11
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
11
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
12
12
  require('./solution-resource-abec7452.js');
13
13
  require('./index-f64944ad.js');
14
14
  const restHelpersGet = require('./restHelpersGet-e0737480.js');
@@ -1510,7 +1510,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1510
1510
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1511
1511
  * ====================================================================
1512
1512
  */
1513
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-140aa937.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1513
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-284a020c.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1514
1514
  /** ====================================================================
1515
1515
  * @license
1516
1516
  * jsPDF XMP metadata plugin
@@ -2362,12 +2362,12 @@ const lineSeparatorChar = "|";
2362
2362
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2363
2363
  * @returns selectionSetNames that will be used for export filenames
2364
2364
  */
2365
- async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2365
+ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false, fields = []) {
2366
2366
  const labelRequests = [];
2367
2367
  Object.keys(exportInfos).forEach(k => {
2368
2368
  var _a;
2369
2369
  const labelInfo = exportInfos[k];
2370
- labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2370
+ labelRequests.push(_prepareLabels(webmap, ((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames, fields));
2371
2371
  if (isCSVExport) {
2372
2372
  // add the layer id as a temp value separator that we can use to split values for CSV export
2373
2373
  labelRequests.push(Promise.resolve([[k]]));
@@ -2387,8 +2387,8 @@ async function consolidateLabels(webmap, exportInfos, formatUsingLayerPopup = tr
2387
2387
  * @param addColumnTitle Indicates if column headings should be included in output
2388
2388
  * @returns Promise resolving when function is done
2389
2389
  */
2390
- async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
2391
- let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true);
2390
+ async function downloadCSV(webmap, exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false, fields = []) {
2391
+ let labels = await consolidateLabels(webmap, exportInfos, formatUsingLayerPopup, addColumnTitle, true, fields);
2392
2392
  labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2393
2393
  const layerIds = Object.keys(exportInfos);
2394
2394
  let layerLabels = [];
@@ -2924,7 +2924,7 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
2924
2924
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2925
2925
  * @returns Promise resolving when function is done
2926
2926
  */
2927
- async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
2927
+ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false, fields = []) {
2928
2928
  // Get the label formatting, if any
2929
2929
  const labelFormatProps = await _getLabelFormat(webmap, layer, formatUsingLayerPopup);
2930
2930
  // Because the label may actually come from a related layer, we'll use the layer that comes back from _getLabelFormat.
@@ -2983,7 +2983,8 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
2983
2983
  }
2984
2984
  else {
2985
2985
  // Get the features to export
2986
- featureSet = await mapViewUtils.queryFeaturesByID(ids, featureLayer, [], false);
2986
+ const outFields = fields.length > 0 ? fields : undefined;
2987
+ featureSet = await mapViewUtils.queryFeaturesByID(ids, featureLayer, [], false, undefined, outFields);
2987
2988
  }
2988
2989
  // Get field data types. Do we have any domain-based fields?
2989
2990
  const attributeOrigNames = {};
@@ -2991,17 +2992,21 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
2991
2992
  const attributeDomains = {};
2992
2993
  if (featureLayer.fields) {
2993
2994
  featureLayer.fields.forEach(field => {
2994
- const lowercaseFieldname = field.name.toLowerCase();
2995
- attributeOrigNames[lowercaseFieldname] = field.name;
2996
- attributeDomains[lowercaseFieldname] = field.domain;
2997
- attributeTypes[lowercaseFieldname] = field.type;
2995
+ if (fields.indexOf(field.name.toLowerCase()) > -1) {
2996
+ const lowercaseFieldname = field.name.toLowerCase();
2997
+ attributeOrigNames[lowercaseFieldname] = field.name;
2998
+ attributeDomains[lowercaseFieldname] = field.domain;
2999
+ attributeTypes[lowercaseFieldname] = field.type;
3000
+ }
2998
3001
  });
2999
3002
  }
3000
3003
  else {
3001
3004
  // Feature layer is missing fields, so get info from first feature
3002
3005
  Object.keys(featureSet[0]).forEach(fieldName => {
3003
- const lowercaseFieldname = fieldName.toLowerCase();
3004
- attributeOrigNames[lowercaseFieldname] = fieldName;
3006
+ if (fields.indexOf(fieldName.toLowerCase()) > -1) {
3007
+ const lowercaseFieldname = fieldName.toLowerCase();
3008
+ attributeOrigNames[lowercaseFieldname] = fieldName;
3009
+ }
3005
3010
  });
3006
3011
  }
3007
3012
  // Apply the label format
@@ -6,11 +6,11 @@
6
6
  'use strict';
7
7
 
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
- const downloadUtils = require('./downloadUtils-8f50633d.js');
9
+ const downloadUtils = require('./downloadUtils-9a13c6ac.js');
10
10
  require('./index-b8a649fc.js');
11
11
  require('./loadModules-46d14e81.js');
12
12
  require('./esri-loader-a91c0ec1.js');
13
- require('./mapViewUtils-569e9644.js');
13
+ require('./mapViewUtils-8aa325de.js');
14
14
  require('./interfaces-7cd0a48a.js');
15
15
  require('./solution-resource-abec7452.js');
16
16
  require('./index-f64944ad.js');
@@ -9,11 +9,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-b8a649fc.js');
11
11
  const loadModules = require('./loadModules-46d14e81.js');
12
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
12
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
13
13
  const interfaces = require('./interfaces-7cd0a48a.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-3a17c2f4.js');
15
15
  const locale = require('./locale-9db09b63.js');
16
- const downloadUtils = require('./downloadUtils-8f50633d.js');
16
+ const downloadUtils = require('./downloadUtils-9a13c6ac.js');
17
17
  require('./esri-loader-a91c0ec1.js');
18
18
  require('./_commonjsHelpers-384729db.js');
19
19
  require('./index-22bb61da.js');
@@ -63,7 +63,7 @@ async function queryObjectIds(geometries, layer) {
63
63
  *
64
64
  * @returns Promise with the featureSet from the layer that match the provided ids
65
65
  */
66
- async function queryFeaturesByID(ids, layer, graphics, returnGeometry, outSpatialReference) {
66
+ async function queryFeaturesByID(ids, layer, graphics, returnGeometry, outSpatialReference, fields) {
67
67
  var _a;
68
68
  const num = (_a = layer.capabilities) === null || _a === void 0 ? void 0 : _a.query.maxRecordCount;
69
69
  const start = 0;
@@ -77,6 +77,9 @@ async function queryFeaturesByID(ids, layer, graphics, returnGeometry, outSpatia
77
77
  if (outSpatialReference) {
78
78
  q.outSpatialReference = outSpatialReference;
79
79
  }
80
+ if (fields) {
81
+ q.outFields = fields;
82
+ }
80
83
  const result = await layer.queryFeatures(q);
81
84
  graphics = graphics.concat(result.features);
82
85
  const remainingIds = ids.slice(num, ids.length);
@@ -10,10 +10,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
  const index = require('./index-b8a649fc.js');
11
11
  const interfaces = require('./interfaces-7cd0a48a.js');
12
12
  const loadModules = require('./loadModules-46d14e81.js');
13
- const mapViewUtils = require('./mapViewUtils-569e9644.js');
13
+ const mapViewUtils = require('./mapViewUtils-8aa325de.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-3a17c2f4.js');
15
15
  const locale = require('./locale-9db09b63.js');
16
- const downloadUtils = require('./downloadUtils-8f50633d.js');
16
+ const downloadUtils = require('./downloadUtils-9a13c6ac.js');
17
17
  require('./esri-loader-a91c0ec1.js');
18
18
  require('./_commonjsHelpers-384729db.js');
19
19
  require('./index-22bb61da.js');
@@ -227,12 +227,12 @@ const SolutionSpatialRef = class {
227
227
  * Toggles the ability to set the default spatial reference.
228
228
  */
229
229
  _updateLocked(event) {
230
- this.locked = !event.detail.switched;
230
+ this.locked = !event.target.checked;
231
231
  this._updateStore();
232
232
  if (!this.loaded) {
233
233
  // when this is switched on when loading we have reloaded a solution that
234
234
  // has a custom wkid param and we should honor the settings they already have in the templates
235
- if (event.detail.switched) {
235
+ if (event.target.checked) {
236
236
  // By default enable all Feature Services on first load
237
237
  this._setFeatureServiceDefaults(this.services);
238
238
  }
@@ -279,11 +279,11 @@ const SolutionSpatialRef = class {
279
279
  */
280
280
  _updateEnabledServices(event, name) {
281
281
  const spatialReferenceInfo = solutionStore.state.getStoreInfo("spatialReferenceInfo");
282
- spatialReferenceInfo.services[name] = event.detail.switched;
282
+ spatialReferenceInfo.services[name] = event.target.checked;
283
283
  solutionStore.state.setStoreInfo("spatialReferenceInfo", spatialReferenceInfo);
284
284
  this.featureServiceSpatialReferenceChange.emit({
285
285
  name,
286
- enabled: event.detail.switched
286
+ enabled: event.target.checked
287
287
  });
288
288
  }
289
289
  /**
@@ -110,7 +110,6 @@
110
110
  height: calc(100% - 50px);
111
111
  }
112
112
 
113
-
114
113
  .display-none {
115
114
  display: none;
116
115
  }
@@ -175,3 +174,7 @@
175
174
  visibility: hidden;
176
175
  height: 0px;
177
176
  }
177
+
178
+ .position-fixed {
179
+ position: fixed;
180
+ }
@@ -267,7 +267,7 @@ export class CrowdsourceManager {
267
267
  let sizeClass = "";
268
268
  switch (layoutMode) {
269
269
  case ELayoutMode.HORIZONTAL:
270
- sizeClass = `${this._isMobile && this._hideTable ? "height-full" : panelOpen ? "height-1-2" : "height-0"} width-full position-relative`;
270
+ sizeClass = `${this._isMobile && this.hideMap ? "height-0 " : panelOpen ? "height-1-2 display-grid" : "height-0"} width-full position-relative`;
271
271
  break;
272
272
  case ELayoutMode.GRID:
273
273
  sizeClass = this.classicGrid ? `${panelOpen ? "position-relative" : "position-absolute-53"} height-full width-full display-flex` :
@@ -367,7 +367,8 @@ export class CrowdsourceManager {
367
367
  const popupNodeClass = !this._expandPopup ? "height-full" : ((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) === 1 || this._isMobile ? "position-absolute-0" : "position-absolute-50";
368
368
  const headerClass = this._isMobile ? "display-none height-0" : "";
369
369
  const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
370
- return (h("div", { class: `${headerTheme} ${popupNodeClass}` }, h("calcite-panel", null, !this._isMobile ? (h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)) : undefined, this._getCardNode())));
370
+ const containerClass = this._isMobile && this._hideTable && this.hideMap ? "position-fixed width-full height-full" : this._isMobile ? "display-none height-0" : "";
371
+ return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}` }, h("calcite-panel", null, !this._isMobile ? (h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)) : undefined, this._getCardNode())));
371
372
  }
372
373
  /**
373
374
  * Toggle the popup information
@@ -150,8 +150,7 @@ export class EditCard {
150
150
  view: this.mapView,
151
151
  layerInfos,
152
152
  visibleElements: {
153
- snappingControls: false,
154
- sketchTooltipControls: false
153
+ snappingControls: false
155
154
  },
156
155
  container
157
156
  });
@@ -21,6 +21,7 @@
21
21
  import { Host, h } from "@stencil/core";
22
22
  import { getLocaleComponentStrings } from "../../utils/locale";
23
23
  import { loadModules } from "../../utils/loadModules";
24
+ import { PopupUtils } from "../../utils/popupUtils";
24
25
  export class InfoCard {
25
26
  constructor() {
26
27
  this.graphics = undefined;
@@ -51,6 +52,7 @@ export class InfoCard {
51
52
  if (this.graphics.length > 0) {
52
53
  const featureLayer = (_a = this.graphics[0]) === null || _a === void 0 ? void 0 : _a.layer;
53
54
  this._editEnabled = featureLayer.editingEnabled && featureLayer.capabilities.operations.supportsUpdate;
55
+ this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
54
56
  this._features.open({
55
57
  features: this.graphics
56
58
  });
@@ -114,6 +116,7 @@ export class InfoCard {
114
116
  async componentWillLoad() {
115
117
  await this._initModules();
116
118
  await this._getTranslations();
119
+ this._popupUtils = new PopupUtils();
117
120
  }
118
121
  /**
119
122
  * Renders the component.
@@ -174,9 +177,6 @@ export class InfoCard {
174
177
  this._showListView = isOpen;
175
178
  }
176
179
  });
177
- this.reactiveUtils.watch(() => this._features.viewModel.title, (title) => {
178
- this._mobileTitle = title;
179
- });
180
180
  if (this.zoomAndScrollToSelected) {
181
181
  this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
182
182
  if (i > -1) {
@@ -131,3 +131,7 @@ html[dir="rtl"] .share-action {
131
131
  .border-top {
132
132
  border-top: 1px solid var(--calcite-color-border-2);
133
133
  }
134
+
135
+ .modal {
136
+ --calcite-modal-content-padding: 0;
137
+ }
@@ -1051,7 +1051,7 @@ export class LayerTable {
1051
1051
  */
1052
1052
  _filterModal() {
1053
1053
  var _a, _b, _c;
1054
- return (h("calcite-modal", { "aria-labelledby": "modal-title", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), layerExpressions: this._layerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView }))));
1054
+ return (h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: async () => this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", (_c = this._layer) === null || _c === void 0 ? void 0 : _c.title)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), layerExpressions: this._layerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView }))));
1055
1055
  }
1056
1056
  /**
1057
1057
  * Reset the filter active prop
@@ -1210,10 +1210,17 @@ export class LayerTable {
1210
1210
  ids,
1211
1211
  layer: this._layer
1212
1212
  };
1213
+ const fields = this._table.columns.toArray().reduce((prev, cur) => {
1214
+ if (!cur.hidden) {
1215
+ prev.push(cur.name.toLocaleLowerCase());
1216
+ }
1217
+ return prev;
1218
+ }, []);
1213
1219
  void downloadUtils.downloadCSV(null, //???
1214
1220
  exportInfos, false, // formatUsingLayerPopup
1215
1221
  false, // removeDuplicates
1216
- true);
1222
+ true, // addColumnTitle
1223
+ fields);
1217
1224
  }
1218
1225
  /**
1219
1226
  * Refreshes the table and maintains the curent scroll position
@@ -94,7 +94,7 @@ export class SolutionItemSharing {
94
94
  this.sharing = this.sharing.map((itemShare) => {
95
95
  if (itemShare.id === id) {
96
96
  // update the item
97
- itemShare.shareItem = event.detail.switched;
97
+ itemShare.shareItem = event.target.checked;
98
98
  // update the item in the store
99
99
  const itemEdit = state.getItemInfo(id);
100
100
  if (itemShare.shareItem) {
@@ -70,12 +70,12 @@ export class SolutionSpatialRef {
70
70
  * Toggles the ability to set the default spatial reference.
71
71
  */
72
72
  _updateLocked(event) {
73
- this.locked = !event.detail.switched;
73
+ this.locked = !event.target.checked;
74
74
  this._updateStore();
75
75
  if (!this.loaded) {
76
76
  // when this is switched on when loading we have reloaded a solution that
77
77
  // has a custom wkid param and we should honor the settings they already have in the templates
78
- if (event.detail.switched) {
78
+ if (event.target.checked) {
79
79
  // By default enable all Feature Services on first load
80
80
  this._setFeatureServiceDefaults(this.services);
81
81
  }
@@ -122,11 +122,11 @@ export class SolutionSpatialRef {
122
122
  */
123
123
  _updateEnabledServices(event, name) {
124
124
  const spatialReferenceInfo = state.getStoreInfo("spatialReferenceInfo");
125
- spatialReferenceInfo.services[name] = event.detail.switched;
125
+ spatialReferenceInfo.services[name] = event.target.checked;
126
126
  state.setStoreInfo("spatialReferenceInfo", spatialReferenceInfo);
127
127
  this.featureServiceSpatialReferenceChange.emit({
128
128
  name,
129
- enabled: event.detail.switched
129
+ enabled: event.target.checked
130
130
  });
131
131
  }
132
132
  /**