@esri/solutions-components 0.10.32 → 0.10.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +99 -6
  2. package/dist/cjs/crowdsource-manager.cjs.entry.js +13 -4
  3. package/dist/cjs/feature-list.cjs.entry.js +12 -3
  4. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +2 -2
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/solution-item-icon.cjs.entry.js +4 -1
  7. package/dist/cjs/solutions-components.cjs.js +1 -1
  8. package/dist/collection/assets/t9n/map-card/resources.json +2 -1
  9. package/dist/collection/assets/t9n/map-card/resources_en.json +2 -1
  10. package/dist/collection/components/card-manager/card-manager.js +2 -2
  11. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +36 -4
  12. package/dist/collection/components/feature-list/feature-list.js +12 -3
  13. package/dist/collection/components/layer-table/layer-table.js +36 -2
  14. package/dist/collection/components/map-card/map-card.js +168 -2
  15. package/dist/collection/components/solution-item-icon/item-icons/group16.png +0 -0
  16. package/dist/collection/components/solution-item-icon/solution-item-icon.js +4 -1
  17. package/dist/components/card-manager2.js +2 -2
  18. package/dist/components/crowdsource-manager.js +14 -4
  19. package/dist/components/feature-list2.js +12 -3
  20. package/dist/components/instant-apps-time-filter.js +2 -2
  21. package/dist/components/layer-table2.js +13 -2
  22. package/dist/components/map-card2.js +157 -60
  23. package/dist/components/solution-item-icon2.js +4 -1
  24. package/dist/esm/card-manager_3.entry.js +99 -6
  25. package/dist/esm/crowdsource-manager.entry.js +13 -4
  26. package/dist/esm/feature-list.entry.js +12 -3
  27. package/dist/esm/instant-apps-time-filter.entry.js +2 -2
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/esm/solution-item-icon.entry.js +4 -1
  30. package/dist/esm/solutions-components.js +1 -1
  31. package/dist/solutions-components/assets/t9n/map-card/resources.json +2 -1
  32. package/dist/solutions-components/assets/t9n/map-card/resources_en.json +2 -1
  33. package/dist/solutions-components/item-icons/group16.png +0 -0
  34. package/dist/solutions-components/p-3a513c67.entry.js +6 -0
  35. package/dist/solutions-components/p-4f5913f3.entry.js +6 -0
  36. package/dist/solutions-components/{p-3900240c.entry.js → p-5fc0e134.entry.js} +1 -1
  37. package/dist/solutions-components/p-8d2d66d0.entry.js +6 -0
  38. package/dist/solutions-components/p-cf878a34.entry.js +6 -0
  39. package/dist/solutions-components/solutions-components.esm.js +1 -1
  40. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  41. package/dist/types/components/feature-list/feature-list.d.ts +4 -0
  42. package/dist/types/components/layer-table/layer-table.d.ts +9 -1
  43. package/dist/types/components/map-card/map-card.d.ts +46 -1
  44. package/dist/types/components.d.ts +48 -0
  45. package/package.json +4 -4
  46. package/dist/solutions-components/p-3bcdf332.entry.js +0 -6
  47. package/dist/solutions-components/p-710bd9ec.entry.js +0 -6
  48. package/dist/solutions-components/p-bd5f3c9e.entry.js +0 -6
  49. package/dist/solutions-components/p-cc4c013e.entry.js +0 -6
@@ -128,9 +128,9 @@ const CardManager = class {
128
128
  const messageClass = this._graphics?.length > 0 || this._showCreateFeatureComponent ? "display-none" : "";
129
129
  const isTable = this.layer?.isTable;
130
130
  const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
131
- const guideMsg = this.customInfoText || this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
131
+ const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
132
132
  const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
133
- return (index.h(index.Host, { key: '7bcc2cfc05bfb95ef444b2036c0fd709f816bfe8' }, index.h("div", { key: '088e91d3084a43cab7da6e2985784a9675f30bfb', class: "overflow-auto height-full" }, index.h("calcite-shell", { key: '4ce541bdadc42cc2625756af104e144e61ca0593', class: "position-relative " + featuresClass }, index.h("div", { key: 'f3fd57ce5a0122df70d36a72e7d8c7ace4ffed0c', class: "position-static z-index-500" }, index.h("info-card", { key: 'ed1f8e88937d905928e97f1149acdc42fc557d7c', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), index.h("calcite-shell", { key: '21cd22e9d40954324ab68ae0f44305541a78faa4', class: "position-relative " + messageClass }, index.h("calcite-flow-item", { key: '2206f7bf57133e6249e84eed06363485dc540e89' }, index.h("calcite-panel", { key: 'a6a43c3eefcc1b03006dc14f39c9ba692620cf51' }, index.h("div", { key: 'f58c54e68a59e09ce8d51b010876e6f0261d920a', class: "padding-1" }, index.h("calcite-notice", { key: '5e57dcae6e804c3954a693d972a47171e07419a5', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, index.h("div", { key: '9391598f800576d7f8dd2ca5778d8a9d493df5cc', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && index.h("calcite-button", { key: 'f30040df430858472437acef88f216040e4f3a4f', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), index.h("calcite-shell", { key: '6d14a7483427aa478f53e4ee54664ef2aae999fb', class: "position-relative " + createFeatureClass }, index.h("calcite-flow-item", { key: 'cace557395071006fcf0fc723f1808cad19f1099' }, index.h("calcite-panel", { key: '3eaa505ebf1d552775970c4f5b7dfc8f321c3f93', heading: heading }, index.h("calcite-action", { key: '68a09bb37ea2b6d827de48b13e1a41c74f5c34c6', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && index.h("calcite-button", { key: '3e326f1e523fe3245365a4dad69372b52a969ae3', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
133
+ return (index.h(index.Host, { key: '7360aa9c48dd0c3e4a14fe0833b99c301388f93c' }, index.h("div", { key: '9d610f0c4728c238eceb790e97a4e06b77f1a2d1', class: "overflow-auto height-full" }, index.h("calcite-shell", { key: '4b6a02205a971c7ff61aab567b2f2a3c5d288f8d', class: "position-relative " + featuresClass }, index.h("div", { key: '96ee8ce138265dd4b562ac0a33b79a0db4497842', class: "position-static z-index-500" }, index.h("info-card", { key: '7db359bc1016281fd01b737dc5c424fe78995422', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), index.h("calcite-shell", { key: 'afc8d06e9aa3213a9ca10c929497ed4618a28e91', class: "position-relative " + messageClass }, index.h("calcite-flow-item", { key: '46db92a6e259eefea3293310e3e2f43d7639db97' }, index.h("calcite-panel", { key: 'd2bc23ae7bcf2b7b7b48a35efc0697e0d1f9e23e' }, index.h("div", { key: '8f7fd13f9ec99beec1d7231dda03eba403a70a69', class: "padding-1" }, index.h("calcite-notice", { key: '2fbe94292c1dd91ee1691b8e3d295225ff5b534b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, index.h("div", { key: '9f91099e4bfa0675c5b098a73b2f132b80ee76b0', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && index.h("calcite-button", { key: 'c1b04e776f3750712992d736e09726cc26eae5db', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), index.h("calcite-shell", { key: 'a71d4b0abd1ec1a4ed14a2cb3dcb10a075f54bf0', class: "position-relative " + createFeatureClass }, index.h("calcite-flow-item", { key: '85047b527f5995a912b527325f287c3596caf630' }, index.h("calcite-panel", { key: 'd335be81502e0feb803ee9ad4e501d4c85f184f5', heading: heading }, index.h("calcite-action", { key: 'b179c3185dbada3bd052d38b98b75cf29240655c', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && index.h("calcite-button", { key: 'f3b6655e3effdb6b09e64acd651a09d6028a6df9', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
134
134
  }
135
135
  /**
136
136
  * Returns the editor component for adding feature
@@ -213,6 +213,7 @@ const LayerTable = class {
213
213
  index.registerInstance(this, hostRef);
214
214
  this.featureSelectionChange = index.createEvent(this, "featureSelectionChange", 7);
215
215
  this.toggleFilter = index.createEvent(this, "toggleFilter", 7);
216
+ this.appLayout = undefined;
216
217
  this.defaultGlobalId = undefined;
217
218
  this.defaultLayerId = undefined;
218
219
  this.defaultOid = undefined;
@@ -416,6 +417,12 @@ const LayerTable = class {
416
417
  // Watch handlers
417
418
  //
418
419
  //--------------------------------------------------------------------------
420
+ /**
421
+ * Update the url params when the appLayout changes
422
+ */
423
+ appLayoutWatchHandler() {
424
+ this._updateShareUrl();
425
+ }
419
426
  /**
420
427
  * Handle url defaults when defaultOid is set
421
428
  */
@@ -702,8 +709,8 @@ const LayerTable = class {
702
709
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
703
710
  const showSearch = this._canShowFullTextSearch();
704
711
  this._validateActiveActions();
705
- return (index.h(index.Host, { key: '46394d7e108068600980efd766fbf5d91243f3c9' }, index.h("calcite-shell", { key: 'd831121a56070552139386033b02ddc2531c29e9' }, this._getTableControlRow("header"), index.h("div", { key: '591e0b0bba19f1dbe99049a470b5d3c04253a2c2', class: `width-full ${tableHeightClass}` }, index.h("calcite-panel", { key: 'd70244a3c989a5bea8bbbaf33c4ebe9c04fc4515', class: "height-full width-full" }, showSearch &&
706
- index.h("div", { key: 'fd14c6dab7898e27bd61bbc03878c898d26f042a', class: "search-container" }, index.h("calcite-input", { key: '9675cc22233456446be8a6b9fc24842fbb3f88e2', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), index.h("calcite-loader", { key: '74447458a0ac4cee6934e7101a5fee2c180d1330', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { key: '6c2a5ff4a69690fde002005eb9c55047c25ad63d', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (index.h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
712
+ return (index.h(index.Host, { key: 'aa79d91e6c569393334a38f937a493de227a0e5b' }, index.h("calcite-shell", { key: '4b7460fc764c5a6027ad5aa8da826bd188e5490e' }, this._getTableControlRow("header"), index.h("div", { key: '66ea361c6c2c3a5d05c4403a5d3dd1dea5a9e70b', class: `width-full ${tableHeightClass}` }, index.h("calcite-panel", { key: 'b213a696294c94504f394b54082f0183b46691ce', class: "height-full width-full" }, showSearch &&
713
+ index.h("div", { key: '866dd2a69bc9e504b459ca8639d13f5babfa65fa', class: "search-container" }, index.h("calcite-input", { key: '26f80276d08106981ef8c769fd4334528a37d881', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), index.h("calcite-loader", { key: 'a3d2e215cee3e370ef5645b6422c95eef32beedf', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { key: 'e48c86ee1ebcc23121eab08903e55cc41270c4c8', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (index.h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
707
714
  .replace("{{total}}", total)
708
715
  .replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal()));
709
716
  }
@@ -1312,6 +1319,7 @@ const LayerTable = class {
1312
1319
  else {
1313
1320
  urlObj.searchParams.delete("oid");
1314
1321
  }
1322
+ urlObj.searchParams.set("applayout", this.appLayout);
1315
1323
  this._shareNode.shareUrl = urlObj.href;
1316
1324
  }
1317
1325
  /**
@@ -2056,6 +2064,7 @@ const LayerTable = class {
2056
2064
  this._translations = messages[0];
2057
2065
  }
2058
2066
  static get watchers() { return {
2067
+ "appLayout": ["appLayoutWatchHandler"],
2059
2068
  "defaultOid": ["defaultOidWatchHandler"],
2060
2069
  "defaultGlobalId": ["defaultGlobalIdWatchHandler"],
2061
2070
  "enableCSV": ["enableCSVWatchHandler"],
@@ -2121,6 +2130,7 @@ const MapCard = class {
2121
2130
  this.beforeMapChanged = index.createEvent(this, "beforeMapChanged", 7);
2122
2131
  this.toggleFilter = index.createEvent(this, "toggleFilter", 7);
2123
2132
  this.clearSelection = index.createEvent(this, "clearSelection", 7);
2133
+ this.appLayout = undefined;
2124
2134
  this.appProxies = undefined;
2125
2135
  this.defaultWebmapId = "";
2126
2136
  this.defaultLayerId = undefined;
@@ -2128,6 +2138,7 @@ const MapCard = class {
2128
2138
  this.enableLegend = undefined;
2129
2139
  this.enableFloorFilter = undefined;
2130
2140
  this.enableFullscreen = undefined;
2141
+ this.enableShare = false;
2131
2142
  this.enableSingleExpand = true;
2132
2143
  this.enableSearch = undefined;
2133
2144
  this.enableBasemap = undefined;
@@ -2145,6 +2156,8 @@ const MapCard = class {
2145
2156
  this.theme = undefined;
2146
2157
  this.toolOrder = undefined;
2147
2158
  this.isMapLayout = undefined;
2159
+ this.shareIncludeEmbed = undefined;
2160
+ this.shareIncludeSocial = undefined;
2148
2161
  this.selectedFeaturesIds = undefined;
2149
2162
  this.selectedLayer = undefined;
2150
2163
  this.zoomToScale = undefined;
@@ -2228,6 +2241,10 @@ const MapCard = class {
2228
2241
  * ResizeObserver: The observer that watches for toolbar size changes
2229
2242
  */
2230
2243
  _resizeObserver;
2244
+ /**
2245
+ * HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
2246
+ */
2247
+ _shareNode;
2231
2248
  /**
2232
2249
  * HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
2233
2250
  */
@@ -2257,12 +2274,36 @@ const MapCard = class {
2257
2274
  // Watch handlers
2258
2275
  //
2259
2276
  //--------------------------------------------------------------------------
2277
+ /**
2278
+ * Update the url params when the appLayout changes
2279
+ */
2280
+ appLayoutWatchHandler() {
2281
+ this._updateShareUrl();
2282
+ }
2260
2283
  /**
2261
2284
  * Add/remove home widget
2262
2285
  */
2263
2286
  enableHomeWatchHandler() {
2264
2287
  this._initHome();
2265
2288
  }
2289
+ /**
2290
+ * Update the toolbar when the share button is enabled/disabled
2291
+ */
2292
+ enableShareWatchHandler() {
2293
+ // this should be caught by component did render and is when I test locally
2294
+ // however have had reported case where it is not somehow on devext so adding explicit check here
2295
+ if (this._toolbar) {
2296
+ this._updateToolbar();
2297
+ }
2298
+ }
2299
+ /**
2300
+ * watch for changes in map view and get the first layer
2301
+ */
2302
+ async mapViewWatchHandler() {
2303
+ if (this.mapView) {
2304
+ this._updateShareUrl();
2305
+ }
2306
+ }
2266
2307
  /**
2267
2308
  * watch for changes in layer view and verify if it has editing enabled
2268
2309
  */
@@ -2275,6 +2316,7 @@ const MapCard = class {
2275
2316
  * watch for features ids changes
2276
2317
  */
2277
2318
  async selectedFeaturesIdsWatchHandler() {
2319
+ this._updateShareUrl();
2278
2320
  this._validateEnabledActions();
2279
2321
  }
2280
2322
  /**
@@ -2303,12 +2345,14 @@ const MapCard = class {
2303
2345
  */
2304
2346
  async resetFilter() {
2305
2347
  this._filterActive = false;
2348
+ this._updateShareUrl();
2306
2349
  }
2307
2350
  /**
2308
2351
  * updates the filter
2309
2352
  */
2310
2353
  async updateFilterState() {
2311
2354
  this._filterActive = this._definitionExpression !== this.selectedLayer.definitionExpression;
2355
+ this._updateShareUrl();
2312
2356
  }
2313
2357
  /**
2314
2358
  * updates the layer in map layer picker
@@ -2384,7 +2428,7 @@ const MapCard = class {
2384
2428
  const mapHeightClass = this.mapInfos?.length > 1 || this.isMapLayout ? "map-height" : "height-full";
2385
2429
  const progressClass = this.isMapLayout ? "" : "display-none";
2386
2430
  this._validateActiveActions();
2387
- return (index.h(index.Host, { key: '94d7399ed75c0e90487d6153a0d28ab6f722ae93' }, index.h("div", { key: 'e194d8800dd7a865e101d779d032d164f3e5562d', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options")), index.h("calcite-progress", { key: '0abdbf4e8ba5861866aba7791dfdb91a7a5f4daa', class: progressClass, value: 0 }), index.h("div", { key: '83aa012aeef6ae64e49007d542fd949e7d4602f4', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { key: '229cc18b36885cad12d44c13e1fe37a97403b9d8', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
2431
+ return (index.h(index.Host, { key: '790599924cf104116f6961380103aef7c55e6d76' }, index.h("div", { key: '5467a5d4e3998807fdf243ada3088dba8e69941f', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options"), this.enableShare && !this.isMobile && this.isMapLayout ? this._getShare("share") : undefined), index.h("calcite-progress", { key: '5c82042e0206be05e12d29ba588b26344b1017b8', class: progressClass, value: 0 }), index.h("div", { key: '0831bc4593f5a7680a8599a9868990734cb013b9', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { key: '5bbf14428cc845d8b889e72d707672250f820686', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
2388
2432
  }
2389
2433
  /**
2390
2434
  * Called each time after the component is loaded
@@ -2403,6 +2447,7 @@ const MapCard = class {
2403
2447
  this._resizeObserver.observe(this._toolbar);
2404
2448
  this._observerSet = true;
2405
2449
  }
2450
+ this._updateShareUrl();
2406
2451
  }
2407
2452
  //--------------------------------------------------------------------------
2408
2453
  //
@@ -2481,6 +2526,7 @@ const MapCard = class {
2481
2526
  mapView: this.mapView
2482
2527
  });
2483
2528
  }
2529
+ this._updateShareUrl();
2484
2530
  }
2485
2531
  /**
2486
2532
  * Add/Remove tools from the action bar and dropdown based on available size
@@ -2499,7 +2545,7 @@ const MapCard = class {
2499
2545
  prev += cur.width;
2500
2546
  return prev;
2501
2547
  }, 0);
2502
- const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker"];
2548
+ const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker", "solutions-action-share"];
2503
2549
  if (controlsWidth > toolbarWidth) {
2504
2550
  if (this._toolbarSizeInfos.length > 0) {
2505
2551
  const controlsThatFit = [...this._toolbarSizeInfos].reverse().reduce((prev, cur) => {
@@ -2625,6 +2671,50 @@ const MapCard = class {
2625
2671
  return (index.h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: "none" }, index.h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (index.h("div", { class: "display-flex" }, index.h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
2626
2672
  })))) : undefined;
2627
2673
  }
2674
+ /**
2675
+ * Get an action and tooltip for share
2676
+ *
2677
+ * @param icon string the name of the icon to display, will also be used in its id
2678
+ *
2679
+ * @returns VNode The node representing the DOM element that will contain the action
2680
+ */
2681
+ _getShare(icon) {
2682
+ return (index.h("div", { class: "share-action", id: this._getId(icon) }, index.h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "instant-app-share", embed: this.shareIncludeEmbed, popoverButtonIconScale: "s", ref: el => {
2683
+ this._shareNode = el;
2684
+ this._updateShareUrl();
2685
+ }, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", socialMedia: this.shareIncludeSocial, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
2686
+ }
2687
+ /**
2688
+ * Called each time the values that are used for custom url params change
2689
+ */
2690
+ _updateShareUrl() {
2691
+ const url = this._shareNode?.shareUrl;
2692
+ if (!url) {
2693
+ return;
2694
+ }
2695
+ const urlObj = new URL(url);
2696
+ //set the additional search params
2697
+ if (this._loadedId) {
2698
+ urlObj.searchParams.set("webmap", this._loadedId);
2699
+ }
2700
+ else {
2701
+ urlObj.searchParams.delete("webmap");
2702
+ }
2703
+ if (this.selectedLayer?.id) {
2704
+ urlObj.searchParams.set("layer", this.selectedLayer.id);
2705
+ }
2706
+ else {
2707
+ urlObj.searchParams.delete("layer");
2708
+ }
2709
+ if (this.selectedFeaturesIds?.length > 0) {
2710
+ urlObj.searchParams.set("oid", this.selectedFeaturesIds.join(","));
2711
+ }
2712
+ else {
2713
+ urlObj.searchParams.delete("oid");
2714
+ }
2715
+ urlObj.searchParams.set("applayout", this.appLayout);
2716
+ this._shareNode.shareUrl = urlObj.href;
2717
+ }
2628
2718
  /**
2629
2719
  * Open show/hide dropdown
2630
2720
  * @protected
@@ -2900,7 +2990,10 @@ const MapCard = class {
2900
2990
  this._translations = messages[0];
2901
2991
  }
2902
2992
  static get watchers() { return {
2993
+ "appLayout": ["appLayoutWatchHandler"],
2903
2994
  "enableHome": ["enableHomeWatchHandler"],
2995
+ "enableShare": ["enableShareWatchHandler"],
2996
+ "mapView": ["mapViewWatchHandler"],
2904
2997
  "selectedLayer": ["selectedLayerWatchHandler"],
2905
2998
  "selectedFeaturesIds": ["selectedFeaturesIdsWatchHandler"],
2906
2999
  "_controlsThatFit": ["_controlsThatFitWatchHandler"]
@@ -27,6 +27,7 @@ const CrowdsourceManager = class {
27
27
  this.basemapConfig = undefined;
28
28
  this.coverPageEnabled = undefined;
29
29
  this.customInfoText = undefined;
30
+ this.defaultAppLayout = undefined;
30
31
  this.defaultCenter = "";
31
32
  this.defaultGlobalId = "";
32
33
  this.defaultLayer = "";
@@ -82,6 +83,10 @@ const CrowdsourceManager = class {
82
83
  // Properties (protected)
83
84
  //
84
85
  //--------------------------------------------------------------------------
86
+ /**
87
+ * boolean: When true the default appLayout has been applied and should no longer override
88
+ */
89
+ _defaultAppLayoutHonored = false;
85
90
  /**
86
91
  * boolean: When true the map view will be set after render due to popup obstructing the view
87
92
  * MapView.when is not fired when mapView is not currently visible
@@ -231,7 +236,7 @@ const CrowdsourceManager = class {
231
236
  render() {
232
237
  // only avoid border when we have a header color that is not white
233
238
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
234
- return (index.h(index.Host, { key: '797519a81cbac4330519ad114ca127efb4284b84' }, index.h("calcite-shell", { key: '253b4a3610a1b448e7db95dbdba9bfe931911d85', class: "position-relative" }, index.h("calcite-panel", { key: 'ed07e564d0ec7749121201f0e5fc64885d7794f9', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
239
+ return (index.h(index.Host, { key: 'ddb8bb35d74ab89ffd62d7bd0468b5a757fa5ba1' }, index.h("calcite-shell", { key: '74d941a3b1d4149a57c88cea263a2fd7e2b4f840', class: "position-relative" }, index.h("calcite-panel", { key: '3ff44942eab43c6f3a1cd92c918c0e2bae3d500a', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
235
240
  }
236
241
  /**
237
242
  * Called after each render
@@ -250,7 +255,11 @@ const CrowdsourceManager = class {
250
255
  */
251
256
  async componentDidLoad() {
252
257
  this._resizeObserver.observe(this.el);
253
- if (this.hideMapOnLoad && !this.appLayout) {
258
+ if (!this._defaultAppLayoutHonored && this.defaultAppLayout) {
259
+ this._defaultAppLayoutHonored = true;
260
+ this.appLayout = this.defaultAppLayout;
261
+ }
262
+ else if (this.hideMapOnLoad && !this.appLayout) {
254
263
  this.appLayout = 'tableView';
255
264
  }
256
265
  else if (!this.appLayout) {
@@ -426,7 +435,7 @@ const CrowdsourceManager = class {
426
435
  const isTableLayout = this.appLayout === 'tableView';
427
436
  const mapContainerClass = (isMapLayout || isTableLayout) ? "position-absolute-0" : this._layoutMode === interfaces.ELayoutMode.HORIZONTAL && (!this._isPortraitMobile || panelOpen) ? "" : "adjusted-height-50";
428
437
  const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
429
- return (index.h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, index.h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
438
+ return (index.h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, index.h("map-card", { appLayout: this.appLayout, appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableShare: this.enableShare, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
430
439
  }
431
440
  /**
432
441
  * Get the expand node for the popup information
@@ -488,7 +497,7 @@ const CrowdsourceManager = class {
488
497
  this.defaultGlobalId?.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
489
498
  const defaultOid = !this.defaultOid ? undefined :
490
499
  this.defaultOid?.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
491
- return (index.h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, index.h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, index.h("layer-table", { createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), index.h("div", { class: mapClass, id: "full-map-view" })));
500
+ return (index.h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, index.h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, index.h("layer-table", { appLayout: this.appLayout, createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), index.h("div", { class: mapClass, id: "full-map-view" })));
492
501
  }
493
502
  /**
494
503
  * Returns the Actions for table's node
@@ -79,6 +79,10 @@ const FeatureList = class {
79
79
  * __esri.Handle: Highlight handle of the selections
80
80
  */
81
81
  _highlightHandle;
82
+ /**
83
+ * __esri.Collection: Highlight options for the selected layer
84
+ */
85
+ _highlights;
82
86
  /**
83
87
  * HTMLCalcitePaginationElement: Calcite pagination element instance
84
88
  */
@@ -179,9 +183,9 @@ const FeatureList = class {
179
183
  * Renders the component.
180
184
  */
181
185
  render() {
182
- return (index.h("calcite-panel", { key: 'fc2cc60231efb7fc4a05d3ade0bad6a3dd649b8e', "full-height": true, "full-width": true }, this._isLoading && index.h("calcite-loader", { key: '43c8176c2aaf0cc7f36a9f1ff477f53890cfcf2d', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
183
- index.h("calcite-notice", { key: 'dff1bb7207397ded8a557b61e9185ea788520441', class: "error-msg", icon: "feature-details", kind: "info", open: true }, index.h("div", { key: 'c1dd4e7fb8398c4317270b50eba7e6270fd7051b', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), index.h("calcite-list", { key: '49019c011e8667d193f566826644b0693b0fb6f9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
184
- index.h("div", { key: '12e767a001c4dffec7e771d12b772fb43bbf9b0f', class: "width-full", slot: "footer" }, index.h("calcite-pagination", { key: 'd6a8a9eac72fe7217eda926f46baedcb4e6d5859', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
186
+ return (index.h("calcite-panel", { key: '381f7da40e715848d4601810aacedbe3a7a46d6d', "full-height": true, "full-width": true }, this._isLoading && index.h("calcite-loader", { key: '62d128eee1b0a987fe24764b8cfbff148dcf9084', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
187
+ index.h("calcite-notice", { key: '975aef0b4c33676fc2be4aa85a51641d0b203cd4', class: "error-msg", icon: "feature-details", kind: "info", open: true }, index.h("div", { key: 'c002eb4d59d8bab086d91266ca4a0ca56a185db3', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), index.h("calcite-list", { key: '50f0c269f30e9619561ea61f462fb964f91a93a9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
188
+ index.h("div", { key: '97f837035b89d3045efd2771c0ef77d12fbb333b', class: "width-full", slot: "footer" }, index.h("calcite-pagination", { key: 'd88adbe6499b358395bd7bf5917c3d0c1506d8b1', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
185
189
  }
186
190
  //--------------------------------------------------------------------------
187
191
  //
@@ -300,7 +304,12 @@ const FeatureList = class {
300
304
  if (this.highlightOnHover) {
301
305
  const oId = selectedFeature.getObjectId();
302
306
  const selectedLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, this.selectedLayerId);
307
+ // this is a workaround added for https://github.com/Esri/solutions-components/issues/920
308
+ if (this._highlights) {
309
+ selectedLayerView.highlights = JSON.parse(this._highlights);
310
+ }
303
311
  selectedLayerView.highlightOptions = { color: new this.Color("#FFFF00") };
312
+ this._highlights = JSON.stringify(selectedLayerView.highlights);
304
313
  this._highlightHandle = selectedLayerView.highlight([oId]);
305
314
  }
306
315
  }
@@ -31,7 +31,7 @@ const { state, onChange } = index.createStore({
31
31
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
32
32
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
33
33
  */
34
- let e$a;function has(a){return "function"==typeof e$a[a]?e$a[a]=e$a[a](globalThis):e$a[a]}e$a=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},has.add=(a,d,o,i)=>{(i||void 0===e$a[a])&&(e$a[a]=d),o&&has(a);},has.cache=e$a,has.add("big-integer-warning-enabled",!0),has.add("esri-deprecation-warnings",!0),has.add("esri-tests-disable-screenshots",!1),has.add("esri-tests-use-full-window",!1),has.add("esri-tests-post-to-influx",!0),has.add("esri-cim-animations-enable-status","enabled"),has.add("esri-cim-animations-spotlight",!1),has.add("esri-cim-animations-freeze-time",!1),(()=>{has.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(has.add("host-browser",e),has.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),has.add("dom",e),has("host-browser")){const e=navigator,a=e.userAgent,d=e.appVersion,o=parseFloat(d);if(has.add("wp",parseFloat(a.split("Windows Phone")[1])||void 0),has.add("msapp",parseFloat(a.split("MSAppHost/")[1])||void 0),has.add("khtml",d.includes("Konqueror")?o:void 0),has.add("edge",parseFloat(a.split("Edge/")[1])||void 0),has.add("opr",parseFloat(a.split("OPR/")[1])||void 0),has.add("webkit",!has("wp")&&!has("edge")&&parseFloat(a.split("WebKit/")[1])||void 0),has.add("chrome",!has("edge")&&!has("opr")&&parseFloat(a.split("Chrome/")[1])||void 0),has.add("android",!has("wp")&&parseFloat(a.split("Android ")[1])||void 0),has.add("safari",!d.includes("Safari")||has("wp")||has("chrome")||has("android")||has("edge")||has("opr")?void 0:parseFloat(d.split("Version/")[1])),has.add("mac",d.includes("Macintosh")),!has("wp")&&/(iPhone|iPod|iPad)/.test(a)){const e=RegExp.$1.replace(/P/,"p"),d=/OS ([\d_]+)/.test(a)?RegExp.$1:"1",o=parseFloat(d.replace(/_/,".").replaceAll("_",""));has.add(e,o),has.add("ios",o);}has("webkit")||(!a.includes("Gecko")||has("wp")||has("khtml")||has("edge")||has.add("mozilla",o),has("mozilla")&&has.add("ff",parseFloat(a.split("Firefox/")[1]||a.split("Minefield/")[1])||void 0));}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),d=/iPhone/i.test(e);a&&has.add("esri-mobile",a),d&&has.add("esri-iPhone",d),has.add("esri-geolocation",!!navigator.geolocation);}has.add("esri-wasm","WebAssembly"in globalThis),has.add("esri-performance-mode-frames-between-render",20),has.add("esri-force-performance-mode",!1),has.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,a=!1===globalThis.crossOriginIsolated;return e&&!a})),has.add("wasm-simd",(()=>{const e=[0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11];return WebAssembly.validate(new Uint8Array(e))})),has.add("esri-atomics","Atomics"in globalThis),has.add("esri-workers","Worker"in globalThis),has.add("web-feat:cache","caches"in globalThis),has.add("esri-workers-arraybuffer-transfer",!has("safari")||Number(has("safari"))>=12),has.add("workers-pool-size",8),has.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),has.add("featurelayer-simplify-payload-size-factors",[1,1,4]),has.add("featurelayer-fast-triangulation-enabled",!0),has.add("featurelayer-animation-enabled",!0),has.add("featurelayer-snapshot-enabled",!0),has.add("featurelayer-snapshot-point-min-threshold",8e4),has.add("featurelayer-snapshot-point-max-threshold",4e5),has.add("featurelayer-snapshot-point-coverage",.1),has.add("featurelayer-query-max-depth",4),has.add("featurelayer-query-pausing-enabled",!1),has.add("featurelayer-advanced-symbols",!1),has.add("featurelayer-pbf",!0),has.add("featurelayer-pbf-statistics",!1),has.add("feature-layers-workers",!0),has.add("feature-polyline-generalization-factor",1),has.add("mapview-transitions-duration",200),has.add("mapview-essential-goto-duration",200),has.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),has.add("mapserver-pbf-version-support",10.81),has.add("mapservice-popup-identify-max-tolerance",20),has("host-webworker")||has("host-browser")&&(has.add("esri-csp-restrictions",(()=>{try{new Function;}catch{return !0}return !1})),has.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{has.add("esri-image-decode",!0,!0,!0);})).catch((()=>{has.add("esri-image-decode",!1,!0,!0);}))}return !1})),has.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})));})();
34
+ let e$a;function has(a){return "function"==typeof e$a[a]?e$a[a]=e$a[a](globalThis):e$a[a]}e$a=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},has.add=(a,d,o,i)=>{(i||void 0===e$a[a])&&(e$a[a]=d),o&&has(a);},has.cache=e$a,has.add("big-integer-warning-enabled",!0),has.add("esri-deprecation-warnings",!0),has.add("esri-tests-disable-screenshots",!1),has.add("esri-tests-use-full-window",!1),has.add("esri-tests-post-to-influx",!0),has.add("esri-cim-animations-enable-status","enabled"),has.add("esri-cim-animations-spotlight",!1),has.add("esri-cim-animations-freeze-time",!1),has.add("enable-feature:multiple-highlights",!1),(()=>{has.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(has.add("host-browser",e),has.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),has.add("dom",e),has("host-browser")){const e=navigator,a=e.userAgent,d=e.appVersion,o=parseFloat(d);if(has.add("wp",parseFloat(a.split("Windows Phone")[1])||void 0),has.add("msapp",parseFloat(a.split("MSAppHost/")[1])||void 0),has.add("khtml",d.includes("Konqueror")?o:void 0),has.add("edge",parseFloat(a.split("Edge/")[1])||void 0),has.add("opr",parseFloat(a.split("OPR/")[1])||void 0),has.add("webkit",!has("wp")&&!has("edge")&&parseFloat(a.split("WebKit/")[1])||void 0),has.add("chrome",!has("edge")&&!has("opr")&&parseFloat(a.split("Chrome/")[1])||void 0),has.add("android",!has("wp")&&parseFloat(a.split("Android ")[1])||void 0),has.add("safari",!d.includes("Safari")||has("wp")||has("chrome")||has("android")||has("edge")||has("opr")?void 0:parseFloat(d.split("Version/")[1])),has.add("mac",d.includes("Macintosh")),!has("wp")&&/(iPhone|iPod|iPad)/.test(a)){const e=RegExp.$1.replace(/P/,"p"),d=/OS ([\d_]+)/.test(a)?RegExp.$1:"1",o=parseFloat(d.replace(/_/,".").replaceAll("_",""));has.add(e,o),has.add("ios",o);}has("webkit")||(!a.includes("Gecko")||has("wp")||has("khtml")||has("edge")||has.add("mozilla",o),has("mozilla")&&has.add("ff",parseFloat(a.split("Firefox/")[1]||a.split("Minefield/")[1])||void 0));}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),d=/iPhone/i.test(e);a&&has.add("esri-mobile",a),d&&has.add("esri-iPhone",d),has.add("esri-geolocation",!!navigator.geolocation);}has.add("esri-wasm","WebAssembly"in globalThis),has.add("esri-performance-mode-frames-between-render",20),has.add("esri-force-performance-mode",!1),has.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,a=!1===globalThis.crossOriginIsolated;return e&&!a})),has.add("wasm-simd",(()=>{const e=[0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11];return WebAssembly.validate(new Uint8Array(e))})),has.add("esri-atomics","Atomics"in globalThis),has.add("esri-workers","Worker"in globalThis),has.add("web-feat:cache","caches"in globalThis),has.add("esri-workers-arraybuffer-transfer",!has("safari")||Number(has("safari"))>=12),has.add("workers-pool-size",8),has.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),has.add("featurelayer-simplify-payload-size-factors",[1,1,4]),has.add("featurelayer-fast-triangulation-enabled",!0),has.add("featurelayer-animation-enabled",!0),has.add("featurelayer-snapshot-enabled",!0),has.add("featurelayer-snapshot-point-min-threshold",8e4),has.add("featurelayer-snapshot-point-max-threshold",4e5),has.add("featurelayer-snapshot-point-coverage",.1),has.add("featurelayer-query-max-depth",4),has.add("featurelayer-query-pausing-enabled",!1),has.add("featurelayer-advanced-symbols",!1),has.add("featurelayer-pbf",!0),has.add("featurelayer-pbf-statistics",!1),has.add("feature-layers-workers",!0),has.add("feature-polyline-generalization-factor",1),has.add("mapview-transitions-duration",200),has.add("mapview-essential-goto-duration",200),has.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),has.add("mapserver-pbf-version-support",10.81),has.add("mapservice-popup-identify-max-tolerance",20),has("host-webworker")||has("host-browser")&&(has.add("esri-csp-restrictions",(()=>{try{new Function;}catch{return !0}return !1})),has.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{has.add("esri-image-decode",!0,!0,!0);})).catch((()=>{has.add("esri-image-decode",!1,!0,!0);}))}return !1})),has.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})));})();
35
35
 
36
36
  /*
37
37
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
@@ -55,7 +55,7 @@ function n$7(r,n,t=!1){return f$4(r,n,t)}function t$4(r,n){if(null!=n)return n[r
55
55
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
56
56
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
57
57
  */
58
- const c$6="20241007";
58
+ const c$6="20241016";
59
59
 
60
60
  /*
61
61
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.