@esri/solutions-components 0.11.22 → 0.11.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +8 -4
  2. package/dist/cjs/create-feature_4.cjs.entry.js +21 -10
  3. package/dist/cjs/create-related-feature_3.cjs.entry.js +25 -19
  4. package/dist/cjs/crowdsource-manager.cjs.entry.js +3 -2
  5. package/dist/cjs/crowdsource-reporter.cjs.entry.js +7 -6
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/solutions-components.cjs.js +1 -1
  8. package/dist/collection/components/card-manager/card-manager.js +23 -2
  9. package/dist/collection/components/create-feature/create-feature.css +1 -1
  10. package/dist/collection/components/create-feature/create-feature.js +28 -3
  11. package/dist/collection/components/create-related-feature/create-related-feature.css +1 -1
  12. package/dist/collection/components/create-related-feature/create-related-feature.js +74 -49
  13. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
  14. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +27 -6
  15. package/dist/collection/components/edit-card/edit-card.css +1 -1
  16. package/dist/collection/components/edit-card/edit-card.js +48 -23
  17. package/dist/collection/components/feature-details/feature-details.js +27 -6
  18. package/dist/collection/components/info-card/info-card.js +23 -2
  19. package/dist/collection/components/layer-table/layer-table.js +5 -2
  20. package/dist/components/card-manager2.js +4 -2
  21. package/dist/components/create-feature2.js +10 -4
  22. package/dist/components/create-related-feature2.js +21 -15
  23. package/dist/components/crowdsource-manager.js +4 -2
  24. package/dist/components/crowdsource-reporter.js +8 -6
  25. package/dist/components/edit-card2.js +11 -5
  26. package/dist/components/feature-details2.js +8 -6
  27. package/dist/components/info-card2.js +4 -2
  28. package/dist/components/layer-table2.js +5 -2
  29. package/dist/esm/card-manager_3.entry.js +8 -4
  30. package/dist/esm/create-feature_4.entry.js +21 -10
  31. package/dist/esm/create-related-feature_3.entry.js +25 -19
  32. package/dist/esm/crowdsource-manager.entry.js +3 -2
  33. package/dist/esm/crowdsource-reporter.entry.js +7 -6
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/solutions-components.js +1 -1
  36. package/dist/solutions-components/p-2507c685.entry.js +6 -0
  37. package/dist/solutions-components/p-386b0163.entry.js +6 -0
  38. package/dist/solutions-components/p-99e00361.entry.js +6 -0
  39. package/dist/solutions-components/p-a415a60d.entry.js +6 -0
  40. package/dist/solutions-components/p-b5a102db.entry.js +6 -0
  41. package/dist/solutions-components/solutions-components.esm.js +1 -1
  42. package/dist/solutions-components_commit.txt +6 -6
  43. package/dist/types/components/card-manager/card-manager.d.ts +4 -0
  44. package/dist/types/components/create-feature/create-feature.d.ts +4 -0
  45. package/dist/types/components/create-related-feature/create-related-feature.d.ts +23 -19
  46. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +4 -0
  47. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +4 -0
  48. package/dist/types/components/edit-card/edit-card.d.ts +8 -4
  49. package/dist/types/components/feature-details/feature-details.d.ts +4 -0
  50. package/dist/types/components/info-card/info-card.d.ts +4 -0
  51. package/dist/types/components.d.ts +64 -0
  52. package/package.json +1 -1
  53. package/dist/solutions-components/p-1ac20964.entry.js +0 -6
  54. package/dist/solutions-components/p-892b42be.entry.js +0 -6
  55. package/dist/solutions-components/p-9161beb0.entry.js +0 -6
  56. package/dist/solutions-components/p-decfd5fc.entry.js +0 -6
  57. package/dist/solutions-components/p-eba271dd.entry.js +0 -6
@@ -25,11 +25,12 @@ import { getAllLayers } from "../../utils/mapViewUtils";
25
25
  export class EditCard {
26
26
  constructor() {
27
27
  this.enableEditGeometry = false;
28
+ this.enableSnapping = false;
29
+ this.graphicIndex = 0;
28
30
  this.graphics = undefined;
29
31
  this.locale = undefined;
30
32
  this.mapView = undefined;
31
33
  this.open = false;
32
- this.graphicIndex = 0;
33
34
  this._editorLoading = false;
34
35
  this._translations = undefined;
35
36
  }
@@ -211,7 +212,7 @@ export class EditCard {
211
212
  !this.graphics[0].layer.editingEnabled : true;
212
213
  const tableNodeClass = this._editorLoading ? "display-none" : "position-absolute";
213
214
  const loadingClass = this._editorLoading ? "" : "display-none";
214
- return (h(Host, { key: 'e181f65e7218ce0350de5dcab9049ff63a5d39c1' }, h("div", { key: '44bf2b5cf31c5acc7f65fb7ec50fd84e77c95470', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: '97119476aa2a992ccadc1d61119f2640d195e7b1', class: "position-absolute" }, h("div", { key: 'f429decea684a6a22db89de89da3755bdbff19cc', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: '3ea908ef8dadd2f1c85bfac1b344f8b4441b8706', class: loadingClass, label: "", scale: "s" })))));
215
+ return (h(Host, { key: 'bf9a2cc632deb0cc203f6a2fa837008f8e809482' }, h("div", { key: 'fa2ad6208c2274fe2982b71502d52694e3838162', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: '98c1d2cb3dce8855b0c792328c893b6947e01f4c', class: "position-absolute" }, h("div", { key: 'ebf21d9145dabcc3b91a4fc44d3a3ae92a6ef5ea', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: 'd3da2a76b0dda07540ca6f65a2f671e825af211a', class: loadingClass, label: "", scale: "s" })))));
215
216
  }
216
217
  //--------------------------------------------------------------------------
217
218
  //
@@ -252,7 +253,8 @@ export class EditCard {
252
253
  layerInfos,
253
254
  visibleElements: {
254
255
  flow: true,
255
- snappingControls: false
256
+ settingsMenu: this.enableSnapping,
257
+ snappingControls: this.enableSnapping,
256
258
  },
257
259
  container
258
260
  });
@@ -275,6 +277,9 @@ export class EditCard {
275
277
  this.open = false;
276
278
  }
277
279
  });
280
+ if (!this.enableSnapping) {
281
+ container.classList.add("hide-editor-toolbar");
282
+ }
278
283
  // had issues with destroy before adding like this
279
284
  this._editContainer.appendChild(container);
280
285
  this.editorInitialized.emit(this._editor);
@@ -349,6 +354,46 @@ export class EditCard {
349
354
  "reflect": false,
350
355
  "defaultValue": "false"
351
356
  },
357
+ "enableSnapping": {
358
+ "type": "boolean",
359
+ "mutable": false,
360
+ "complexType": {
361
+ "original": "boolean",
362
+ "resolved": "boolean",
363
+ "references": {}
364
+ },
365
+ "required": false,
366
+ "optional": false,
367
+ "docs": {
368
+ "tags": [],
369
+ "text": "When true the snapping options will be exposed"
370
+ },
371
+ "getter": false,
372
+ "setter": false,
373
+ "attribute": "enable-snapping",
374
+ "reflect": false,
375
+ "defaultValue": "false"
376
+ },
377
+ "graphicIndex": {
378
+ "type": "number",
379
+ "mutable": false,
380
+ "complexType": {
381
+ "original": "number",
382
+ "resolved": "number",
383
+ "references": {}
384
+ },
385
+ "required": false,
386
+ "optional": false,
387
+ "docs": {
388
+ "tags": [],
389
+ "text": "The index of the current graphic"
390
+ },
391
+ "getter": false,
392
+ "setter": false,
393
+ "attribute": "graphic-index",
394
+ "reflect": false,
395
+ "defaultValue": "0"
396
+ },
352
397
  "graphics": {
353
398
  "type": "unknown",
354
399
  "mutable": true,
@@ -431,26 +476,6 @@ export class EditCard {
431
476
  "attribute": "open",
432
477
  "reflect": false,
433
478
  "defaultValue": "false"
434
- },
435
- "graphicIndex": {
436
- "type": "number",
437
- "mutable": false,
438
- "complexType": {
439
- "original": "number",
440
- "resolved": "number",
441
- "references": {}
442
- },
443
- "required": false,
444
- "optional": false,
445
- "docs": {
446
- "tags": [],
447
- "text": "The index of the current graphic"
448
- },
449
- "getter": false,
450
- "setter": false,
451
- "attribute": "graphic-index",
452
- "reflect": false,
453
- "defaultValue": "0"
454
479
  }
455
480
  };
456
481
  }
@@ -23,6 +23,7 @@ import { loadModules } from "../../utils/loadModules";
23
23
  import { getAllTables } from "../../utils/mapViewUtils";
24
24
  export class FeatureDetails {
25
25
  constructor() {
26
+ this.enableSnapping = false;
26
27
  this.mapView = undefined;
27
28
  this.graphics = undefined;
28
29
  this.reportingOptions = undefined;
@@ -182,12 +183,12 @@ export class FeatureDetails {
182
183
  render() {
183
184
  //When related features found show comments list of only those features else comments list will be empty
184
185
  const commentsListWhereClause = this._relatedFeaturesOIDs?.length > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
185
- return (h("calcite-panel", { key: '577f06f7bc41875b38e07a44f3c734ccc839e596', "full-height": true }, h("info-card", { key: 'e815f75d02bcdfe9cc11796c913be2a6c2bfecd2', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
186
- h("div", { key: '16d0af6b0e75b595573bd0816744f03d9d6dec37', class: "buttons-container" }, this._commentsAvailable &&
187
- h("calcite-button", { key: '550b3af830911a1437fa3e967492666ec8c5a2e4', appearance: "transparent", iconEnd: "speech-bubble", kind: "neutral", onClick: () => { this.addComment.emit(); }, scale: 'm' }, this._relatedFeaturesOIDs.length), this._likeFieldAvailable &&
188
- h("calcite-button", { key: '741848445c2083f4c0a3d9464cd810deee4a1218', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onLikeButtonClick.bind(this), scale: 'm' }, this._likeCount ?? this._selectedGraphic.attributes[this._likeField] ?? 0), this._dislikeFieldAvailable &&
189
- h("calcite-button", { key: '4d5e8ae279559dbf981b1b91238706adbd6ebeef', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onDislikeButtonClick.bind(this), scale: 'm' }, this._disLikeCount ?? this._selectedGraphic.attributes[this._dislikeField] ?? 0)), this.relatedTableId && this._commentsAvailable &&
190
- h("feature-list", { key: '0daad9b37b13a05afc4b8a3a6eca70a7356afd8f', class: "height-full", locale: this.locale, mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showFullTitle: this.showFullCommentTitle, showInitialLoading: false, showUserImageInList: this.showUserImageInCommentsList, textSize: "small", whereClause: commentsListWhereClause })));
186
+ return (h("calcite-panel", { key: '9fea2f56281419fd95720cd6b0f7369017d975b0', "full-height": true }, h("info-card", { key: 'ae9f7a316ba49b59dbbfaeb011aa3475b70f809b', allowEditing: false, enableSnapping: this.enableSnapping, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
187
+ h("div", { key: '7da88cf71d12c05321895a04d8e4039d74a466e9', class: "buttons-container" }, this._commentsAvailable &&
188
+ h("calcite-button", { key: 'ebc7b32a69c551fe8e2a8dd10d69cde8b9078e4f', appearance: "transparent", iconEnd: "speech-bubble", kind: "neutral", onClick: () => { this.addComment.emit(); }, scale: 'm' }, this._relatedFeaturesOIDs.length), this._likeFieldAvailable &&
189
+ h("calcite-button", { key: 'ef43f47829ebb6b04dbaaf7a20ee9848d9c21c87', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onLikeButtonClick.bind(this), scale: 'm' }, this._likeCount ?? this._selectedGraphic.attributes[this._likeField] ?? 0), this._dislikeFieldAvailable &&
190
+ h("calcite-button", { key: '64651be363c2d1a5083002dcad4bff4d040a396a', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onDislikeButtonClick.bind(this), scale: 'm' }, this._disLikeCount ?? this._selectedGraphic.attributes[this._dislikeField] ?? 0)), this.relatedTableId && this._commentsAvailable &&
191
+ h("feature-list", { key: 'fff5e1ce72310a5a41b2223578165011026e1b8c', class: "height-full", locale: this.locale, mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showFullTitle: this.showFullCommentTitle, showInitialLoading: false, showUserImageInList: this.showUserImageInCommentsList, textSize: "small", whereClause: commentsListWhereClause })));
191
192
  }
192
193
  /**
193
194
  * Load esri javascript api modules
@@ -469,6 +470,26 @@ export class FeatureDetails {
469
470
  }
470
471
  static get properties() {
471
472
  return {
473
+ "enableSnapping": {
474
+ "type": "boolean",
475
+ "mutable": false,
476
+ "complexType": {
477
+ "original": "boolean",
478
+ "resolved": "boolean",
479
+ "references": {}
480
+ },
481
+ "required": false,
482
+ "optional": false,
483
+ "docs": {
484
+ "tags": [],
485
+ "text": "When true the snapping options will be exposed"
486
+ },
487
+ "getter": false,
488
+ "setter": false,
489
+ "attribute": "enable-snapping",
490
+ "reflect": false,
491
+ "defaultValue": "false"
492
+ },
472
493
  "mapView": {
473
494
  "type": "unknown",
474
495
  "mutable": false,
@@ -25,6 +25,7 @@ import { PopupUtils } from "../../utils/popupUtils";
25
25
  export class InfoCard {
26
26
  constructor() {
27
27
  this.enableEditGeometry = false;
28
+ this.enableSnapping = false;
28
29
  this.graphics = undefined;
29
30
  this.isLoading = false;
30
31
  this.isMobile = undefined;
@@ -270,8 +271,8 @@ export class InfoCard {
270
271
  // if user has navigated to the related feature then pass the related feature to the graphics
271
272
  const graphics = this._relatedFeature ? [this._relatedFeature] : this.graphics;
272
273
  const selectedFeatureIndex = this._navigatedToRelatedFeature ? 0 : this._features?.selectedFeatureIndex;
273
- return (h(Host, { key: '7662ad49543f574bbcb58f2b9611efefc0420259' }, h("calcite-shell", { key: '10075ee9cdf4d9e8a6dee615755c53eaaece8c21', style: { position: this.position } }, this._getHeader(), h("calcite-loader", { key: 'fc668f26163e1135d37a5dee1c08d72d7feee9d5', class: loadingClass, label: this._translations.fetchingData }), h("div", { key: '73faf27901ae65feaf4faae8227aa21bfb1fb0a3', class: "esri-widget feature-node " + featureNodeClass, id: this._featuresNodeId }), h("div", { key: 'ced1edadc747dd7a087fed7b0a8e378def491381', class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
274
- h("div", { key: '3f1ab07a2d197730d03497d0c5c5a2970e0f42ec', class: "display-flex top-border padding-1-2" }, h("calcite-button", { key: '946cb64983426ce95c8a209aa7ae59405124709f', appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, locale: this.locale, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { key: '4123a740f077f6d203ae75338655a3e4f988b3dd', placement: "bottom", "reference-element": "solutions-edit" }, h("span", { key: '6968a12b2f41737cb221bc7ddbcab834f990fe3c' }, this._translations.edit)), this.isMobile && deleteEnabled ? (h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), this.paginationEnabled && !nextBackDisabled && h("div", { key: '31d228643a734df28880c009f8d9a989f07acedb', class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { key: 'f1dd88d8e5359e8acfc3508890185f8769365ec8' }, h("calcite-button", { key: '86190bfd8442bcf327c8aa60272a4071dead2dbc', appearance: 'transparent', disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-left", id: "solutions-back", onClick: () => this._back(), width: "full" }), h("calcite-tooltip", { key: '6cf40e219e228547636a228d306dc6fc2929d186', placement: "top", "reference-element": "solutions-back" }, h("span", { key: '39a43c0568c3d9e71587d3e3a38970a97f16efa4' }, this._translations.back))), h("calcite-action", { key: '373330d9385477e7b8701bff969d93ccf992f8b6', class: 'pagination-action', iconFlipRtl: true, onClick: () => this._toggleListView(), scale: "s", text: "", textEnabled: true }, h("span", { key: 'badd298438061c4c61b5f5561d0883fd063d1434', class: "pagination-count" }, this._count)), h("div", { key: '501d8970243fa398721c9db04cff5491f59fe045' }, h("calcite-button", { key: '9118e14df5f7932e91e823a5bd35fe6292af1c07', appearance: "transparent", disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-right", id: "solutions-next", onClick: () => this._next(), width: "full" }), h("calcite-tooltip", { key: '29a22347603b730ab160023667bb1fc7654e69d4', placement: "top", "reference-element": "solutions-next" }, h("span", { key: '2404d5b018b0e6478a366d995c61e6ec40e9e486' }, this._translations.next))))), h("edit-card", { key: 'cad638e12cf79d7efbc8d4fa05da14ddd1140197', class: editClass, enableEditGeometry: this.enableEditGeometry, graphicIndex: selectedFeatureIndex, graphics: graphics, locale: this.locale, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { key: 'b0ce00184f525e8156d282e5efd30962b018e226', icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { key: '35f655f6dc9c274b07ccafe769e8e9af357862d1', slot: "title" }, this._translations.editDisabled), h("div", { key: 'e2b8de0fdb5eac8b37e5bb2a872fd390d9b42d29', slot: "message" }, this._translations.enableEditing)))));
274
+ return (h(Host, { key: '5b379325eff02faa0cc5bb93b625f63e75dac557' }, h("calcite-shell", { key: 'ce3b54deb9c64f8f6a4ec58a8dce37bb738e1307', style: { position: this.position } }, this._getHeader(), h("calcite-loader", { key: '3c2824073847b85b0a7a455c1e5ea1dc1d92169a', class: loadingClass, label: this._translations.fetchingData }), h("div", { key: '02645c7bc0a5e0c20a7888f6fc6e5ac0c913b908', class: "esri-widget feature-node " + featureNodeClass, id: this._featuresNodeId }), h("div", { key: 'f7168748d005c4347295b9f85ebac29f49f197d2', class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
275
+ h("div", { key: '5ff5d61eb97f46789d781ed1c7d3a446542f3a68', class: "display-flex top-border padding-1-2" }, h("calcite-button", { key: '632f599ee2da0ea49baf4ee5fcff47434b3f2e8d', appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, locale: this.locale, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { key: '15673c1194d9ce01d6441330423352f54539158d', placement: "bottom", "reference-element": "solutions-edit" }, h("span", { key: 'bf7f3c471e66a6902863a667642fb49eb2d98938' }, this._translations.edit)), this.isMobile && deleteEnabled ? (h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), this.paginationEnabled && !nextBackDisabled && h("div", { key: '337417e71ee660dff91793b99a74983ca765d616', class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { key: '6425566f26dfd1a3e35b44823f7727ddffe80efc' }, h("calcite-button", { key: '7f6cf491407741b95b3f1c2e1d533f903dd402a6', appearance: 'transparent', disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-left", id: "solutions-back", onClick: () => this._back(), width: "full" }), h("calcite-tooltip", { key: '1c209dd4229b3b3f1490563f722d19247454cb8f', placement: "top", "reference-element": "solutions-back" }, h("span", { key: '5cdbe55fddd53f430171e286ca0cf7785c564f92' }, this._translations.back))), h("calcite-action", { key: '3964c9e101508084299235ab4e4e15dedd1cd3fd', class: 'pagination-action', iconFlipRtl: true, onClick: () => this._toggleListView(), scale: "s", text: "", textEnabled: true }, h("span", { key: '3bc52707b7eac70e13caf9d2a24a09fc09456cf9', class: "pagination-count" }, this._count)), h("div", { key: '7c70dd2f40d1b799aa5c053e623cd43dc1da1594' }, h("calcite-button", { key: '9251259b306f5f0a13f953c742be7ea0606f1a2a', appearance: "transparent", disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-right", id: "solutions-next", onClick: () => this._next(), width: "full" }), h("calcite-tooltip", { key: '4634f29cf4e5c212f1f0fd46c6e5505b2f0d8dfe', placement: "top", "reference-element": "solutions-next" }, h("span", { key: 'f6480bb70598aa89547256af8867ab657e17aece' }, this._translations.next))))), h("edit-card", { key: '467a508438eceac82d387238edfaf3da7c644da9', class: editClass, enableEditGeometry: this.enableEditGeometry, enableSnapping: this.enableSnapping, graphicIndex: selectedFeatureIndex, graphics: graphics, locale: this.locale, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { key: '53eba21ad693a3655d695fd1d1ae6211f7f1c68a', icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { key: '01ecc5c16948cd9f140d523cdc21dee1e45b4bcc', slot: "title" }, this._translations.editDisabled), h("div", { key: 'ae30d08e51b01a2eb1c7d3a6f276ba15b7ccf849', slot: "message" }, this._translations.enableEditing)))));
275
276
  }
276
277
  //--------------------------------------------------------------------------
277
278
  //
@@ -486,6 +487,26 @@ export class InfoCard {
486
487
  "reflect": false,
487
488
  "defaultValue": "false"
488
489
  },
490
+ "enableSnapping": {
491
+ "type": "boolean",
492
+ "mutable": false,
493
+ "complexType": {
494
+ "original": "boolean",
495
+ "resolved": "boolean",
496
+ "references": {}
497
+ },
498
+ "required": false,
499
+ "optional": false,
500
+ "docs": {
501
+ "tags": [],
502
+ "text": "When true the snapping options will be exposed"
503
+ },
504
+ "getter": false,
505
+ "setter": false,
506
+ "attribute": "enable-snapping",
507
+ "reflect": false,
508
+ "defaultValue": "false"
509
+ },
489
510
  "graphics": {
490
511
  "type": "unknown",
491
512
  "mutable": false,
@@ -639,7 +639,7 @@ export class LayerTable {
639
639
  const showSearch = this._canShowFullTextSearch();
640
640
  this._validateActiveActions();
641
641
  return (h(Host, { key: '5141283322c3492f26768af0b712df01ebb734ad' }, h("div", { key: '3a1742f91134a896a5cf8298e2359d2370a95b51' }, h("calcite-scrim", { key: 'e50e99752b35ad923bfa2adb005cc004d655c6fb', class: scrimClass, loading: this._queryingData }), h("calcite-shell", { key: '51c5b8cd436c352144f5072ea07f26518b3602f4' }, this._getTableControlRow("header"), h("div", { key: '74ac951ac1a460ed555b70db37d6502585fd702d', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '0afcdaa113b15a7c4a95fb2615f7b8e19bffc5f3', class: "height-full width-full" }, showSearch &&
642
- h("div", { key: 'eae1850675897ebf1f2f34a2c13f9b7e19a5b962', class: "search-container" }, h("calcite-input", { key: 'cde8ce3a6bf1d9da95825fc543c7e3d72643a1f6', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '78beeb6521f065fd4dbbf233f6807acefcc7fa66', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'bc258046891b9d8ca3e6e67fb16b9b7c909f2bbc', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
642
+ h("div", { key: 'eae1850675897ebf1f2f34a2c13f9b7e19a5b962', class: "search-container" }, h("calcite-input", { key: 'cde8ce3a6bf1d9da95825fc543c7e3d72643a1f6', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '78beeb6521f065fd4dbbf233f6807acefcc7fa66', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'bc258046891b9d8ca3e6e67fb16b9b7c909f2bbc', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19", id: "solutions-selected-count-div" }, this._translations.recordsSelected
643
643
  .replace("{{total}}", total)
644
644
  .replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal())));
645
645
  }
@@ -1899,7 +1899,10 @@ export class LayerTable {
1899
1899
  };
1900
1900
  const fields = this._table.columns.toArray().reduce((prev, cur) => {
1901
1901
  if (!cur.hidden) {
1902
- prev.push(cur.name.toLocaleLowerCase());
1902
+ const name = cur?.name || cur?.fieldName;
1903
+ if (name) {
1904
+ prev.push(name.toLocaleLowerCase());
1905
+ }
1903
1906
  }
1904
1907
  return prev;
1905
1908
  }, []);
@@ -25,6 +25,7 @@ const CardManager = /*@__PURE__*/ proxyCustomElement(class CardManager extends H
25
25
  this.featureOrRecordSubmitted = createEvent(this, "featureOrRecordSubmitted", 7);
26
26
  this.customInfoText = undefined;
27
27
  this.enableEditGeometry = false;
28
+ this.enableSnapping = false;
28
29
  this.isMobile = undefined;
29
30
  this.layer = undefined;
30
31
  this.locale = undefined;
@@ -135,14 +136,14 @@ const CardManager = /*@__PURE__*/ proxyCustomElement(class CardManager extends H
135
136
  const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
136
137
  const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
137
138
  const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
138
- return (h(Host, { key: '5557aa4d80b859335e38db3f4255f4a61d00560f' }, h("div", { key: '6756e3314fc3444a982010a3cfa702d77f05f316', class: "overflow-auto height-full" }, h("calcite-shell", { key: '715eb7ed692a1d00347d44f20df370cf9a91ded5', class: "position-relative " + featuresClass }, h("div", { key: 'baf4e97c1884f477e4077a6dc8e59d98c77593a4', class: "position-static z-index-500" }, h("info-card", { key: '0b9b30182fbc3482e9edf49b79f68aec8cf86adc', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, showCloseBtn: true }))), h("calcite-shell", { key: '94b646061956a78dec4f96d9d1d9dedc5ad6aee7', class: "position-relative " + messageClass }, h("calcite-panel", { key: '00b660d474234f8156f3d4c627626f5891754051' }, h("div", { key: 'adb0732ff59c4fdedb19367a32ad9e3e060ddb60', class: "padding-1" }, h("calcite-notice", { key: 'a2c88bd4a0827111b0d1f3056ae571b47e5b380b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: 'bffc2630de3f0376b6ea5827c89f65dc605a5356', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: '08bef5c20d6b60e17abcfc9fc19d7d1eb5d04b1c', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature))), h("calcite-shell", { key: '833a8de60b491008006034c1696fcb29f1bb6a08', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: 'fe3e33e8c733266ac97d85a656aec4cb75d7fa1d', selected: true }, h("calcite-panel", { key: 'e8de18fa82d9a8ba377f02855080ac1e35ce181a', heading: heading }, h("calcite-action", { key: '063ed2e572c64056d20601085012b86980c5d304', 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: 'add0dbef4bca18905717b92ff584d006ebd81ca8', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
139
+ return (h(Host, { key: '803f5130e6f4fa0bf97cfdd2776e176786e736cc' }, h("div", { key: '7c0a756f5de5f536b52d2e9f6629593eb3c85781', class: "overflow-auto height-full" }, h("calcite-shell", { key: '9a6366bba429d5c29a5f1c556d6812f44d28ee2c', class: "position-relative " + featuresClass }, h("div", { key: '61cb9f7942eb209e5e0bd751ab4b5ca026086882', class: "position-static z-index-500" }, h("info-card", { key: '0c3b6f958384dab4bc1db2917a88215bafe330b1', enableEditGeometry: this.enableEditGeometry, enableSnapping: this.enableSnapping, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, showCloseBtn: true }))), h("calcite-shell", { key: 'db9233d29cc88ddc6cb023bcf9e9190ecb721214', class: "position-relative " + messageClass }, h("calcite-panel", { key: '0d1c22a3ad3d2d2a56054b2e8609697987b45ca7' }, h("div", { key: 'cc5f7faa934f474ddca2d0ab74fd46dac240cc6f', class: "padding-1" }, h("calcite-notice", { key: '2c2771696892455fcb1ec24d895cd321a84a8f49', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: '0bbbd13e4e9a7b2240a85b41dbd00fc2a7e39c75', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: '67bac627f68fc6bcda2b1a8965ab6d7fb12d2e4c', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature))), h("calcite-shell", { key: 'cd44af48bb05fd6ac41c0d66bdd9e01826ece1a4', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: '648dfdc4fb559ecbf64ee43791e3d9799c346f1a', selected: true }, h("calcite-panel", { key: '855df56ed576e52c94dbe3cfa8f6d57427a37ba2', heading: heading }, h("calcite-action", { key: '156d1b20da3f02de66879531802aa2d2fb99b1ca', 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: '9b4556876d579a4f2bd02849737cd55b55f87cbd', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
139
140
  }
140
141
  /**
141
142
  * Returns the editor component for adding feature
142
143
  * @returns Node
143
144
  */
144
145
  getEditorComponent() {
145
- return (h("div", null, this._showCreateFeatureComponent && h("create-feature", { customizeSubmit: true, locale: this.locale, mapView: this.mapView, onDrawComplete: () => { this._showSubmitBtn = true; }, onEditingAttachment: (evt) => { this._showSubmitBtn = !evt.detail; }, onProgressStatus: () => {
146
+ return (h("div", null, this._showCreateFeatureComponent && h("create-feature", { customizeSubmit: true, enableSnapping: this.enableSnapping, locale: this.locale, mapView: this.mapView, onDrawComplete: () => { this._showSubmitBtn = true; }, onEditingAttachment: (evt) => { this._showSubmitBtn = !evt.detail; }, onProgressStatus: () => {
146
147
  setTimeout(() => {
147
148
  this._isFeatureCreated = false;
148
149
  }, 2000);
@@ -214,6 +215,7 @@ const CardManager = /*@__PURE__*/ proxyCustomElement(class CardManager extends H
214
215
  }, [0, "card-manager", {
215
216
  "customInfoText": [1, "custom-info-text"],
216
217
  "enableEditGeometry": [4, "enable-edit-geometry"],
218
+ "enableSnapping": [4, "enable-snapping"],
217
219
  "isMobile": [4, "is-mobile"],
218
220
  "layer": [1040],
219
221
  "locale": [1],
@@ -8,7 +8,7 @@ import { l as loadModules } from './loadModules.js';
8
8
  import { a as getAllLayers, g as getLayerOrTable } from './mapViewUtils.js';
9
9
  import { g as getLocaleComponentStrings } from './locale.js';
10
10
 
11
- const createFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}.esri-editor__panel-content{padding-block:0px !important}.esri-editor .esri-item-list__group__header{display:none !important}.esri-editor__panel-content__section .esri-widget__heading{display:none !important}.esri-editor .esri-item-list__filter-container--sticky{padding-block:0px !important;padding-inline:10px !important}.search-widget{width:92% !important;margin:5px 14px 20px 14px}.display-none{display:none !important}.hide-map{height:1%;visibility:hidden}.show-map{padding:10px !important;position:absolute !important;bottom:0;height:auto !important;width:calc(100% - 22px)}.notice-msg{padding:10px;width:calc(100% - 20px)}.esri-editor__panel-content{padding-block:10px !important}@media only screen and (max-width: 600px){.esri-editor__panel-content{padding-block:0 !important;min-height:0 !important}}";
11
+ const createFeatureCss = ":host{display:block}.hide-editor-toolbar .esri-editor__panel-toolbar{display:none !important}.esri-editor__panel-content{padding-block:0px !important}.esri-editor .esri-item-list__group__header{display:none !important}.esri-editor__panel-content__section .esri-widget__heading{display:none !important}.esri-editor .esri-item-list__filter-container--sticky{padding-block:0px !important;padding-inline:10px !important}.search-widget{width:92% !important;margin:5px 14px 20px 14px}.display-none{display:none !important}.hide-map{height:1%;visibility:hidden}.show-map{padding:10px !important;position:absolute !important;bottom:0;height:auto !important;width:calc(100% - 22px)}.notice-msg{padding:10px;width:calc(100% - 20px)}.esri-editor__panel-content{padding-block:10px !important}@media only screen and (max-width: 600px){.esri-editor__panel-content{padding-block:0 !important;min-height:0 !important}}";
12
12
  const CreateFeatureStyle0 = createFeatureCss;
13
13
 
14
14
  const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature extends HTMLElement {
@@ -23,6 +23,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
23
23
  this.modeChanged = createEvent(this, "modeChanged", 7);
24
24
  this.customizeSubmit = false;
25
25
  this.enableSearch = false;
26
+ this.enableSnapping = false;
26
27
  this.floorLevel = undefined;
27
28
  this.formElements = undefined;
28
29
  this.isMobile = undefined;
@@ -283,8 +284,8 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
283
284
  else if (this._currentPage === 'featureForm') {
284
285
  guidingMsg = this._translations.provideDetailsMsg;
285
286
  }
286
- return (h(Fragment, { key: 'cb3462a70e0097e9b4ac9dac3f910fce6d30f8b5' }, showGuidingMsg && h("calcite-notice", { key: 'ddd908ac4b31f60d07de064ec1decae06b3d93bd', class: "notice-msg", icon: "lightbulb", kind: "success", open: true, ref: el => this._calciteNotice = el }, h("div", { key: '3cee10085fa29190d88d3d03d35f726d1b51651b', slot: "message" }, guidingMsg)), h("calcite-loader", { key: 'cf714d63a011712fa03c148c17a8811356e14859', class: loaderClass, label: "", scale: "s" }), h("div", { key: 'e20cb740a1d22795b397af191a26339d709aba0d', class: featureFormClass, id: "feature-form" }), this.enableSearch &&
287
- h("div", { key: 'd2b439d3845b69527fdea2414c7b22078b0af4ea', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref", ref: el => this._searchDiv = el }), h("div", { key: '1f4e39aaaa93f4e2102767c04c5ad256e4f129e2', class: `${mobileMapClass}`, ref: (el) => { this._mapViewContainer = el; } })));
287
+ return (h(Fragment, { key: '07a1a08a5cd9d8c439870a2500922fbd6839dac9' }, showGuidingMsg && h("calcite-notice", { key: '5d846812fc38f9ca4e9bd997f5bc519fe8a4f21e', class: "notice-msg", icon: "lightbulb", kind: "success", open: true, ref: el => this._calciteNotice = el }, h("div", { key: '8ad1da020a728e19e5d2f3add15ec7c5a8bbdd9f', slot: "message" }, guidingMsg)), h("calcite-loader", { key: '39a0843ca8b16e60a7468908eb00d08a15703756', class: loaderClass, label: "", scale: "s" }), h("div", { key: '1ce7ea5afc559adc1b0d8d8d60696bcf5783453b', class: featureFormClass, id: "feature-form" }), this.enableSearch &&
288
+ h("div", { key: 'e2832e4a615051a7d0a6cd29de348ef2d0c65cb9', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref", ref: el => this._searchDiv = el }), h("div", { key: 'a3388a9cf013a7c7155119d12835dc996ec9c947', class: `${mobileMapClass}`, ref: (el) => { this._mapViewContainer = el; } })));
288
289
  }
289
290
  //--------------------------------------------------------------------------
290
291
  //
@@ -363,6 +364,9 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
363
364
  const layerInfos = [];
364
365
  this._container = document.createElement("div");
365
366
  this._container?.classList.add("display-none");
367
+ if (!this.enableSnapping) {
368
+ this._container.classList.add("hide-editor-toolbar");
369
+ }
366
370
  const allMapLayers = await getAllLayers(this._updatedMapView);
367
371
  this._selectedLayer = await getLayerOrTable(this.mapView, this.selectedLayerId);
368
372
  // if layer is selected then only use the layerInfos while initializing the editor widget
@@ -382,7 +386,8 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
382
386
  view: this._updatedMapView,
383
387
  layerInfos: layerInfos,
384
388
  visibleElements: {
385
- snappingControls: false,
389
+ settingsMenu: this.enableSnapping,
390
+ snappingControls: this.enableSnapping,
386
391
  createFeaturesSection: true,
387
392
  editFeaturesSection: false,
388
393
  flow: false
@@ -698,6 +703,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
698
703
  }, [0, "create-feature", {
699
704
  "customizeSubmit": [4, "customize-submit"],
700
705
  "enableSearch": [4, "enable-search"],
706
+ "enableSnapping": [4, "enable-snapping"],
701
707
  "floorLevel": [1, "floor-level"],
702
708
  "formElements": [8, "form-elements"],
703
709
  "isMobile": [4, "is-mobile"],
@@ -7,7 +7,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@sten
7
7
  import { l as loadModules } from './loadModules.js';
8
8
  import { g as getLocaleComponentStrings } from './locale.js';
9
9
 
10
- const createRelatedFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}.display-none{display:none !important}.esri-editor__panel-content{padding-block:10px !important}.notice-msg{padding:10px;width:calc(100% - 20px)}";
10
+ const createRelatedFeatureCss = ":host{display:block}.hide-editor-toolbar .esri-editor__panel-toolbar{display:none !important}.display-none{display:none !important}.esri-editor__panel-content{padding-block:10px !important}.notice-msg{padding:10px;width:calc(100% - 20px)}";
11
11
  const CreateRelatedFeatureStyle0 = createRelatedFeatureCss;
12
12
 
13
13
  const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelatedFeature extends HTMLElement {
@@ -18,12 +18,13 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
18
18
  this.fail = createEvent(this, "fail", 7);
19
19
  this.isActionPending = createEvent(this, "isActionPending", 7);
20
20
  this.formReady = createEvent(this, "formReady", 7);
21
+ this.customizeSubmit = false;
22
+ this.enableSnapping = false;
21
23
  this.locale = undefined;
22
24
  this.mapView = undefined;
23
- this.table = undefined;
24
25
  this.selectedFeature = undefined;
25
- this.customizeSubmit = false;
26
26
  this.showGuidingMsg = true;
27
+ this.table = undefined;
27
28
  this._editorLoading = false;
28
29
  this._translations = undefined;
29
30
  }
@@ -38,23 +39,23 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
38
39
  * The Editor constructor
39
40
  */
40
41
  Editor;
41
- /**
42
- * esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
43
- * The Editor instance
44
- */
45
- _editor;
46
42
  /**
47
43
  * esri/core/reactiveUtils: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html
48
44
  */
49
45
  reactiveUtils;
46
+ /**
47
+ * boolean: Flag to maintain the add attachment
48
+ */
49
+ _addingAttachment;
50
50
  /**
51
51
  * HTMLDivElement: The node the editor will be added to
52
52
  */
53
53
  _container;
54
54
  /**
55
- * boolean: Flag to maintain the add attachment
56
- */
57
- _addingAttachment;
55
+ * esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
56
+ * The Editor instance
57
+ */
58
+ _editor;
58
59
  /**
59
60
  * boolean: Flag to maintain form submission using submit button
60
61
  */
@@ -162,7 +163,7 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
162
163
  }
163
164
  render() {
164
165
  const loaderClass = this._editorLoading ? "" : "display-none";
165
- return (h(Fragment, { key: '261308f81b5bbed3e136efbb2100db9c1e5994a4' }, this.showGuidingMsg && h("calcite-notice", { key: '3aca1d3f48e46208ce07f2ccdd76ac4af752162d', class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { key: 'f449d7dcde1cc75bf7470a75ae0ce915ef457459', slot: "message" }, this._translations.provideDetailsMsg)), h("calcite-loader", { key: 'e94e971b96ddba0ab36f27ffd4e37b820bb2432f', class: loaderClass, label: "", scale: "s" })));
166
+ return (h(Fragment, { key: '5251d18b13ed90499cd960305773b6fb04efd4db' }, this.showGuidingMsg && h("calcite-notice", { key: '9f2902f8dab476734d3a70fad4e5cc7996f721a8', class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { key: '650f56b689cde544c96e24a966da7283efcdfcbe', slot: "message" }, this._translations.provideDetailsMsg)), h("calcite-loader", { key: 'be4c67978909e7dcf18fe8dece831b8830dee5d1', class: loaderClass, label: "", scale: "s" })));
166
167
  }
167
168
  /**
168
169
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -188,11 +189,15 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
188
189
  }
189
190
  this._container = document.createElement("div");
190
191
  this._container?.classList.add("display-none");
192
+ if (!this.enableSnapping) {
193
+ this._container.classList.add("hide-editor-toolbar");
194
+ }
191
195
  this._editor = new this.Editor({
192
196
  view: this.mapView,
193
197
  visibleElements: {
194
198
  flow: true,
195
- snappingControls: false
199
+ settingsMenu: this.enableSnapping,
200
+ snappingControls: this.enableSnapping,
196
201
  },
197
202
  container: this._container
198
203
  });
@@ -356,12 +361,13 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
356
361
  }; }
357
362
  static get style() { return CreateRelatedFeatureStyle0; }
358
363
  }, [0, "create-related-feature", {
364
+ "customizeSubmit": [4, "customize-submit"],
365
+ "enableSnapping": [4, "enable-snapping"],
359
366
  "locale": [1],
360
367
  "mapView": [16],
361
- "table": [16],
362
368
  "selectedFeature": [16],
363
- "customizeSubmit": [4, "customize-submit"],
364
369
  "showGuidingMsg": [4, "show-guiding-msg"],
370
+ "table": [16],
365
371
  "_editorLoading": [32],
366
372
  "_translations": [32],
367
373
  "submit": [64]
@@ -59,6 +59,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
59
59
  this.enableLegend = true;
60
60
  this.enableSearch = true;
61
61
  this.enableShare = false;
62
+ this.enableSnapping = true;
62
63
  this.enableZoom = true;
63
64
  this.locale = undefined;
64
65
  this.mapInfos = [];
@@ -283,7 +284,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
283
284
  render() {
284
285
  // only avoid border when we have a header color that is not white
285
286
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
286
- return (h(Host, { key: '4ec349cf53a543077a3b938d5dad2e767f533181' }, h("calcite-shell", { key: '08c56e11ff814419aeb7295bba240b0e96856cae', class: "position-relative" }, h("calcite-panel", { key: 'aac7ff804b7e98f3b5d1b11dbc5ee8e18c9467ca', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal(), this._deleteModal()));
287
+ return (h(Host, { key: '1d30ec71032cffd61c016cc846f59a8e437253de' }, h("calcite-shell", { key: '836f6e8cde7c3e5b177803b607e26a41bdea42a3', class: "position-relative" }, h("calcite-panel", { key: '0c968ccf6d19aa754b56dc5a3714e3b6f44dcac9', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal(), this._deleteModal()));
287
288
  }
288
289
  /**
289
290
  * Called after each render
@@ -514,7 +515,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
514
515
  const isTableLayout = this.appLayout === 'tableView';
515
516
  const cardManagerHeight = isTableLayout && this.mapInfos?.length > 1 ? "adjusted-height-100-51" : isMapLayout || isTableLayout ? "height-full" : (this._numSelected > 0 && !this._isMobile) ? "height-50" : !this._showInformationHeader ? "adjusted-height-50_25" : !this._isPortraitMobile ? "height-50" : "height-full";
516
517
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
517
- return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, isMobile: this._isPortraitMobile, layer: this._layer, locale: this.locale, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
518
+ return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, enableSnapping: this.enableSnapping, isMobile: this._isPortraitMobile, layer: this._layer, locale: this.locale, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
518
519
  this._showInformationHeader = true;
519
520
  }, onCreateWorkFlowStarted: () => {
520
521
  this.appLayout = this._layer.isTable ? "tableView" : "mapView";
@@ -802,6 +803,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
802
803
  "enableLegend": [4, "enable-legend"],
803
804
  "enableSearch": [4, "enable-search"],
804
805
  "enableShare": [4, "enable-share"],
806
+ "enableSnapping": [4, "enable-snapping"],
805
807
  "enableZoom": [4, "enable-zoom"],
806
808
  "locale": [1],
807
809
  "mapInfos": [16],
@@ -40,6 +40,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
40
40
  this.enableLogin = undefined;
41
41
  this.enableNewReports = undefined;
42
42
  this.enableSearch = true;
43
+ this.enableSnapping = false;
43
44
  this.enableZoom = true;
44
45
  this.isMobile = undefined;
45
46
  this.layerExpressions = [];
@@ -388,7 +389,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
388
389
  */
389
390
  render() {
390
391
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
391
- return (h(Host, { key: 'e9a4807ce84ddb099c3f25f562b03c178b69d91f' }, this._reportSubmitted && h("calcite-alert", { key: '4eb1a05f3bdb3abb65d34a59e7452b1cbb2aa011', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: 'b6b1cb628e7a6695230e11c0320a60eb7ac8c77e', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '3e5b98d155cb91950989229c54b58166d4072ba9', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '3ec867d92d44fc808415dbcf11cc0d4f64410ca1', slot: "title" }, this._translations.error), h("div", { key: 'b08a281438504605b23236622decfc632f5e980b', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '700ce59b43b4bcf5b3b5f269a05b7916aab03119', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: 'e3a853126b97fe73275b2908b7735dae0d8bacc4', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: 'af903aa26896dfbbe1deeac12aee1a6777e2c352', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: 'c88a104fbe9f0266c77c25a7067cfd4836e4ac81', slot: "title" }, this._translations.error), h("div", { key: 'a34b0543199de865a65ae426e49aa3cd13128126', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '0bf41b76dcd6e0c6c26b7e4ac03b2a6a100aacfb' }, h("calcite-shell", { key: '0e7c0a7f15a15677c73ea8a087f77332b34583cc', "content-behind": true }, this._getReporter())), this.isMobile && this.filterModal()));
392
+ return (h(Host, { key: '11cf5f3a1674460c6ab9d2979d621417431e7130' }, this._reportSubmitted && h("calcite-alert", { key: 'ab40068608e235cbbeda293d62f501c1bcc2a123', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '91e436fa80c41457465f0816b66e205793f5a91d', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '6dbcd02898e6328f343af94985f069d8261dce1f', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: 'fc97e5f02b5241af076243b7fa8bb19f29c3dad6', slot: "title" }, this._translations.error), h("div", { key: '9583f6bd62f2a36c50e8309a353dd634300aa835', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '0d216fc75481b249ee63468b2c0145ed7f09d09e', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '700a788d9f0f12200bee0625576571a8c352a6a1', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '28ef0e56c42d3d366e33374368461eba9bb5e896', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '90e8757ee650b3f55c456d0fd56a45dac6df263e', slot: "title" }, this._translations.error), h("div", { key: 'b819d951be7340af388767b40e423a279b33ea85', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '167d0cb576feaaa77279110ab40df63e1a6146ae' }, h("calcite-shell", { key: 'b4d83790aa3a47a9c336821c54bc3e0fa1d9e308', "content-behind": true }, this._getReporter())), this.isMobile && this.filterModal()));
392
393
  }
393
394
  //--------------------------------------------------------------------------
394
395
  //
@@ -572,7 +573,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
572
573
  * @protected
573
574
  */
574
575
  getFeatureCreateFlowItem() {
575
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-create" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId, submitNewReportsMessage: this.submitNewReportsMessage }))));
576
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-create" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, enableSnapping: this.enableSnapping, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId, submitNewReportsMessage: this.submitNewReportsMessage }))));
576
577
  }
577
578
  /**
578
579
  * Update the progress bar status when editor panel changes
@@ -740,7 +741,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
740
741
  * @protected
741
742
  */
742
743
  async layerListLoaded(evt) {
743
- // Check if user is present on the layer panel or if first component is feature list then only allow to store the non-reporting valid layers to avoid the feature visbility issue on map
744
+ // Check if user is present on the layer panel or if first component is feature list then only allow to store the non-reporting valid layers to avoid the feature visbility issue on map
744
745
  const presentOnLayerListPanel = this._layerList && this._flowItems[this._flowItems.length - 1] === "layer-list" || this._flowItems[0] === "feature-list";
745
746
  if (presentOnLayerListPanel) {
746
747
  const layersListed = evt.detail;
@@ -940,7 +941,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
940
941
  */
941
942
  getFeatureDetailsFlowItem() {
942
943
  const showCommentBtn = this._getLayersConfig(this._selectedLayerId)?.comment && this._selectedLayer.relationships.length > 0 && this._relatedTable;
943
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showFullCommentTitle: this.showFullCommentTitle, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
944
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', enableSnapping: this.enableSnapping, graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showFullCommentTitle: this.showFullCommentTitle, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
944
945
  h("calcite-button", { appearance: "solid", onClick: this.showAddCommentsPanel.bind(this), slot: "footer", width: "full" }, this.commentButtonText || this._translations.comment))));
945
946
  }
946
947
  /**
@@ -956,14 +957,14 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
956
957
  * @returns Node
957
958
  */
958
959
  getCommentDetailsFlowItem() {
959
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "comment-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
960
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "comment-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, enableSnapping: this.enableSnapping, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
960
961
  }
961
962
  /**
962
963
  * Returns the calcite-flow item for add comment
963
964
  * @returns Node
964
965
  */
965
966
  getAddCommentFlowItem() {
966
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "add-comment" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
967
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "add-comment" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, enableSnapping: this.enableSnapping, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
967
968
  }
968
969
  /**
969
970
  * Sets the selected features and updates the first feature as the current selected feature
@@ -1458,6 +1459,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
1458
1459
  "enableLogin": [4, "enable-login"],
1459
1460
  "enableNewReports": [4, "enable-new-reports"],
1460
1461
  "enableSearch": [4, "enable-search"],
1462
+ "enableSnapping": [4, "enable-snapping"],
1461
1463
  "enableZoom": [4, "enable-zoom"],
1462
1464
  "isMobile": [4, "is-mobile"],
1463
1465
  "layerExpressions": [16],