@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
@@ -124,9 +124,9 @@ const CardManager = class {
124
124
  const messageClass = this._graphics?.length > 0 || this._showCreateFeatureComponent ? "display-none" : "";
125
125
  const isTable = this.layer?.isTable;
126
126
  const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
127
- const guideMsg = this.customInfoText || this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
127
+ const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
128
128
  const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
129
- return (h(Host, { key: '7bcc2cfc05bfb95ef444b2036c0fd709f816bfe8' }, h("div", { key: '088e91d3084a43cab7da6e2985784a9675f30bfb', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4ce541bdadc42cc2625756af104e144e61ca0593', class: "position-relative " + featuresClass }, h("div", { key: 'f3fd57ce5a0122df70d36a72e7d8c7ace4ffed0c', class: "position-static z-index-500" }, h("info-card", { key: 'ed1f8e88937d905928e97f1149acdc42fc557d7c', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: '21cd22e9d40954324ab68ae0f44305541a78faa4', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '2206f7bf57133e6249e84eed06363485dc540e89' }, h("calcite-panel", { key: 'a6a43c3eefcc1b03006dc14f39c9ba692620cf51' }, h("div", { key: 'f58c54e68a59e09ce8d51b010876e6f0261d920a', class: "padding-1" }, h("calcite-notice", { key: '5e57dcae6e804c3954a693d972a47171e07419a5', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9391598f800576d7f8dd2ca5778d8a9d493df5cc', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'f30040df430858472437acef88f216040e4f3a4f', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: '6d14a7483427aa478f53e4ee54664ef2aae999fb', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: 'cace557395071006fcf0fc723f1808cad19f1099' }, h("calcite-panel", { key: '3eaa505ebf1d552775970c4f5b7dfc8f321c3f93', heading: heading }, h("calcite-action", { key: '68a09bb37ea2b6d827de48b13e1a41c74f5c34c6', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: '3e326f1e523fe3245365a4dad69372b52a969ae3', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
129
+ return (h(Host, { key: '7360aa9c48dd0c3e4a14fe0833b99c301388f93c' }, h("div", { key: '9d610f0c4728c238eceb790e97a4e06b77f1a2d1', class: "overflow-auto height-full" }, h("calcite-shell", { key: '4b6a02205a971c7ff61aab567b2f2a3c5d288f8d', class: "position-relative " + featuresClass }, h("div", { key: '96ee8ce138265dd4b562ac0a33b79a0db4497842', class: "position-static z-index-500" }, h("info-card", { key: '7db359bc1016281fd01b737dc5c424fe78995422', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, mapView: this.mapView }))), h("calcite-shell", { key: 'afc8d06e9aa3213a9ca10c929497ed4618a28e91', class: "position-relative " + messageClass }, h("calcite-flow-item", { key: '46db92a6e259eefea3293310e3e2f43d7639db97' }, h("calcite-panel", { key: 'd2bc23ae7bcf2b7b7b48a35efc0697e0d1f9e23e' }, h("div", { key: '8f7fd13f9ec99beec1d7231dda03eba403a70a69', class: "padding-1" }, h("calcite-notice", { key: '2fbe94292c1dd91ee1691b8e3d295225ff5b534b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '9f91099e4bfa0675c5b098a73b2f132b80ee76b0', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: 'c1b04e776f3750712992d736e09726cc26eae5db', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature)))), h("calcite-shell", { key: 'a71d4b0abd1ec1a4ed14a2cb3dcb10a075f54bf0', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: '85047b527f5995a912b527325f287c3596caf630' }, h("calcite-panel", { key: 'd335be81502e0feb803ee9ad4e501d4c85f184f5', heading: heading }, h("calcite-action", { key: 'b179c3185dbada3bd052d38b98b75cf29240655c', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: 'f3b6655e3effdb6b09e64acd651a09d6028a6df9', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
130
130
  }
131
131
  /**
132
132
  * Returns the editor component for adding feature
@@ -209,6 +209,7 @@ const LayerTable = class {
209
209
  registerInstance(this, hostRef);
210
210
  this.featureSelectionChange = createEvent(this, "featureSelectionChange", 7);
211
211
  this.toggleFilter = createEvent(this, "toggleFilter", 7);
212
+ this.appLayout = undefined;
212
213
  this.defaultGlobalId = undefined;
213
214
  this.defaultLayerId = undefined;
214
215
  this.defaultOid = undefined;
@@ -412,6 +413,12 @@ const LayerTable = class {
412
413
  // Watch handlers
413
414
  //
414
415
  //--------------------------------------------------------------------------
416
+ /**
417
+ * Update the url params when the appLayout changes
418
+ */
419
+ appLayoutWatchHandler() {
420
+ this._updateShareUrl();
421
+ }
415
422
  /**
416
423
  * Handle url defaults when defaultOid is set
417
424
  */
@@ -698,8 +705,8 @@ const LayerTable = class {
698
705
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
699
706
  const showSearch = this._canShowFullTextSearch();
700
707
  this._validateActiveActions();
701
- return (h(Host, { key: '46394d7e108068600980efd766fbf5d91243f3c9' }, h("calcite-shell", { key: 'd831121a56070552139386033b02ddc2531c29e9' }, this._getTableControlRow("header"), h("div", { key: '591e0b0bba19f1dbe99049a470b5d3c04253a2c2', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'd70244a3c989a5bea8bbbaf33c4ebe9c04fc4515', class: "height-full width-full" }, showSearch &&
702
- h("div", { key: 'fd14c6dab7898e27bd61bbc03878c898d26f042a', class: "search-container" }, h("calcite-input", { key: '9675cc22233456446be8a6b9fc24842fbb3f88e2', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '74447458a0ac4cee6934e7101a5fee2c180d1330', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '6c2a5ff4a69690fde002005eb9c55047c25ad63d', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
708
+ return (h(Host, { key: 'aa79d91e6c569393334a38f937a493de227a0e5b' }, h("calcite-shell", { key: '4b7460fc764c5a6027ad5aa8da826bd188e5490e' }, this._getTableControlRow("header"), h("div", { key: '66ea361c6c2c3a5d05c4403a5d3dd1dea5a9e70b', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b213a696294c94504f394b54082f0183b46691ce', class: "height-full width-full" }, showSearch &&
709
+ h("div", { key: '866dd2a69bc9e504b459ca8639d13f5babfa65fa', class: "search-container" }, h("calcite-input", { key: '26f80276d08106981ef8c769fd4334528a37d881', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: 'a3d2e215cee3e370ef5645b6422c95eef32beedf', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'e48c86ee1ebcc23121eab08903e55cc41270c4c8', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
703
710
  .replace("{{total}}", total)
704
711
  .replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal()));
705
712
  }
@@ -1308,6 +1315,7 @@ const LayerTable = class {
1308
1315
  else {
1309
1316
  urlObj.searchParams.delete("oid");
1310
1317
  }
1318
+ urlObj.searchParams.set("applayout", this.appLayout);
1311
1319
  this._shareNode.shareUrl = urlObj.href;
1312
1320
  }
1313
1321
  /**
@@ -2052,6 +2060,7 @@ const LayerTable = class {
2052
2060
  this._translations = messages[0];
2053
2061
  }
2054
2062
  static get watchers() { return {
2063
+ "appLayout": ["appLayoutWatchHandler"],
2055
2064
  "defaultOid": ["defaultOidWatchHandler"],
2056
2065
  "defaultGlobalId": ["defaultGlobalIdWatchHandler"],
2057
2066
  "enableCSV": ["enableCSVWatchHandler"],
@@ -2117,6 +2126,7 @@ const MapCard = class {
2117
2126
  this.beforeMapChanged = createEvent(this, "beforeMapChanged", 7);
2118
2127
  this.toggleFilter = createEvent(this, "toggleFilter", 7);
2119
2128
  this.clearSelection = createEvent(this, "clearSelection", 7);
2129
+ this.appLayout = undefined;
2120
2130
  this.appProxies = undefined;
2121
2131
  this.defaultWebmapId = "";
2122
2132
  this.defaultLayerId = undefined;
@@ -2124,6 +2134,7 @@ const MapCard = class {
2124
2134
  this.enableLegend = undefined;
2125
2135
  this.enableFloorFilter = undefined;
2126
2136
  this.enableFullscreen = undefined;
2137
+ this.enableShare = false;
2127
2138
  this.enableSingleExpand = true;
2128
2139
  this.enableSearch = undefined;
2129
2140
  this.enableBasemap = undefined;
@@ -2141,6 +2152,8 @@ const MapCard = class {
2141
2152
  this.theme = undefined;
2142
2153
  this.toolOrder = undefined;
2143
2154
  this.isMapLayout = undefined;
2155
+ this.shareIncludeEmbed = undefined;
2156
+ this.shareIncludeSocial = undefined;
2144
2157
  this.selectedFeaturesIds = undefined;
2145
2158
  this.selectedLayer = undefined;
2146
2159
  this.zoomToScale = undefined;
@@ -2224,6 +2237,10 @@ const MapCard = class {
2224
2237
  * ResizeObserver: The observer that watches for toolbar size changes
2225
2238
  */
2226
2239
  _resizeObserver;
2240
+ /**
2241
+ * HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
2242
+ */
2243
+ _shareNode;
2227
2244
  /**
2228
2245
  * HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
2229
2246
  */
@@ -2253,12 +2270,36 @@ const MapCard = class {
2253
2270
  // Watch handlers
2254
2271
  //
2255
2272
  //--------------------------------------------------------------------------
2273
+ /**
2274
+ * Update the url params when the appLayout changes
2275
+ */
2276
+ appLayoutWatchHandler() {
2277
+ this._updateShareUrl();
2278
+ }
2256
2279
  /**
2257
2280
  * Add/remove home widget
2258
2281
  */
2259
2282
  enableHomeWatchHandler() {
2260
2283
  this._initHome();
2261
2284
  }
2285
+ /**
2286
+ * Update the toolbar when the share button is enabled/disabled
2287
+ */
2288
+ enableShareWatchHandler() {
2289
+ // this should be caught by component did render and is when I test locally
2290
+ // however have had reported case where it is not somehow on devext so adding explicit check here
2291
+ if (this._toolbar) {
2292
+ this._updateToolbar();
2293
+ }
2294
+ }
2295
+ /**
2296
+ * watch for changes in map view and get the first layer
2297
+ */
2298
+ async mapViewWatchHandler() {
2299
+ if (this.mapView) {
2300
+ this._updateShareUrl();
2301
+ }
2302
+ }
2262
2303
  /**
2263
2304
  * watch for changes in layer view and verify if it has editing enabled
2264
2305
  */
@@ -2271,6 +2312,7 @@ const MapCard = class {
2271
2312
  * watch for features ids changes
2272
2313
  */
2273
2314
  async selectedFeaturesIdsWatchHandler() {
2315
+ this._updateShareUrl();
2274
2316
  this._validateEnabledActions();
2275
2317
  }
2276
2318
  /**
@@ -2299,12 +2341,14 @@ const MapCard = class {
2299
2341
  */
2300
2342
  async resetFilter() {
2301
2343
  this._filterActive = false;
2344
+ this._updateShareUrl();
2302
2345
  }
2303
2346
  /**
2304
2347
  * updates the filter
2305
2348
  */
2306
2349
  async updateFilterState() {
2307
2350
  this._filterActive = this._definitionExpression !== this.selectedLayer.definitionExpression;
2351
+ this._updateShareUrl();
2308
2352
  }
2309
2353
  /**
2310
2354
  * updates the layer in map layer picker
@@ -2380,7 +2424,7 @@ const MapCard = class {
2380
2424
  const mapHeightClass = this.mapInfos?.length > 1 || this.isMapLayout ? "map-height" : "height-full";
2381
2425
  const progressClass = this.isMapLayout ? "" : "display-none";
2382
2426
  this._validateActiveActions();
2383
- return (h(Host, { key: '94d7399ed75c0e90487d6153a0d28ab6f722ae93' }, h("div", { key: 'e194d8800dd7a865e101d779d032d164f3e5562d', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options")), h("calcite-progress", { key: '0abdbf4e8ba5861866aba7791dfdb91a7a5f4daa', class: progressClass, value: 0 }), h("div", { key: '83aa012aeef6ae64e49007d542fd949e7d4602f4', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { key: '229cc18b36885cad12d44c13e1fe37a97403b9d8', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
2427
+ return (h(Host, { key: '790599924cf104116f6961380103aef7c55e6d76' }, h("div", { key: '5467a5d4e3998807fdf243ada3088dba8e69941f', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options"), this.enableShare && !this.isMobile && this.isMapLayout ? this._getShare("share") : undefined), h("calcite-progress", { key: '5c82042e0206be05e12d29ba588b26344b1017b8', class: progressClass, value: 0 }), h("div", { key: '0831bc4593f5a7680a8599a9868990734cb013b9', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { key: '5bbf14428cc845d8b889e72d707672250f820686', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
2384
2428
  }
2385
2429
  /**
2386
2430
  * Called each time after the component is loaded
@@ -2399,6 +2443,7 @@ const MapCard = class {
2399
2443
  this._resizeObserver.observe(this._toolbar);
2400
2444
  this._observerSet = true;
2401
2445
  }
2446
+ this._updateShareUrl();
2402
2447
  }
2403
2448
  //--------------------------------------------------------------------------
2404
2449
  //
@@ -2477,6 +2522,7 @@ const MapCard = class {
2477
2522
  mapView: this.mapView
2478
2523
  });
2479
2524
  }
2525
+ this._updateShareUrl();
2480
2526
  }
2481
2527
  /**
2482
2528
  * Add/Remove tools from the action bar and dropdown based on available size
@@ -2495,7 +2541,7 @@ const MapCard = class {
2495
2541
  prev += cur.width;
2496
2542
  return prev;
2497
2543
  }, 0);
2498
- const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker"];
2544
+ const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker", "solutions-action-share"];
2499
2545
  if (controlsWidth > toolbarWidth) {
2500
2546
  if (this._toolbarSizeInfos.length > 0) {
2501
2547
  const controlsThatFit = [...this._toolbarSizeInfos].reverse().reduce((prev, cur) => {
@@ -2621,6 +2667,50 @@ const MapCard = class {
2621
2667
  return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: "none" }, h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (h("div", { class: "display-flex" }, h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
2622
2668
  })))) : undefined;
2623
2669
  }
2670
+ /**
2671
+ * Get an action and tooltip for share
2672
+ *
2673
+ * @param icon string the name of the icon to display, will also be used in its id
2674
+ *
2675
+ * @returns VNode The node representing the DOM element that will contain the action
2676
+ */
2677
+ _getShare(icon) {
2678
+ return (h("div", { class: "share-action", id: this._getId(icon) }, h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "instant-app-share", embed: this.shareIncludeEmbed, popoverButtonIconScale: "s", ref: el => {
2679
+ this._shareNode = el;
2680
+ this._updateShareUrl();
2681
+ }, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", socialMedia: this.shareIncludeSocial, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
2682
+ }
2683
+ /**
2684
+ * Called each time the values that are used for custom url params change
2685
+ */
2686
+ _updateShareUrl() {
2687
+ const url = this._shareNode?.shareUrl;
2688
+ if (!url) {
2689
+ return;
2690
+ }
2691
+ const urlObj = new URL(url);
2692
+ //set the additional search params
2693
+ if (this._loadedId) {
2694
+ urlObj.searchParams.set("webmap", this._loadedId);
2695
+ }
2696
+ else {
2697
+ urlObj.searchParams.delete("webmap");
2698
+ }
2699
+ if (this.selectedLayer?.id) {
2700
+ urlObj.searchParams.set("layer", this.selectedLayer.id);
2701
+ }
2702
+ else {
2703
+ urlObj.searchParams.delete("layer");
2704
+ }
2705
+ if (this.selectedFeaturesIds?.length > 0) {
2706
+ urlObj.searchParams.set("oid", this.selectedFeaturesIds.join(","));
2707
+ }
2708
+ else {
2709
+ urlObj.searchParams.delete("oid");
2710
+ }
2711
+ urlObj.searchParams.set("applayout", this.appLayout);
2712
+ this._shareNode.shareUrl = urlObj.href;
2713
+ }
2624
2714
  /**
2625
2715
  * Open show/hide dropdown
2626
2716
  * @protected
@@ -2896,7 +2986,10 @@ const MapCard = class {
2896
2986
  this._translations = messages[0];
2897
2987
  }
2898
2988
  static get watchers() { return {
2989
+ "appLayout": ["appLayoutWatchHandler"],
2899
2990
  "enableHome": ["enableHomeWatchHandler"],
2991
+ "enableShare": ["enableShareWatchHandler"],
2992
+ "mapView": ["mapViewWatchHandler"],
2900
2993
  "selectedLayer": ["selectedLayerWatchHandler"],
2901
2994
  "selectedFeaturesIds": ["selectedFeaturesIdsWatchHandler"],
2902
2995
  "_controlsThatFit": ["_controlsThatFitWatchHandler"]
@@ -23,6 +23,7 @@ const CrowdsourceManager = class {
23
23
  this.basemapConfig = undefined;
24
24
  this.coverPageEnabled = undefined;
25
25
  this.customInfoText = undefined;
26
+ this.defaultAppLayout = undefined;
26
27
  this.defaultCenter = "";
27
28
  this.defaultGlobalId = "";
28
29
  this.defaultLayer = "";
@@ -78,6 +79,10 @@ const CrowdsourceManager = class {
78
79
  // Properties (protected)
79
80
  //
80
81
  //--------------------------------------------------------------------------
82
+ /**
83
+ * boolean: When true the default appLayout has been applied and should no longer override
84
+ */
85
+ _defaultAppLayoutHonored = false;
81
86
  /**
82
87
  * boolean: When true the map view will be set after render due to popup obstructing the view
83
88
  * MapView.when is not fired when mapView is not currently visible
@@ -227,7 +232,7 @@ const CrowdsourceManager = class {
227
232
  render() {
228
233
  // only avoid border when we have a header color that is not white
229
234
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
230
- return (h(Host, { key: '797519a81cbac4330519ad114ca127efb4284b84' }, h("calcite-shell", { key: '253b4a3610a1b448e7db95dbdba9bfe931911d85', class: "position-relative" }, h("calcite-panel", { key: 'ed07e564d0ec7749121201f0e5fc64885d7794f9', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
235
+ return (h(Host, { key: 'ddb8bb35d74ab89ffd62d7bd0468b5a757fa5ba1' }, h("calcite-shell", { key: '74d941a3b1d4149a57c88cea263a2fd7e2b4f840', class: "position-relative" }, h("calcite-panel", { key: '3ff44942eab43c6f3a1cd92c918c0e2bae3d500a', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
231
236
  }
232
237
  /**
233
238
  * Called after each render
@@ -246,7 +251,11 @@ const CrowdsourceManager = class {
246
251
  */
247
252
  async componentDidLoad() {
248
253
  this._resizeObserver.observe(this.el);
249
- if (this.hideMapOnLoad && !this.appLayout) {
254
+ if (!this._defaultAppLayoutHonored && this.defaultAppLayout) {
255
+ this._defaultAppLayoutHonored = true;
256
+ this.appLayout = this.defaultAppLayout;
257
+ }
258
+ else if (this.hideMapOnLoad && !this.appLayout) {
250
259
  this.appLayout = 'tableView';
251
260
  }
252
261
  else if (!this.appLayout) {
@@ -422,7 +431,7 @@ const CrowdsourceManager = class {
422
431
  const isTableLayout = this.appLayout === 'tableView';
423
432
  const mapContainerClass = (isMapLayout || isTableLayout) ? "position-absolute-0" : this._layoutMode === ELayoutMode.HORIZONTAL && (!this._isPortraitMobile || panelOpen) ? "" : "adjusted-height-50";
424
433
  const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
425
- return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
434
+ return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appLayout: this.appLayout, appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableShare: this.enableShare, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
426
435
  }
427
436
  /**
428
437
  * Get the expand node for the popup information
@@ -484,7 +493,7 @@ const CrowdsourceManager = class {
484
493
  this.defaultGlobalId?.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
485
494
  const defaultOid = !this.defaultOid ? undefined :
486
495
  this.defaultOid?.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
487
- return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
496
+ return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { appLayout: this.appLayout, createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
488
497
  }
489
498
  /**
490
499
  * Returns the Actions for table's node
@@ -75,6 +75,10 @@ const FeatureList = class {
75
75
  * __esri.Handle: Highlight handle of the selections
76
76
  */
77
77
  _highlightHandle;
78
+ /**
79
+ * __esri.Collection: Highlight options for the selected layer
80
+ */
81
+ _highlights;
78
82
  /**
79
83
  * HTMLCalcitePaginationElement: Calcite pagination element instance
80
84
  */
@@ -175,9 +179,9 @@ const FeatureList = class {
175
179
  * Renders the component.
176
180
  */
177
181
  render() {
178
- return (h("calcite-panel", { key: 'fc2cc60231efb7fc4a05d3ade0bad6a3dd649b8e', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '43c8176c2aaf0cc7f36a9f1ff477f53890cfcf2d', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
179
- h("calcite-notice", { key: 'dff1bb7207397ded8a557b61e9185ea788520441', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'c1dd4e7fb8398c4317270b50eba7e6270fd7051b', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '49019c011e8667d193f566826644b0693b0fb6f9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
180
- h("div", { key: '12e767a001c4dffec7e771d12b772fb43bbf9b0f', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: 'd6a8a9eac72fe7217eda926f46baedcb4e6d5859', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
182
+ return (h("calcite-panel", { key: '381f7da40e715848d4601810aacedbe3a7a46d6d', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '62d128eee1b0a987fe24764b8cfbff148dcf9084', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
183
+ h("calcite-notice", { key: '975aef0b4c33676fc2be4aa85a51641d0b203cd4', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'c002eb4d59d8bab086d91266ca4a0ca56a185db3', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '50f0c269f30e9619561ea61f462fb964f91a93a9', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
184
+ h("div", { key: '97f837035b89d3045efd2771c0ef77d12fbb333b', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: 'd88adbe6499b358395bd7bf5917c3d0c1506d8b1', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
181
185
  }
182
186
  //--------------------------------------------------------------------------
183
187
  //
@@ -296,7 +300,12 @@ const FeatureList = class {
296
300
  if (this.highlightOnHover) {
297
301
  const oId = selectedFeature.getObjectId();
298
302
  const selectedLayerView = await getFeatureLayerView(this.mapView, this.selectedLayerId);
303
+ // this is a workaround added for https://github.com/Esri/solutions-components/issues/920
304
+ if (this._highlights) {
305
+ selectedLayerView.highlights = JSON.parse(this._highlights);
306
+ }
299
307
  selectedLayerView.highlightOptions = { color: new this.Color("#FFFF00") };
308
+ this._highlights = JSON.stringify(selectedLayerView.highlights);
300
309
  this._highlightHandle = selectedLayerView.highlight([oId]);
301
310
  }
302
311
  }
@@ -27,7 +27,7 @@ const { state, onChange } = createStore({
27
27
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
28
28
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
29
29
  */
30
- 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")})));})();
30
+ 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")})));})();
31
31
 
32
32
  /*
33
33
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
@@ -51,7 +51,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
51
51
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
52
52
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
53
53
  */
54
- const c$6="20241007";
54
+ const c$6="20241016";
55
55
 
56
56
  /*
57
57
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.