@esri/solutions-components 0.6.32 → 0.6.34

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/basemap-gallery_7.cjs.entry.js +14 -2
  2. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -1
  3. package/dist/cjs/card-manager_3.cjs.entry.js +34 -20
  4. package/dist/cjs/crowdsource-manager.cjs.entry.js +13 -9
  5. package/dist/cjs/{downloadUtils-84024878.js → downloadUtils-b37689dd.js} +22 -2
  6. package/dist/cjs/{index.es-eb7cf427.js → index.es-83e253dc.js} +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  9. package/dist/cjs/{mapViewUtils-786a219b.js → mapViewUtils-303bf42d.js} +1 -1
  10. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  11. package/dist/cjs/solutions-components.cjs.js +1 -1
  12. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +8 -0
  13. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +13 -9
  14. package/dist/collection/components/floor-filter/floor-filter.js +2 -1
  15. package/dist/collection/components/layer-table/layer-table.js +38 -12
  16. package/dist/collection/components/map-card/map-card.css +5 -1
  17. package/dist/collection/components/map-card/map-card.js +44 -5
  18. package/dist/collection/components/map-tools/map-tools.js +15 -1
  19. package/dist/collection/demos/crowdsource-manager.html +5 -4
  20. package/dist/collection/utils/downloadUtils.js +20 -0
  21. package/dist/collection/utils/downloadUtils.ts +20 -0
  22. package/dist/collection/utils/queryUtils.js +1 -1
  23. package/dist/collection/utils/queryUtils.ts +1 -1
  24. package/dist/collection/utils/test/downloadUtils.spec.js +79 -5
  25. package/dist/collection/utils/test/downloadUtils.spec.tsx +84 -5
  26. package/dist/components/crowdsource-manager.js +13 -9
  27. package/dist/components/downloadUtils.js +20 -0
  28. package/dist/components/floor-filter2.js +2 -1
  29. package/dist/components/layer-table2.js +22 -12
  30. package/dist/components/map-card2.js +13 -6
  31. package/dist/components/map-tools2.js +14 -1
  32. package/dist/components/queryUtils.js +1 -1
  33. package/dist/esm/basemap-gallery_7.entry.js +14 -2
  34. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  35. package/dist/esm/card-manager_3.entry.js +34 -20
  36. package/dist/esm/crowdsource-manager.entry.js +13 -9
  37. package/dist/esm/{downloadUtils-fa2b3718.js → downloadUtils-ddd7eeb7.js} +22 -2
  38. package/dist/esm/{index.es-cc671fd2.js → index.es-a53707d1.js} +2 -2
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/esm/map-select-tools_3.entry.js +2 -2
  41. package/dist/esm/{mapViewUtils-8bfabd80.js → mapViewUtils-43c930f1.js} +1 -1
  42. package/dist/esm/polyfills/core-js.js +11 -0
  43. package/dist/esm/polyfills/dom.js +79 -0
  44. package/dist/esm/polyfills/es5-html-element.js +1 -0
  45. package/dist/esm/polyfills/index.js +34 -0
  46. package/dist/esm/polyfills/system.js +6 -0
  47. package/dist/esm/public-notification.entry.js +2 -2
  48. package/dist/esm/solutions-components.js +1 -1
  49. package/dist/solutions-components/demos/crowdsource-manager.html +5 -4
  50. package/dist/solutions-components/{p-e94c7cf2.js → p-05ba41f9.js} +1 -1
  51. package/dist/solutions-components/{p-ce3b40ca.entry.js → p-4792005c.entry.js} +1 -1
  52. package/dist/solutions-components/p-506db776.entry.js +6 -0
  53. package/dist/solutions-components/{p-86893d46.entry.js → p-50a3a887.entry.js} +1 -1
  54. package/dist/solutions-components/p-7b61f856.entry.js +6 -0
  55. package/dist/solutions-components/p-80243d29.entry.js +6 -0
  56. package/dist/solutions-components/{p-190c83b9.entry.js → p-978a26b3.entry.js} +1 -1
  57. package/dist/solutions-components/{p-37a58e04.js → p-b745143d.js} +3 -3
  58. package/dist/solutions-components/{p-53bc5fc1.js → p-f2194390.js} +1 -1
  59. package/dist/solutions-components/solutions-components.esm.js +1 -1
  60. package/dist/solutions-components/utils/downloadUtils.ts +20 -0
  61. package/dist/solutions-components/utils/queryUtils.ts +1 -1
  62. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +84 -5
  63. package/dist/types/components/layer-table/layer-table.d.ts +4 -0
  64. package/dist/types/components/map-card/map-card.d.ts +8 -0
  65. package/dist/types/components/map-tools/map-tools.d.ts +8 -0
  66. package/dist/types/components.d.ts +24 -0
  67. package/package.json +1 -1
  68. package/dist/solutions-components/p-792e171f.entry.js +0 -6
  69. package/dist/solutions-components/p-d44ad6c4.entry.js +0 -6
  70. package/dist/solutions-components/p-f2dcb05a.entry.js +0 -6
@@ -181,7 +181,8 @@ const FloorFilter = class {
181
181
  * @protected
182
182
  */
183
183
  _initFloorFilter(view) {
184
- if (view && this.enabled && this.FloorFilter) {
184
+ var _a;
185
+ if (view && this.enabled && this.FloorFilter && ((_a = view === null || view === void 0 ? void 0 : view.map) === null || _a === void 0 ? void 0 : _a.floorInfo)) {
185
186
  if (!this.floorFilterWidget) {
186
187
  this.floorFilterWidget = new this.FloorFilter({
187
188
  container: this._floorFilterElement,
@@ -733,6 +734,7 @@ const MapTools = class {
733
734
  this.layout = "vertical";
734
735
  this.mapView = undefined;
735
736
  this.searchConfiguration = undefined;
737
+ this._hasFloorInfo = false;
736
738
  this._translations = undefined;
737
739
  this._showTools = true;
738
740
  this._showBasemapWidget = false;
@@ -746,6 +748,15 @@ const MapTools = class {
746
748
  // Watch handlers
747
749
  //
748
750
  //--------------------------------------------------------------------------
751
+ /**
752
+ * When the mapView loads check if it supports floor awareness
753
+ */
754
+ async mapViewWatchHandler() {
755
+ await this.mapView.when(() => {
756
+ var _a, _b;
757
+ this._hasFloorInfo = (_b = (_a = this.mapView) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.floorInfo;
758
+ });
759
+ }
749
760
  /**
750
761
  * When the _showBasemapWidget property is true display the basemap gallery
751
762
  */
@@ -859,7 +870,7 @@ const MapTools = class {
859
870
  this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()) :
860
871
  undefined, this.enableBasemap ?
861
872
  this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
862
- undefined, this.enableFloorFilter ?
873
+ undefined, this.enableFloorFilter && this._hasFloorInfo ?
863
874
  this._getActionGroup("urban-model", false, this._translations.floorFilter, () => this._toggleFloorFilter()) :
864
875
  undefined)), index.h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), index.h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, resultGraphicEnabled: true, searchConfiguration: this.searchConfiguration }), index.h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), index.h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } }), index.h("floor-filter", { class: floorFilterClass, enabled: this.enableFloorFilter, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
865
876
  }
@@ -953,6 +964,7 @@ const MapTools = class {
953
964
  }
954
965
  get el() { return index.getElement(this); }
955
966
  static get watchers() { return {
967
+ "mapView": ["mapViewWatchHandler"],
956
968
  "_showBasemapWidget": ["_showBasemapWidgetWatchHandler"],
957
969
  "_showFloorFilter": ["_showFloorFilterWatchHandler"],
958
970
  "_showFullscreen": ["_showFullscreenWatchHandler"],
@@ -25,7 +25,7 @@ const debounce = require('./debounce-30afab47.js');
25
25
  const conditionalSlot = require('./conditionalSlot-b6c29b8c.js');
26
26
  const key = require('./key-29076628.js');
27
27
  const locale$1 = require('./locale-d50f3250.js');
28
- const mapViewUtils = require('./mapViewUtils-786a219b.js');
28
+ const mapViewUtils = require('./mapViewUtils-303bf42d.js');
29
29
  const publicNotificationStore = require('./publicNotificationStore-9c812ef4.js');
30
30
  require('./resources-d8917c46.js');
31
31
  require('./browser-09760f9f.js');
@@ -9,9 +9,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-1ffa261f.js');
11
11
  const locale = require('./locale-d50f3250.js');
12
- const mapViewUtils = require('./mapViewUtils-786a219b.js');
12
+ const mapViewUtils = require('./mapViewUtils-303bf42d.js');
13
13
  const loadModules = require('./loadModules-03328b9d.js');
14
- const downloadUtils = require('./downloadUtils-84024878.js');
14
+ const downloadUtils = require('./downloadUtils-b37689dd.js');
15
15
  require('./_commonjsHelpers-384729db.js');
16
16
  require('./interfaces-000be6de.js');
17
17
  require('./clean-url-d5326abb.js');
@@ -132,6 +132,7 @@ const LayerTable = class {
132
132
  this.enableAutoRefresh = undefined;
133
133
  this.enableCSV = undefined;
134
134
  this.enableInlineEdit = undefined;
135
+ this.enableZoom = undefined;
135
136
  this.mapInfo = undefined;
136
137
  this.mapView = undefined;
137
138
  this.onlyShowUpdatableLayers = undefined;
@@ -378,13 +379,15 @@ const LayerTable = class {
378
379
  _initToolInfos() {
379
380
  var _a;
380
381
  const featuresSelected = this._selectedIndexes.length > 0;
381
- this._toolInfos = [{
382
+ const featuresEmpty = this._allIds.length === 0;
383
+ this._toolInfos = [this.enableZoom ? {
382
384
  icon: "zoom-to-object",
383
385
  label: this._translations.zoom,
384
386
  func: () => this._zoom(),
385
387
  disabled: !featuresSelected,
386
388
  isOverflow: false
387
- }, ((_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filters) ? {
389
+ } : undefined,
390
+ ((_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filters) ? {
388
391
  icon: "filter",
389
392
  label: this._translations.filters,
390
393
  func: () => this._filter(),
@@ -414,27 +417,27 @@ const LayerTable = class {
414
417
  icon: "list-check-all",
415
418
  func: () => this._selectAll(),
416
419
  label: this._translations.selectAll,
417
- disabled: false,
418
- isOverflow: true
420
+ disabled: featuresEmpty,
421
+ isOverflow: false
419
422
  }, {
420
423
  icon: "compare",
421
424
  func: () => this._switchSelected(),
422
425
  label: this._translations.switchSelected,
423
- disabled: false,
424
- isOverflow: true
426
+ disabled: featuresEmpty,
427
+ isOverflow: false
425
428
  }, {
426
429
  icon: "refresh",
427
430
  func: () => this._refresh(),
428
431
  label: this._translations.refresh,
429
432
  disabled: false,
430
- isOverflow: true
433
+ isOverflow: false
431
434
  },
432
435
  this.enableCSV ? {
433
436
  icon: "export",
434
437
  func: () => void this._exportToCSV(),
435
438
  label: this._translations.exportCSV,
436
- disabled: false,
437
- isOverflow: true
439
+ disabled: featuresEmpty,
440
+ isOverflow: false
438
441
  } : undefined];
439
442
  this._defaultVisibleToolSizeInfos = undefined;
440
443
  }
@@ -478,14 +481,20 @@ const LayerTable = class {
478
481
  prev.push(cur.id);
479
482
  return prev;
480
483
  }, []);
484
+ let forceFinish = false;
481
485
  const controlsThatFit = [...this._defaultVisibleToolSizeInfos].reduce((prev, cur) => {
482
- if (skipControls.indexOf(cur.id) < 0 &&
486
+ if (!forceFinish && skipControls.indexOf(cur.id) < 0 &&
483
487
  (currentTools.indexOf(cur.id) > -1 || (controlsWidth + cur.width) <= toolbarWidth)) {
484
488
  if (currentTools.indexOf(cur.id) < 0) {
485
489
  controlsWidth += cur.width;
486
490
  }
487
491
  prev.push(cur);
488
492
  }
493
+ else if (skipControls.indexOf(cur.id) < 0 && (controlsWidth + cur.width) > toolbarWidth) {
494
+ // exit the first time we evalute this as true...otherwise it will add the next control that will fit
495
+ // and not preserve the overall order of controls
496
+ forceFinish = true;
497
+ }
489
498
  return prev;
490
499
  }, []);
491
500
  this._setControlsThatFit(controlsThatFit, skipControls);
@@ -564,9 +573,9 @@ const LayerTable = class {
564
573
  */
565
574
  _getDropdown(id) {
566
575
  const dropdownItems = this._getDropdownItems();
567
- return (index.h("calcite-dropdown", { disabled: this._layer === undefined, id: "solutions-more" }, index.h("calcite-action", { appearance: "solid", id: id, label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, dropdownItems.map(item => {
576
+ return dropdownItems.length > 0 ? (index.h("calcite-dropdown", { disabled: this._layer === undefined, id: "solutions-more" }, index.h("calcite-action", { appearance: "solid", id: id, label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, dropdownItems.map(item => {
568
577
  return (index.h("calcite-dropdown-item", { iconStart: item.icon, onClick: item.func }, item.label));
569
- }))));
578
+ })))) : undefined;
570
579
  }
571
580
  /**
572
581
  * Get a list of toolInfos that should display in the dropdown
@@ -976,7 +985,7 @@ const LayerTable = class {
976
985
  };
977
986
  LayerTable.style = layerTableCss;
978
987
 
979
- const mapCardCss = ":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 58px)}.box-shadow{box-shadow:none !important}";
988
+ const mapCardCss = ":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 51px)}.box-shadow{box-shadow:none !important}.visibility-hidden{visibility:hidden}";
980
989
 
981
990
  const MapCard = class {
982
991
  constructor(hostRef) {
@@ -987,12 +996,14 @@ const MapCard = class {
987
996
  * string: the id of map currently displayed
988
997
  */
989
998
  this._loadedId = "";
999
+ this.enableHome = undefined;
990
1000
  this.enableLegend = undefined;
991
1001
  this.enableFloorFilter = undefined;
992
1002
  this.enableFullscreen = undefined;
993
1003
  this.enableSearch = undefined;
994
1004
  this.enableBasemap = undefined;
995
1005
  this.basemapConfig = undefined;
1006
+ this.hidden = undefined;
996
1007
  this.mapInfos = [];
997
1008
  this.mapView = undefined;
998
1009
  this._searchConfiguration = undefined;
@@ -1019,7 +1030,8 @@ const MapCard = class {
1019
1030
  * Renders the component.
1020
1031
  */
1021
1032
  render() {
1022
- return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
1033
+ const mapClass = this.hidden ? "visibility-hidden" : "";
1034
+ return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: `map-height ${mapClass}`, ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
1023
1035
  }
1024
1036
  //--------------------------------------------------------------------------
1025
1037
  //
@@ -1071,10 +1083,12 @@ const MapCard = class {
1071
1083
  this._searchConfiguration = this._webMapInfo.searchConfiguration;
1072
1084
  this.beforeMapChanged.emit();
1073
1085
  await this.mapView.when(() => {
1074
- const home = new this.Home({
1075
- view: this.mapView
1076
- });
1077
- this.mapView.ui.add(home, { position: "top-left", index: 3 });
1086
+ if (this.enableHome) {
1087
+ const home = new this.Home({
1088
+ view: this.mapView
1089
+ });
1090
+ this.mapView.ui.add(home, { position: "top-left", index: 3 });
1091
+ }
1078
1092
  this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
1079
1093
  this.mapChanged.emit({
1080
1094
  id: id,
@@ -12,7 +12,7 @@ const locale = require('./locale-d50f3250.js');
12
12
  const interfaces = require('./interfaces-000be6de.js');
13
13
  require('./_commonjsHelpers-384729db.js');
14
14
 
15
- const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-ui-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-ui-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-3)}.border-sides{border-left:1px solid var(--calcite-ui-border-3);border-right:1px solid var(--calcite-ui-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}";
15
+ const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-ui-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-ui-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-3)}.border-sides{border-left:1px solid var(--calcite-ui-border-3);border-right:1px solid var(--calcite-ui-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}";
16
16
 
17
17
  const CrowdsourceManager = class {
18
18
  constructor(hostRef) {
@@ -23,7 +23,7 @@ const CrowdsourceManager = class {
23
23
  */
24
24
  this._shouldSetMapView = false;
25
25
  this.classicGrid = false;
26
- this.enableAutoRefresh = true;
26
+ this.enableAutoRefresh = false;
27
27
  this.enableCSV = true;
28
28
  this.enableFloorFilter = true;
29
29
  this.enableFullscreen = true;
@@ -240,11 +240,11 @@ const CrowdsourceManager = class {
240
240
  * @protected
241
241
  */
242
242
  _getMapNode(layoutMode, hideMap) {
243
- var _a, _b, _c;
243
+ var _a;
244
244
  const mapDisplayClass = this.classicGrid && layoutMode === interfaces.ELayoutMode.GRID ? "display-flex height-full width-1-2" :
245
245
  layoutMode === interfaces.ELayoutMode.GRID && !hideMap ? "" : "display-none";
246
- const mapContainerClass = this.classicGrid && layoutMode === interfaces.ELayoutMode.GRID ? "width-full" : this._expandPopup ? "height-50-px" : "adjusted-height-50";
247
- return (index.h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, index.h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter && ((_b = (_a = this._mapView) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.floorInfo), enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: (_c = this.mapInfos) === null || _c === void 0 ? void 0 : _c.filter(mapInfo => mapInfo.visible !== false) })));
246
+ const mapContainerClass = this.classicGrid && layoutMode === interfaces.ELayoutMode.GRID ? "width-full" : "adjusted-height-50";
247
+ return (index.h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, index.h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, hidden: this._expandPopup, mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false) })));
248
248
  }
249
249
  /**
250
250
  * Get the expand node for the popup information
@@ -257,7 +257,8 @@ const CrowdsourceManager = class {
257
257
  const id = "expand-popup";
258
258
  const tooltip = this._expandPopup ? this._translations.collapsePopup : this._translations.expandPopup;
259
259
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
260
- return (index.h("div", { class: "calcite-mode-dark height-full" }, index.h("calcite-panel", null, index.h("div", { class: "display-flex align-items-center", slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information)), index.h("calcite-action", { icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end" }), index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)), this._getCardNode())));
260
+ const popupNodeClass = !this._expandPopup ? "height-full" : "position-absolute-50";
261
+ return (index.h("div", { class: "calcite-mode-dark " + popupNodeClass }, index.h("calcite-panel", null, index.h("div", { class: "display-flex align-items-center", slot: "header-content" }, index.h("calcite-icon", { icon: "information", scale: "s" }), index.h("div", { class: "padding-inline-start-75" }, this._translations.information)), index.h("calcite-action", { icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end" }), index.h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)), this._getCardNode())));
261
262
  }
262
263
  /**
263
264
  * Toggle the popup information
@@ -278,9 +279,8 @@ const CrowdsourceManager = class {
278
279
  */
279
280
  _getCardNode() {
280
281
  const cardManagerHeight = !this._expandPopup ? "height-50" : "height-full";
281
- const cardManagerContainer = this._expandPopup ? "width-50 adjusted-height-100-50" : "width-50 height-full";
282
282
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
283
- return (index.h("div", { class: `${cardManagerContainer} ${themeClass}` }, index.h("card-manager", { class: `${cardManagerHeight} width-full`, mapView: this === null || this === void 0 ? void 0 : this._mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
283
+ return (index.h("div", { class: `width-50 height-full ${themeClass}` }, index.h("card-manager", { class: `${cardManagerHeight} width-full`, mapView: this === null || this === void 0 ? void 0 : this._mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
284
284
  }
285
285
  /**
286
286
  * Get the table node based for the current layout
@@ -300,7 +300,7 @@ const CrowdsourceManager = class {
300
300
  const toggleSlot = this.classicGrid && layoutMode !== interfaces.ELayoutMode.VERTICAL ? "footer" :
301
301
  this.classicGrid && layoutMode === interfaces.ELayoutMode.VERTICAL ? "panel-end" :
302
302
  layoutMode === interfaces.ELayoutMode.HORIZONTAL ? "header" : "panel-start";
303
- return (index.h("calcite-shell", { class: tableSizeClass + " border-bottom" }, index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip))), index.h("div", { class: "width-full height-full position-relative" }, index.h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableInlineEdit: this.enableInlineEdit, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
303
+ return (index.h("calcite-shell", { class: tableSizeClass + " border-bottom" }, index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip))), index.h("div", { class: "width-full height-full position-relative" }, index.h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableInlineEdit: this.enableInlineEdit, enableZoom: this.enableZoom, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
304
304
  }
305
305
  /**
306
306
  * Open/Close the appropriate panel.
@@ -334,8 +334,12 @@ const CrowdsourceManager = class {
334
334
  * @protected
335
335
  */
336
336
  _setMapView() {
337
+ var _a, _b;
337
338
  this._mapInfo = this._getMapInfo(this._mapChange.id);
338
339
  this._mapView = this._mapChange.mapView;
340
+ if (!this.enableZoom && ((_b = (_a = this._mapView) === null || _a === void 0 ? void 0 : _a.ui) === null || _b === void 0 ? void 0 : _b.components.indexOf("zoom")) > -1) {
341
+ this._mapView.ui.components = this._mapView.ui.components.filter(c => c !== "zoom");
342
+ }
339
343
  this._mapView.popupEnabled = false;
340
344
  }
341
345
  /**
@@ -8,7 +8,7 @@
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
9
  const index = require('./index-1ffa261f.js');
10
10
  const loadModules = require('./loadModules-03328b9d.js');
11
- const mapViewUtils = require('./mapViewUtils-786a219b.js');
11
+ const mapViewUtils = require('./mapViewUtils-303bf42d.js');
12
12
  const cleanUrl = require('./clean-url-d5326abb.js');
13
13
 
14
14
  /** @license
@@ -1508,7 +1508,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1508
1508
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1509
1509
  * ====================================================================
1510
1510
  */
1511
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-eb7cf427.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},
1511
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-83e253dc.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},
1512
1512
  /** ====================================================================
1513
1513
  * @license
1514
1514
  * jsPDF XMP metadata plugin
@@ -2831,6 +2831,26 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
2831
2831
  // e.g., "12/31/1969, 4:00 PM"
2832
2832
  value = value.replace(/\xe2\x80\xaf/g, "");
2833
2833
  break;
2834
+ case "date-only":
2835
+ // Value is a string, e.g., "2020-12-08"
2836
+ if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
2837
+ const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
2838
+ value = intl.formatDateOnly(value, dateFormatIntlOptions);
2839
+ }
2840
+ else {
2841
+ value = intl.formatDateOnly(value);
2842
+ }
2843
+ break;
2844
+ case "time-only":
2845
+ // Value is a string, e.g., "14:51:44.2533333"
2846
+ if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
2847
+ const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
2848
+ value = intl.formatTimeOnly(value, dateFormatIntlOptions);
2849
+ }
2850
+ else {
2851
+ value = intl.formatTimeOnly(value);
2852
+ }
2853
+ break;
2834
2854
  case "double":
2835
2855
  case "integer":
2836
2856
  case "long":
@@ -6,11 +6,11 @@
6
6
  'use strict';
7
7
 
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
- const downloadUtils = require('./downloadUtils-84024878.js');
9
+ const downloadUtils = require('./downloadUtils-b37689dd.js');
10
10
  require('./index-1ffa261f.js');
11
11
  require('./loadModules-03328b9d.js');
12
12
  require('./locale-d50f3250.js');
13
- require('./mapViewUtils-786a219b.js');
13
+ require('./mapViewUtils-303bf42d.js');
14
14
  require('./interfaces-000be6de.js');
15
15
  require('./clean-url-d5326abb.js');
16
16