@esri/solutions-components 0.4.12 → 0.5.1

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 (46) hide show
  1. package/dist/cjs/buffer-tools_6.cjs.entry.js +6 -9
  2. package/dist/cjs/calcite-combobox_3.cjs.entry.js +1 -1
  3. package/dist/cjs/calcite-input-message_5.cjs.entry.js +17 -15
  4. package/dist/cjs/{downloadUtils-415ab342.js → downloadUtils-b85476e8.js} +2 -2
  5. package/dist/cjs/{index.es-98008aa0.js → index.es-3ba50626.js} +2 -2
  6. package/dist/cjs/layer-table.cjs.entry.js +2 -2
  7. package/dist/cjs/loader.cjs.js +30 -30
  8. package/dist/cjs/{mapViewUtils-f617ae9a.js → mapViewUtils-df63bfa4.js} +2 -2
  9. package/dist/cjs/public-notification.cjs.entry.js +112 -4
  10. package/dist/cjs/solutions-components.cjs.js +31 -31
  11. package/dist/collection/components/map-draw-tools/map-draw-tools.js +5 -8
  12. package/dist/collection/components/map-select-tools/map-select-tools.js +74 -14
  13. package/dist/collection/components/public-notification/public-notification.js +180 -3
  14. package/dist/collection/utils/queryUtils.js +2 -2
  15. package/dist/collection/utils/queryUtils.ts +2 -2
  16. package/dist/components/map-draw-tools2.js +20 -23
  17. package/dist/components/map-select-tools2.js +55 -50
  18. package/dist/components/public-notification.js +171 -60
  19. package/dist/components/queryUtils.js +2 -2
  20. package/dist/esm/buffer-tools_6.entry.js +6 -9
  21. package/dist/esm/calcite-combobox_3.entry.js +1 -1
  22. package/dist/esm/calcite-input-message_5.entry.js +17 -15
  23. package/dist/esm/{downloadUtils-606b0f0e.js → downloadUtils-f278742f.js} +2 -2
  24. package/dist/esm/{index.es-c736c805.js → index.es-6f3a1143.js} +2 -2
  25. package/dist/esm/layer-table.entry.js +2 -2
  26. package/dist/esm/loader.js +26 -26
  27. package/dist/esm/{mapViewUtils-4e945e07.js → mapViewUtils-bd1809f0.js} +2 -2
  28. package/dist/esm/public-notification.entry.js +112 -4
  29. package/dist/esm/solutions-components.js +26 -26
  30. package/dist/solutions-components/{p-72117a18.js → p-03e2c6fd.js} +1 -1
  31. package/dist/solutions-components/{p-5ee7b022.entry.js → p-045d3988.entry.js} +1 -1
  32. package/dist/solutions-components/{p-6a657ff6.js → p-40c12650.js} +2 -2
  33. package/dist/solutions-components/p-70e1d4d8.entry.js +17 -0
  34. package/dist/solutions-components/p-88e5a76d.js +36 -0
  35. package/dist/solutions-components/p-bc39f296.entry.js +6 -0
  36. package/dist/solutions-components/{p-84bbaebf.entry.js → p-c93d8e80.entry.js} +1 -1
  37. package/dist/solutions-components/{p-570b076b.entry.js → p-cbac29fb.entry.js} +2 -2
  38. package/dist/solutions-components/solutions-components.esm.js +1 -1
  39. package/dist/solutions-components/utils/queryUtils.ts +2 -2
  40. package/dist/types/components/map-select-tools/map-select-tools.d.ts +16 -1
  41. package/dist/types/components/public-notification/public-notification.d.ts +70 -0
  42. package/dist/types/components.d.ts +1601 -1553
  43. package/package.json +1 -1
  44. package/dist/solutions-components/p-308e24cc.entry.js +0 -6
  45. package/dist/solutions-components/p-88e28de2.js +0 -36
  46. package/dist/solutions-components/p-ac76d270.entry.js +0 -17
@@ -1,37 +1,37 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
- import { l as loadModules } from './loadModules.js';
8
- import { g as goToSelection, h as highlightFeatures, d as defineCustomElement$2 } from './map-layer-picker2.js';
9
- import { b as queryObjectIds, c as getQueryGeoms } from './queryUtils.js';
10
- import { c as EWorkflowType, e as ESelectionMode, f as ERefineMode, b as ESketchType } from './interfaces3.js';
11
- import { s as state } from './publicNotificationStore.js';
12
- import { g as getLocaleComponentStrings } from './locale.js';
13
- import { d as defineCustomElement$k } from './buffer-tools2.js';
14
- import { d as defineCustomElement$j } from './action.js';
15
- import { d as defineCustomElement$i } from './checkbox.js';
16
- import { d as defineCustomElement$h } from './chip.js';
17
- import { d as defineCustomElement$g } from './combobox.js';
18
- import { d as defineCustomElement$f } from './combobox-item.js';
19
- import { d as defineCustomElement$e } from './graph.js';
20
- import { d as defineCustomElement$d } from './icon.js';
21
- import { d as defineCustomElement$c } from './input.js';
22
- import { d as defineCustomElement$b } from './label.js';
23
- import { d as defineCustomElement$a } from './loader.js';
24
- import { d as defineCustomElement$9 } from './option.js';
25
- import { d as defineCustomElement$8 } from './progress.js';
26
- import { d as defineCustomElement$7 } from './radio-group.js';
27
- import { d as defineCustomElement$6 } from './radio-group-item.js';
28
- import { d as defineCustomElement$5 } from './select.js';
29
- import { d as defineCustomElement$4 } from './slider.js';
30
- import { d as defineCustomElement$3 } from './map-draw-tools2.js';
31
- import { d as defineCustomElement$1 } from './refine-selection-tools2.js';
32
-
33
- const mapSelectToolsCss = ":host{display:block}.div-visible{display:inherit}.div-visible-search{display:flex;height:44px;align-items:center;padding-bottom:0}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.search-widget{width:100% !important;border:1px solid var(--calcite-ui-border-input)}.w-100{width:100%}.w-50{width:50%}.search-distance-container{padding-top:\"1rem\" !important}.end-border{-webkit-border-end:1px solid var(--calcite-ui-border-2);border-inline-end:1px solid var(--calcite-ui-border-2)}.search-distance{display:flex;padding-top:1rem}";
34
-
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
+ import { l as loadModules } from './loadModules.js';
8
+ import { g as goToSelection, h as highlightFeatures, d as defineCustomElement$2 } from './map-layer-picker2.js';
9
+ import { b as queryObjectIds, c as getQueryGeoms } from './queryUtils.js';
10
+ import { c as EWorkflowType, e as ESelectionMode, f as ERefineMode, b as ESketchType } from './interfaces3.js';
11
+ import { s as state } from './publicNotificationStore.js';
12
+ import { g as getLocaleComponentStrings } from './locale.js';
13
+ import { d as defineCustomElement$k } from './buffer-tools2.js';
14
+ import { d as defineCustomElement$j } from './action.js';
15
+ import { d as defineCustomElement$i } from './checkbox.js';
16
+ import { d as defineCustomElement$h } from './chip.js';
17
+ import { d as defineCustomElement$g } from './combobox.js';
18
+ import { d as defineCustomElement$f } from './combobox-item.js';
19
+ import { d as defineCustomElement$e } from './graph.js';
20
+ import { d as defineCustomElement$d } from './icon.js';
21
+ import { d as defineCustomElement$c } from './input.js';
22
+ import { d as defineCustomElement$b } from './label.js';
23
+ import { d as defineCustomElement$a } from './loader.js';
24
+ import { d as defineCustomElement$9 } from './option.js';
25
+ import { d as defineCustomElement$8 } from './progress.js';
26
+ import { d as defineCustomElement$7 } from './radio-group.js';
27
+ import { d as defineCustomElement$6 } from './radio-group-item.js';
28
+ import { d as defineCustomElement$5 } from './select.js';
29
+ import { d as defineCustomElement$4 } from './slider.js';
30
+ import { d as defineCustomElement$3 } from './map-draw-tools2.js';
31
+ import { d as defineCustomElement$1 } from './refine-selection-tools2.js';
32
+
33
+ const mapSelectToolsCss = ":host{display:block}.div-visible{display:inherit}.div-visible-search{display:flex;height:44px;align-items:center;padding-bottom:0}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.search-widget{width:100% !important;border:1px solid var(--calcite-ui-border-input)}.w-100{width:100%}.w-50{width:50%}.search-distance-container{padding-top:\"1rem\" !important}.end-border{-webkit-border-end:1px solid var(--calcite-ui-border-2);border-inline-end:1px solid var(--calcite-ui-border-2)}.search-distance{display:flex;padding-top:1rem}";
34
+
35
35
  const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
36
36
  constructor() {
37
37
  super();
@@ -53,13 +53,16 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
53
53
  this.enabledLayerIds = [];
54
54
  this.defaultBufferDistance = undefined;
55
55
  this.defaultBufferUnit = undefined;
56
- this.geometries = undefined;
56
+ this.geometries = [];
57
57
  this.isUpdate = false;
58
58
  this.mapView = undefined;
59
59
  this.searchConfiguration = undefined;
60
60
  this.selectionSet = undefined;
61
61
  this.selectLayerView = undefined;
62
62
  this.showBufferTools = true;
63
+ this.sketchLineSymbol = undefined;
64
+ this.sketchPointSymbol = undefined;
65
+ this.sketchPolygonSymbol = undefined;
63
66
  this._layerSelectChecked = undefined;
64
67
  this._searchTerm = undefined;
65
68
  this._translations = undefined;
@@ -206,7 +209,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
206
209
  const useDrawClass = !this._layerSelectChecked && !searchEnabled ? " div-visible" : " div-not-visible";
207
210
  const showLayerChoiceClass = searchEnabled ? "div-not-visible" : "div-visible";
208
211
  const bufferDistance = typeof ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) === "number" ? this.selectionSet.distance : this.defaultBufferDistance;
209
- return (h(Host, null, h("div", { class: "padding-bottom-1" }, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._workflowChange(evt) }, h("calcite-radio-group-item", { checked: searchEnabled, class: "w-50 end-border", value: EWorkflowType.SEARCH }, this._translations.search), h("calcite-radio-group-item", { checked: drawEnabled, class: "w-50", value: EWorkflowType.SKETCH }, this._translations.sketch))), h("div", { class: showSearchClass }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })), h("div", { class: showLayerChoiceClass }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { checked: this._layerSelectChecked, onCalciteCheckboxChange: () => this._layerSelectChanged(), ref: (el) => this._selectFromLayerElement = el }), "Use layer features")), h("div", { class: useDrawClass }, h("map-draw-tools", { active: true, border: true, mapView: this.mapView, ref: (el) => { this._drawTools = el; } })), h("div", { class: useSelectClass }, h("refine-selection-tools", { active: true, border: true, enabledLayerIds: this.enabledLayerIds, layerView: this.selectLayerView, layerViews: this._refineSelectLayers, mapView: this.mapView, mode: ESelectionMode.ADD, ref: (el) => { this._refineTools = el; }, refineMode: ERefineMode.SUBSET })), h("calcite-label", { class: showBufferToolsClass }, this._translations.searchDistance, h("buffer-tools", { distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit })), h("slot", null)));
212
+ return (h(Host, null, h("div", { class: "padding-bottom-1" }, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._workflowChange(evt) }, h("calcite-radio-group-item", { checked: searchEnabled, class: "w-50 end-border", value: EWorkflowType.SEARCH }, this._translations.search), h("calcite-radio-group-item", { checked: drawEnabled, class: "w-50", value: EWorkflowType.SKETCH }, this._translations.sketch))), h("div", { class: showSearchClass }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })), h("div", { class: showLayerChoiceClass }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { checked: this._layerSelectChecked, onCalciteCheckboxChange: () => this._layerSelectChanged(), ref: (el) => this._selectFromLayerElement = el }), "Use layer features")), h("div", { class: useDrawClass }, h("map-draw-tools", { active: true, border: true, mapView: this.mapView, pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, ref: (el) => { this._drawTools = el; } })), h("div", { class: useSelectClass }, h("refine-selection-tools", { active: true, border: true, enabledLayerIds: this.enabledLayerIds, layerView: this.selectLayerView, layerViews: this._refineSelectLayers, mapView: this.mapView, mode: ESelectionMode.ADD, ref: (el) => { this._refineTools = el; }, refineMode: ERefineMode.SUBSET })), h("calcite-label", { class: showBufferToolsClass }, this._translations.searchDistance, h("buffer-tools", { distance: bufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit })), h("slot", null)));
210
213
  }
211
214
  //--------------------------------------------------------------------------
212
215
  //
@@ -241,7 +244,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
241
244
  */
242
245
  async _init() {
243
246
  this._initGraphicsLayer();
244
- this._initSelectionSet();
247
+ await this._initSelectionSet();
245
248
  this._initSearchWidget();
246
249
  }
247
250
  /**
@@ -249,7 +252,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
249
252
  *
250
253
  * @protected
251
254
  */
252
- _initSelectionSet() {
255
+ async _initSelectionSet() {
253
256
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
254
257
  if (this.selectionSet) {
255
258
  this._searchTerm = (_b = (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.searchResult) === null || _b === void 0 ? void 0 : _b.name;
@@ -264,7 +267,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
264
267
  ];
265
268
  // reset selection label base
266
269
  this._selectionLabel = ((_k = this.selectionSet) === null || _k === void 0 ? void 0 : _k.label) || this._getSelectionBaseLabel();
267
- void goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
270
+ await goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);
268
271
  }
269
272
  else {
270
273
  this._workflowType = EWorkflowType.SEARCH;
@@ -440,17 +443,16 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
440
443
  this.selectionLoadingChange.emit(false);
441
444
  // Add geometries used for selecting features as graphics
442
445
  this._drawTools.graphics = this.geometries.map(geom => {
443
- var _a, _b, _c;
444
446
  const props = {
445
447
  "geometry": geom,
446
448
  "symbol": geom.type === "point" ?
447
- (_a = this._drawTools) === null || _a === void 0 ? void 0 : _a.pointSymbol : geom.type === "polyline" ?
448
- (_b = this._drawTools) === null || _b === void 0 ? void 0 : _b.polylineSymbol : geom.type === "polygon" ?
449
- (_c = this._drawTools) === null || _c === void 0 ? void 0 : _c.polygonSymbol : undefined
449
+ this.sketchPointSymbol : geom.type === "polyline" ?
450
+ this.sketchLineSymbol : geom.type === "polygon" ?
451
+ this.sketchPolygonSymbol : undefined
450
452
  };
451
453
  return new this.Graphic(props);
452
454
  });
453
- void this._highlightFeatures(this._selectedIds);
455
+ await this._highlightFeatures(this._selectedIds);
454
456
  }
455
457
  /**
456
458
  * Query the selectLayerView based on any user drawn geometries or buffers
@@ -479,8 +481,8 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
479
481
  });
480
482
  this._bufferGraphicsLayer.removeAll();
481
483
  this._bufferGraphicsLayer.add(polygonGraphic);
482
- void this._selectFeatures([this._bufferGeometry]);
483
- void this.mapView.goTo(polygonGraphic.geometry.extent);
484
+ await this._selectFeatures([this._bufferGeometry]);
485
+ await this.mapView.goTo(polygonGraphic.geometry.extent);
484
486
  }
485
487
  else {
486
488
  if (this._bufferGraphicsLayer) {
@@ -524,7 +526,7 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
524
526
  // for sketch
525
527
  // checking for clear as it would throw off tests
526
528
  if ((_b = this._drawTools) === null || _b === void 0 ? void 0 : _b.clear) {
527
- void this._drawTools.clear();
529
+ await this._drawTools.clear();
528
530
  }
529
531
  this.selectionSetChange.emit(this._selectedIds.length);
530
532
  }
@@ -576,6 +578,9 @@ const MapSelectTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
576
578
  "selectionSet": [16],
577
579
  "selectLayerView": [16],
578
580
  "showBufferTools": [4, "show-buffer-tools"],
581
+ "sketchLineSymbol": [16],
582
+ "sketchPointSymbol": [16],
583
+ "sketchPolygonSymbol": [16],
579
584
  "_layerSelectChecked": [32],
580
585
  "_searchTerm": [32],
581
586
  "_translations": [32],
@@ -696,6 +701,6 @@ function defineCustomElement() {
696
701
  break;
697
702
  } });
698
703
  }
699
- defineCustomElement();
700
-
701
- export { MapSelectTools as M, defineCustomElement as d };
704
+ defineCustomElement();
705
+
706
+ export { MapSelectTools as M, defineCustomElement as d };
@@ -1,54 +1,54 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
- import { a as EPageType, b as ESketchType, c as EWorkflowType, d as EExportType } from './interfaces3.js';
8
- import { l as loadModules } from './loadModules.js';
9
- import { a as getMapLayerView, g as goToSelection, h as highlightFeatures, d as defineCustomElement$6 } from './map-layer-picker2.js';
10
- import { g as getSelectionSetQuery } from './queryUtils.js';
11
- import { s as state } from './publicNotificationStore.js';
12
- import { a as getComponentClosestLanguage, g as getLocaleComponentStrings } from './locale.js';
13
- import { g as getTotal, a as getSelectionIds, d as defineCustomElement$3 } from './refine-selection2.js';
14
- import { d as defineCustomElement$C } from './buffer-tools2.js';
15
- import { d as defineCustomElement$B } from './action.js';
16
- import { d as defineCustomElement$A } from './action-bar.js';
17
- import { d as defineCustomElement$z } from './action-group.js';
18
- import { d as defineCustomElement$y } from './action-menu.js';
19
- import { d as defineCustomElement$x } from './button.js';
20
- import { d as defineCustomElement$w } from './checkbox.js';
21
- import { d as defineCustomElement$v } from './chip.js';
22
- import { d as defineCustomElement$u } from './combobox.js';
23
- import { d as defineCustomElement$t } from './combobox-item.js';
24
- import { d as defineCustomElement$s } from './graph.js';
25
- import { d as defineCustomElement$r } from './icon.js';
26
- import { d as defineCustomElement$q } from './input.js';
27
- import { d as defineCustomElement$p } from './input-message.js';
28
- import { d as defineCustomElement$o } from './label.js';
29
- import { d as defineCustomElement$n } from './list.js';
30
- import { d as defineCustomElement$m } from './list-item2.js';
31
- import { d as defineCustomElement$l } from './loader.js';
32
- import { d as defineCustomElement$k } from './modal.js';
33
- import { d as defineCustomElement$j } from './notice.js';
34
- import { d as defineCustomElement$i } from './option.js';
35
- import { d as defineCustomElement$h } from './panel.js';
36
- import { d as defineCustomElement$g } from './popover.js';
37
- import { d as defineCustomElement$f } from './progress.js';
38
- import { d as defineCustomElement$e } from './radio-group.js';
39
- import { d as defineCustomElement$d } from './radio-group-item.js';
40
- import { d as defineCustomElement$c } from './scrim.js';
41
- import { d as defineCustomElement$b } from './select.js';
42
- import { d as defineCustomElement$a } from './shell.js';
43
- import { d as defineCustomElement$9 } from './slider.js';
44
- import { d as defineCustomElement$8 } from './tooltip.js';
45
- import { d as defineCustomElement$7 } from './map-draw-tools2.js';
46
- import { d as defineCustomElement$5 } from './map-select-tools2.js';
47
- import { d as defineCustomElement$4 } from './pdf-download2.js';
48
- import { d as defineCustomElement$2 } from './refine-selection-tools2.js';
49
-
50
- const publicNotificationCss = ":host{display:block;--calcite-input-message-spacing-value:0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-3{width:33.3%}.w-1-4{width:25%}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-top-sides-1{-webkit-padding-before:1rem;padding-block-start:1rem;-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-sides-1{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-end-1-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.padding-top-1-2{-webkit-padding-before:.5rem;padding-block-start:.5rem}.padding-top-1{padding-top:1rem}.padding-bottom-1{padding-bottom:1rem}.info-blue{color:#00A0FF}.info-message{justify-content:center;display:grid}.font-bold{font-weight:bold}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.main-label{float:left}html[dir=\"rtl\"] .main-label{float:right}.back-label:hover{cursor:pointer;color:var(--calcite-ui-brand-hover)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.margin-side-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.border-top{border-top:1px solid var(--calcite-ui-border-2)}.w-100{width:100%}.w-50{width:50%}.padding-1-2{padding:0.5rem}.list-border{border:1px solid var(--calcite-ui-border-2)}.margin-sides-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.margin-start-1-2{-webkit-margin-start:0.5rem;margin-inline-start:0.5rem}.float-right{float:right}.float-right[dir=\"rtl\"]{float:left}.float-left{float:left}.float-left[dir=\"rtl\"]{float:right}.margin-top-0{-webkit-margin-before:0 !important;margin-block-start:0 !important}.height-1-1-2{height:1.5rem}.main-background{background-color:var(--calcite-ui-foreground-2)}.num-selected{align-items:center;display:flex}";
51
-
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
7
+ import { a as EPageType, b as ESketchType, c as EWorkflowType, d as EExportType } from './interfaces3.js';
8
+ import { l as loadModules } from './loadModules.js';
9
+ import { a as getMapLayerView, g as goToSelection, h as highlightFeatures, d as defineCustomElement$6 } from './map-layer-picker2.js';
10
+ import { g as getSelectionSetQuery } from './queryUtils.js';
11
+ import { s as state } from './publicNotificationStore.js';
12
+ import { a as getComponentClosestLanguage, g as getLocaleComponentStrings } from './locale.js';
13
+ import { g as getTotal, a as getSelectionIds, d as defineCustomElement$3 } from './refine-selection2.js';
14
+ import { d as defineCustomElement$C } from './buffer-tools2.js';
15
+ import { d as defineCustomElement$B } from './action.js';
16
+ import { d as defineCustomElement$A } from './action-bar.js';
17
+ import { d as defineCustomElement$z } from './action-group.js';
18
+ import { d as defineCustomElement$y } from './action-menu.js';
19
+ import { d as defineCustomElement$x } from './button.js';
20
+ import { d as defineCustomElement$w } from './checkbox.js';
21
+ import { d as defineCustomElement$v } from './chip.js';
22
+ import { d as defineCustomElement$u } from './combobox.js';
23
+ import { d as defineCustomElement$t } from './combobox-item.js';
24
+ import { d as defineCustomElement$s } from './graph.js';
25
+ import { d as defineCustomElement$r } from './icon.js';
26
+ import { d as defineCustomElement$q } from './input.js';
27
+ import { d as defineCustomElement$p } from './input-message.js';
28
+ import { d as defineCustomElement$o } from './label.js';
29
+ import { d as defineCustomElement$n } from './list.js';
30
+ import { d as defineCustomElement$m } from './list-item2.js';
31
+ import { d as defineCustomElement$l } from './loader.js';
32
+ import { d as defineCustomElement$k } from './modal.js';
33
+ import { d as defineCustomElement$j } from './notice.js';
34
+ import { d as defineCustomElement$i } from './option.js';
35
+ import { d as defineCustomElement$h } from './panel.js';
36
+ import { d as defineCustomElement$g } from './popover.js';
37
+ import { d as defineCustomElement$f } from './progress.js';
38
+ import { d as defineCustomElement$e } from './radio-group.js';
39
+ import { d as defineCustomElement$d } from './radio-group-item.js';
40
+ import { d as defineCustomElement$c } from './scrim.js';
41
+ import { d as defineCustomElement$b } from './select.js';
42
+ import { d as defineCustomElement$a } from './shell.js';
43
+ import { d as defineCustomElement$9 } from './slider.js';
44
+ import { d as defineCustomElement$8 } from './tooltip.js';
45
+ import { d as defineCustomElement$7 } from './map-draw-tools2.js';
46
+ import { d as defineCustomElement$5 } from './map-select-tools2.js';
47
+ import { d as defineCustomElement$4 } from './pdf-download2.js';
48
+ import { d as defineCustomElement$2 } from './refine-selection-tools2.js';
49
+
50
+ const publicNotificationCss = ":host{display:block;--calcite-input-message-spacing-value:0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-3{width:33.3%}.w-1-4{width:25%}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-top-sides-1{-webkit-padding-before:1rem;padding-block-start:1rem;-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-sides-1{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem}.padding-end-1-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.padding-top-1-2{-webkit-padding-before:.5rem;padding-block-start:.5rem}.padding-top-1{padding-top:1rem}.padding-bottom-1{padding-bottom:1rem}.info-blue{color:#00A0FF}.info-message{justify-content:center;display:grid}.font-bold{font-weight:bold}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.main-label{float:left}html[dir=\"rtl\"] .main-label{float:right}.back-label:hover{cursor:pointer;color:var(--calcite-ui-brand-hover)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.margin-side-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.border-top{border-top:1px solid var(--calcite-ui-border-2)}.w-100{width:100%}.w-50{width:50%}.padding-1-2{padding:0.5rem}.list-border{border:1px solid var(--calcite-ui-border-2)}.margin-sides-1{-webkit-margin-start:1rem;margin-inline-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.margin-start-1-2{-webkit-margin-start:0.5rem;margin-inline-start:0.5rem}.float-right{float:right}.float-right[dir=\"rtl\"]{float:left}.float-left{float:left}.float-left[dir=\"rtl\"]{float:right}.margin-top-0{-webkit-margin-before:0 !important;margin-block-start:0 !important}.height-1-1-2{height:1.5rem}.main-background{background-color:var(--calcite-ui-foreground-2)}.num-selected{align-items:center;display:flex}";
51
+
52
52
  const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
53
53
  constructor() {
54
54
  super();
@@ -69,6 +69,9 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
69
69
  this.selectionLayerIds = [];
70
70
  this.showRefineSelection = false;
71
71
  this.showSearchSettings = true;
72
+ this.sketchLineSymbol = undefined;
73
+ this.sketchPointSymbol = undefined;
74
+ this.sketchPolygonSymbol = undefined;
72
75
  this.addresseeLayer = undefined;
73
76
  this._downloadActive = true;
74
77
  this._numSelected = 0;
@@ -104,6 +107,9 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
104
107
  if (s_newValue !== JSON.stringify(oldValue)) {
105
108
  this._searchConfiguration = JSON.parse(s_newValue);
106
109
  this.searchConfigurationChange.emit(this._searchConfiguration);
110
+ // force back to list page before we create Search
111
+ // https://devtopia.esri.com/WebGIS/arcgis-template-configuration/issues/3402
112
+ void this._home();
107
113
  }
108
114
  }
109
115
  /**
@@ -117,6 +123,30 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
117
123
  }
118
124
  }
119
125
  }
126
+ /**
127
+ * Called each time the sketchLineSymbol prop is changed.
128
+ */
129
+ async sketchLineSymbolWatchHandler(v, oldV) {
130
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
131
+ this._setLineSymbol(v);
132
+ }
133
+ }
134
+ /**
135
+ * Called each time the sketchPointSymbol prop is changed.
136
+ */
137
+ async sketchPointSymbolWatchHandler(v, oldV) {
138
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
139
+ this._setPointSymbol(v);
140
+ }
141
+ }
142
+ /**
143
+ * Called each time the sketchPolygonSymbol prop is changed.
144
+ */
145
+ async sketchPolygonSymbolWatchHandler(v, oldV) {
146
+ if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
147
+ this._setPolygonSymbol(v);
148
+ }
149
+ }
120
150
  /**
121
151
  * Called each time the pageType prop is changed.
122
152
  */
@@ -174,6 +204,7 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
174
204
  async componentWillLoad() {
175
205
  await this._getTranslations();
176
206
  await this._initModules();
207
+ this._initSymbols();
177
208
  }
178
209
  /**
179
210
  * Renders the component.
@@ -194,10 +225,84 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
194
225
  * @protected
195
226
  */
196
227
  async _initModules() {
197
- const [geometryEngine] = await loadModules([
198
- "esri/geometry/geometryEngine"
228
+ const [geometryEngine, jsonUtils] = await loadModules([
229
+ "esri/geometry/geometryEngine",
230
+ "esri/symbols/support/jsonUtils"
199
231
  ]);
200
232
  this._geometryEngine = geometryEngine;
233
+ this._jsonUtils = jsonUtils;
234
+ }
235
+ /**
236
+ * Initialize the default symbols that will be used when creating new graphics
237
+ *
238
+ * @protected
239
+ */
240
+ _initSymbols() {
241
+ this._setLineSymbol(this.sketchLineSymbol);
242
+ this._setPointSymbol(this.sketchPointSymbol);
243
+ this._setPolygonSymbol(this.sketchPolygonSymbol);
244
+ }
245
+ /**
246
+ * Convert a JSON representation of a line symbol and/or set the line symbol
247
+ *
248
+ * @param v SimpleLineSymbol or a JSON representation of a line symbol
249
+ *
250
+ * @protected
251
+ */
252
+ _setLineSymbol(v) {
253
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-line';
254
+ this.sketchLineSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
255
+ "type": "esriSLS",
256
+ "color": [130, 130, 130, 255],
257
+ "width": 2,
258
+ "style": "esriSLSSolid"
259
+ });
260
+ }
261
+ /**
262
+ * Convert a JSON representation of a point symbol and/or set the point symbol
263
+ *
264
+ * @param v SimpleMarkerSymbol or a JSON representation of a point symbol
265
+ *
266
+ * @protected
267
+ */
268
+ _setPointSymbol(v) {
269
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-marker';
270
+ this.sketchPointSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
271
+ "type": "esriSMS",
272
+ "color": [255, 255, 255, 255],
273
+ "angle": 0,
274
+ "xoffset": 0,
275
+ "yoffset": 0,
276
+ "size": 6,
277
+ "style": "esriSMSCircle",
278
+ "outline": {
279
+ "type": "esriSLS",
280
+ "color": [50, 50, 50, 255],
281
+ "width": 1,
282
+ "style": "esriSLSSolid"
283
+ }
284
+ });
285
+ }
286
+ /**
287
+ * Convert a JSON representation of a polygon symbol and/or set the polygon symbol
288
+ *
289
+ * @param v SimpleFillSymbol or a JSON representation of a polygon symbol
290
+ *
291
+ * @protected
292
+ */
293
+ _setPolygonSymbol(v) {
294
+ const isSymbol = (v === null || v === void 0 ? void 0 : v.type) === 'simple-fill';
295
+ this.sketchPolygonSymbol = isSymbol ? v : this._jsonUtils.fromJSON(v ? v : {
296
+ "type": "esriSFS",
297
+ "color": [150, 150, 150, 51],
298
+ "outline": {
299
+ "type": "esriSLS",
300
+ "color": [50, 50, 50, 255],
301
+ "width": 2,
302
+ "style": "esriSLSSolid"
303
+ },
304
+ "style": "esriSFSSolid"
305
+ });
201
306
  }
202
307
  /**
203
308
  * Get a calcite action group for the current action
@@ -355,7 +460,7 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
355
460
  const locale = getComponentClosestLanguage(this.el);
356
461
  const selectionLoading = locale && locale === "en" ?
357
462
  `${this._translations.selectionLoading}...` : this._translations.selectionLoading;
358
- return (h("calcite-panel", null, this._getLabel(this._translations.stepTwoFull.replace("{{layer}}", (_a = this.addresseeLayer) === null || _a === void 0 ? void 0 : _a.layer.title)), this._getNotice(noticeText), h("div", { class: "padding-top-sides-1" }, h("map-select-tools", { bufferColor: this.bufferColor, bufferOutlineColor: this.bufferOutlineColor, class: "font-bold", defaultBufferDistance: this.defaultBufferDistance, defaultBufferUnit: this.defaultBufferUnit, enabledLayerIds: this.selectionLayerIds, isUpdate: !!this._activeSelection, mapView: this.mapView, onSelectionSetChange: (evt) => this._updateForSelection(evt), onWorkflowTypeChange: (evt) => this._updateForWorkflowType(evt), ref: (el) => { this._selectTools = el; }, searchConfiguration: this._searchConfiguration, selectLayerView: this.addresseeLayer, selectionSet: this._activeSelection, showBufferTools: this.showSearchSettings })), h("div", { class: "padding-sides-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (h("div", null, h("calcite-loader", { active: true, class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), h("calcite-input-message", { active: true, class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
463
+ return (h("calcite-panel", null, this._getLabel(this._translations.stepTwoFull.replace("{{layer}}", (_a = this.addresseeLayer) === null || _a === void 0 ? void 0 : _a.layer.title)), this._getNotice(noticeText), h("div", { class: "padding-top-sides-1" }, h("map-select-tools", { bufferColor: this.bufferColor, bufferOutlineColor: this.bufferOutlineColor, class: "font-bold", defaultBufferDistance: this.defaultBufferDistance, defaultBufferUnit: this.defaultBufferUnit, enabledLayerIds: this.selectionLayerIds, isUpdate: !!this._activeSelection, mapView: this.mapView, onSelectionSetChange: (evt) => this._updateForSelection(evt), onWorkflowTypeChange: (evt) => this._updateForWorkflowType(evt), ref: (el) => { this._selectTools = el; }, searchConfiguration: this._searchConfiguration, selectLayerView: this.addresseeLayer, selectionSet: this._activeSelection, showBufferTools: this.showSearchSettings, sketchLineSymbol: this.sketchLineSymbol, sketchPointSymbol: this.sketchPointSymbol, sketchPolygonSymbol: this.sketchPolygonSymbol })), h("div", { class: "padding-sides-1 padding-bottom-1", style: { "align-items": "end", "display": "flex" } }, this._selectionLoading ? (h("div", null, h("calcite-loader", { active: true, class: "info-blue", inline: true, label: selectionLoading, scale: "m", type: "indeterminate" }))) : (h("calcite-icon", { class: "info-blue padding-end-1-2", icon: "feature-layer", scale: "s" })), h("calcite-input-message", { active: true, class: "info-blue", scale: "m" }, this._selectionLoading ? selectionLoading :
359
464
  this.noResultText && this._numSelected === 0 ? this.noResultText :
360
465
  this._translations.selectedAddresses.replace("{{n}}", this._numSelected.toString()).replace("{{layer}}", ((_b = this.addresseeLayer) === null || _b === void 0 ? void 0 : _b.layer.title) || ""))), h("div", { class: "padding-sides-1 " + nameLabelClass }, h("calcite-label", { class: "font-bold" }, "List name", h("calcite-input", { onInput: () => {
361
466
  this.labelChange.emit(this._labelName.value);
@@ -753,6 +858,9 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
753
858
  "mapView": ["mapViewWatchHandler"],
754
859
  "searchConfiguration": ["watchSearchConfigurationHandler"],
755
860
  "_selectionSets": ["selectionSetsWatchHandler"],
861
+ "sketchLineSymbol": ["sketchLineSymbolWatchHandler"],
862
+ "sketchPointSymbol": ["sketchPointSymbolWatchHandler"],
863
+ "sketchPolygonSymbol": ["sketchPolygonSymbolWatchHandler"],
756
864
  "_pageType": ["pageTypeWatchHandler"]
757
865
  }; }
758
866
  static get style() { return publicNotificationCss; }
@@ -771,6 +879,9 @@ const PublicNotification$1 = /*@__PURE__*/ proxyCustomElement(class extends HTML
771
879
  "selectionLayerIds": [16],
772
880
  "showRefineSelection": [4, "show-refine-selection"],
773
881
  "showSearchSettings": [4, "show-search-settings"],
882
+ "sketchLineSymbol": [8, "sketch-line-symbol"],
883
+ "sketchPointSymbol": [8, "sketch-point-symbol"],
884
+ "sketchPolygonSymbol": [8, "sketch-polygon-symbol"],
774
885
  "addresseeLayer": [32],
775
886
  "_downloadActive": [32],
776
887
  "_numSelected": [32],
@@ -981,9 +1092,9 @@ function defineCustomElement$1() {
981
1092
  break;
982
1093
  } });
983
1094
  }
984
- defineCustomElement$1();
985
-
986
- const PublicNotification = PublicNotification$1;
987
- const defineCustomElement = defineCustomElement$1;
988
-
989
- export { PublicNotification, defineCustomElement };
1095
+ defineCustomElement$1();
1096
+
1097
+ const PublicNotification = PublicNotification$1;
1098
+ const defineCustomElement = defineCustomElement$1;
1099
+
1100
+ export { PublicNotification, defineCustomElement };
@@ -52,7 +52,7 @@ async function queryAllFeatures(start, layer, graphics) {
52
52
  */
53
53
  async function queryObjectIds(geometries, layer) {
54
54
  let ids = [];
55
- const queryDefs = geometries.map(g => _intersectQuery(g, layer));
55
+ const queryDefs = geometries ? geometries.map(g => _intersectQuery(g, layer)) : [Promise.resolve()];
56
56
  const results = await Promise.all(queryDefs);
57
57
  results.forEach(resultIds => {
58
58
  ids = [
@@ -158,7 +158,7 @@ function getSelectionSetQuery(selectionSet, geometryEngine) {
158
158
  * @returns Array of single unioned geometry for the provided geometry type
159
159
  */
160
160
  function _unionGeoms(geometries, type, geometryEngine) {
161
- const geoms = geometries.filter(g => g.type === type);
161
+ const geoms = (geometries === null || geometries === void 0 ? void 0 : geometries.filter(g => g.type === type)) || [];
162
162
  return geoms.length <= 1 ? geoms : [geometryEngine.union(geoms)];
163
163
  }
164
164
  /**
@@ -16,7 +16,7 @@ import { i as isActivationKey } from './key-acb660e7.js';
16
16
  import { n as numberStringFormatter, c as connectLocalized, d as disconnectLocalized } from './locale-9dd0777b.js';
17
17
  import { s as state } from './publicNotificationStore-b9daaee4.js';
18
18
  import { h as ESelectionType, g as ERefineMode, f as ESelectionMode } from './interfaces-d0d83efa.js';
19
- import { a as getMapLayerView, f as queryFeaturesByGeometry, h as highlightFeatures } from './mapViewUtils-4e945e07.js';
19
+ import { a as getMapLayerView, f as queryFeaturesByGeometry, h as highlightFeatures } from './mapViewUtils-bd1809f0.js';
20
20
  import './_commonjsHelpers-d5f9d613.js';
21
21
  import './resources-436ae282.js';
22
22
  import './observers-31601001.js';
@@ -1449,9 +1449,9 @@ const MapDrawTools = class {
1449
1449
  "mode": "hybrid"
1450
1450
  }
1451
1451
  });
1452
- this.pointSymbol = this._sketchWidget.viewModel.pointSymbol;
1453
- this.polylineSymbol = this._sketchWidget.viewModel.polylineSymbol;
1454
- this.polygonSymbol = this._sketchWidget.viewModel.polygonSymbol;
1452
+ this._sketchWidget.viewModel.polylineSymbol = this.polylineSymbol;
1453
+ this._sketchWidget.viewModel.pointSymbol = this.pointSymbol;
1454
+ this._sketchWidget.viewModel.polygonSymbol = this.polygonSymbol;
1455
1455
  this._sketchWidget.visibleElements = {
1456
1456
  selectionTools: {
1457
1457
  "lasso-selection": false,
@@ -1462,10 +1462,6 @@ const MapDrawTools = class {
1462
1462
  undoRedoMenu: false
1463
1463
  };
1464
1464
  this._sketchWidget.on("update", (evt) => {
1465
- if (evt.state === "start") {
1466
- this.graphics = evt.graphics;
1467
- this.sketchGraphicsChange.emit(this.graphics);
1468
- }
1469
1465
  if (evt.state === "active") {
1470
1466
  clearTimeout(this._selectionTimer);
1471
1467
  this._selectionTimer = setTimeout(() => {
@@ -1499,8 +1495,9 @@ const MapDrawTools = class {
1499
1495
  * @protected
1500
1496
  */
1501
1497
  _clearSketch() {
1498
+ var _a;
1502
1499
  this.graphics = [];
1503
- this._sketchGraphicsLayer.removeAll();
1500
+ (_a = this._sketchGraphicsLayer) === null || _a === void 0 ? void 0 : _a.removeAll();
1504
1501
  }
1505
1502
  /**
1506
1503
  * Fetches the component's translations
@@ -16,7 +16,7 @@ import { i as isPrimaryPointerButton, t as toAriaBoolean, g as getElementProp, a
16
16
  import { c as connectOpenCloseComponent, d as disconnectOpenCloseComponent } from './openCloseComponent-5caff873.js';
17
17
  import { d as debounce } from './debounce-4c884e5c.js';
18
18
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-d09506c4.js';
19
- import { i as getMapLayerIds, j as getMapLayerHash } from './mapViewUtils-4e945e07.js';
19
+ import { i as getMapLayerIds, j as getMapLayerHash } from './mapViewUtils-bd1809f0.js';
20
20
  import { s as state } from './publicNotificationStore-b9daaee4.js';
21
21
  import './resources-436ae282.js';
22
22
  import './interfaces-d0d83efa.js';