@esri/solutions-components 0.8.8 → 0.8.9

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 (114) hide show
  1. package/dist/assets/t9n/crowdsource-reporter/resources.json +3 -1
  2. package/dist/assets/t9n/crowdsource-reporter/resources_en.json +3 -1
  3. package/dist/cjs/{calcite-action-menu_2.cjs.entry.js → calcite-action-menu_3.cjs.entry.js} +114 -7
  4. package/dist/cjs/calcite-alert_4.cjs.entry.js +46 -5
  5. package/dist/cjs/{calcite-input-date-picker_3.cjs.entry.js → calcite-block_5.cjs.entry.js} +691 -13
  6. package/dist/cjs/{calcite-combobox_5.cjs.entry.js → calcite-combobox_3.cjs.entry.js} +876 -844
  7. package/dist/cjs/calcite-dropdown_4.cjs.entry.js +1023 -0
  8. package/dist/cjs/{calcite-flow_5.cjs.entry.js → calcite-flow_6.cjs.entry.js} +327 -2
  9. package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
  10. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  11. package/dist/cjs/crowdsource-reporter.cjs.entry.js +122 -21
  12. package/dist/cjs/{downloadUtils-8b05d7cc.js → downloadUtils-dc349b1a.js} +2 -2
  13. package/dist/cjs/{index.es-e7587227.js → index.es-1830a1e6.js} +2 -2
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +8 -8
  16. package/dist/cjs/{mapViewUtils-3e0fa457.js → mapViewUtils-9dc05308.js} +11 -5
  17. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  18. package/dist/cjs/solutions-components.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/components/create-feature/create-feature.js +18 -0
  21. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +16 -0
  22. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +155 -35
  23. package/dist/collection/components/feature-details/feature-details.css +18 -0
  24. package/dist/collection/components/feature-details/feature-details.js +500 -0
  25. package/dist/collection/components/feature-details/test/feature-details.e2e.js +14 -0
  26. package/dist/collection/components/feature-details/test/feature-details.spec.js +22 -0
  27. package/dist/collection/components/feature-list/feature-list.js +14 -1
  28. package/dist/collection/components/info-card/info-card.css +15 -5
  29. package/dist/collection/components/info-card/info-card.js +178 -5
  30. package/dist/collection/components/layer-table/layer-table.js +2 -2
  31. package/dist/collection/components/map-card/map-card.js +1 -1
  32. package/dist/collection/components/map-select-tools/map-select-tools.js +5 -5
  33. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  34. package/dist/collection/demos/crowdsource-reporter.html +115 -1
  35. package/dist/collection/utils/mapViewUtils.js +11 -5
  36. package/dist/collection/utils/mapViewUtils.ts +13 -5
  37. package/dist/components/create-feature2.js +4 -0
  38. package/dist/components/crowdsource-reporter.js +270 -81
  39. package/dist/components/feature-details.d.ts +11 -0
  40. package/dist/components/feature-details.js +11 -0
  41. package/dist/components/feature-details2.js +449 -0
  42. package/dist/components/feature-list2.js +14 -1
  43. package/dist/components/info-card2.js +53 -5
  44. package/dist/components/layer-table2.js +2 -2
  45. package/dist/components/map-card2.js +1 -1
  46. package/dist/components/map-select-tools2.js +5 -5
  47. package/dist/components/mapViewUtils.js +11 -5
  48. package/dist/components/refine-selection2.js +1 -1
  49. package/dist/esm/{calcite-action-menu_2.entry.js → calcite-action-menu_3.entry.js} +118 -12
  50. package/dist/esm/calcite-alert_4.entry.js +46 -5
  51. package/dist/esm/{calcite-input-date-picker_3.entry.js → calcite-block_5.entry.js} +688 -12
  52. package/dist/esm/{calcite-combobox_5.entry.js → calcite-combobox_3.entry.js} +878 -844
  53. package/dist/esm/calcite-date-picker-day_3.entry.js +1 -1
  54. package/dist/esm/calcite-dropdown_4.entry.js +1016 -0
  55. package/dist/esm/{calcite-flow_5.entry.js → calcite-flow_6.entry.js} +327 -3
  56. package/dist/esm/card-manager_3.entry.js +5 -5
  57. package/dist/esm/crowdsource-manager.entry.js +1 -1
  58. package/dist/esm/crowdsource-reporter.entry.js +122 -21
  59. package/dist/esm/{date-5630530d.js → date-0c026a8b.js} +1 -1
  60. package/dist/esm/{downloadUtils-0c1e4d7b.js → downloadUtils-df4f21f6.js} +2 -2
  61. package/dist/esm/{index.es-286e3cfa.js → index.es-904fb846.js} +2 -2
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/map-select-tools_3.entry.js +8 -8
  64. package/dist/esm/{mapViewUtils-253178f1.js → mapViewUtils-2ec19fb0.js} +11 -5
  65. package/dist/esm/public-notification.entry.js +2 -2
  66. package/dist/esm/solutions-components.js +1 -1
  67. package/dist/solutions-components/demos/crowdsource-reporter.html +115 -1
  68. package/dist/solutions-components/{p-813fd8a4.entry.js → p-29f518fd.entry.js} +2 -2
  69. package/dist/solutions-components/{p-13ca3b00.entry.js → p-452fd697.entry.js} +1 -1
  70. package/dist/solutions-components/p-511b1c91.entry.js +23 -0
  71. package/dist/solutions-components/p-577efb16.js +36 -0
  72. package/dist/solutions-components/{p-94de9279.js → p-5817d78c.js} +1 -1
  73. package/dist/solutions-components/p-602cd811.entry.js +17 -0
  74. package/dist/solutions-components/{p-15f9624a.entry.js → p-6557b703.entry.js} +1 -1
  75. package/dist/solutions-components/p-7269c49b.entry.js +6 -0
  76. package/dist/solutions-components/p-760bd17e.entry.js +6 -0
  77. package/dist/solutions-components/p-95fea07a.entry.js +17 -0
  78. package/dist/solutions-components/{p-212b02e7.js → p-ae4d86e8.js} +1 -1
  79. package/dist/solutions-components/{p-038fcd93.entry.js → p-c273ab7a.entry.js} +1 -1
  80. package/dist/solutions-components/p-d742b915.entry.js +29 -0
  81. package/dist/solutions-components/p-dfad61a8.entry.js +24 -0
  82. package/dist/solutions-components/{p-331b5d1e.js → p-fca434c8.js} +2 -2
  83. package/dist/solutions-components/p-fd82a00f.entry.js +6 -0
  84. package/dist/solutions-components/solutions-components.esm.js +1 -1
  85. package/dist/solutions-components/utils/mapViewUtils.ts +13 -5
  86. package/dist/types/components/create-feature/create-feature.d.ts +4 -4
  87. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +91 -10
  88. package/dist/types/components/feature-details/feature-details.d.ts +151 -0
  89. package/dist/types/components/feature-list/feature-list.d.ts +6 -0
  90. package/dist/types/components/info-card/info-card.d.ts +33 -1
  91. package/dist/types/components.d.ts +129 -12
  92. package/dist/types/preact.d.ts +6 -1
  93. package/dist/types/utils/mapViewUtils.d.ts +5 -3
  94. package/package.json +1 -1
  95. package/dist/cjs/calcite-block_2.cjs.entry.js +0 -652
  96. package/dist/cjs/calcite-graph_2.cjs.entry.js +0 -1055
  97. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -125
  98. package/dist/cjs/utils-7bc7f595.js +0 -64
  99. package/dist/esm/calcite-block_2.entry.js +0 -647
  100. package/dist/esm/calcite-graph_2.entry.js +0 -1050
  101. package/dist/esm/calcite-scrim.entry.js +0 -121
  102. package/dist/esm/utils-9fb4104a.js +0 -61
  103. package/dist/solutions-components/p-04c37d69.entry.js +0 -17
  104. package/dist/solutions-components/p-0b92e4b1.entry.js +0 -11
  105. package/dist/solutions-components/p-238d3b5f.entry.js +0 -6
  106. package/dist/solutions-components/p-3af79063.js +0 -36
  107. package/dist/solutions-components/p-80b11ec1.entry.js +0 -17
  108. package/dist/solutions-components/p-a3a11749.entry.js +0 -6
  109. package/dist/solutions-components/p-aec06ce4.entry.js +0 -18
  110. package/dist/solutions-components/p-bfdf89c2.js +0 -11
  111. package/dist/solutions-components/p-c4ff3b52.entry.js +0 -17
  112. package/dist/solutions-components/p-ced067bd.entry.js +0 -17
  113. package/dist/solutions-components/p-d136eab0.entry.js +0 -23
  114. package/dist/solutions-components/p-e0446d5b.entry.js +0 -6
@@ -17,5 +17,7 @@
17
17
  "featureEditFormInfoMsg": "Please provide the details.",
18
18
  "currentLocationMsg": "Use my current location",
19
19
  "addLocationMsg": "Please add a location.",
20
- "submitMsg": "Thank you! Your report was successfully submitted."
20
+ "submitMsg": "Thank you! Your report was successfully submitted.",
21
+ "filterLayerTitle": "Filter: {{title}}",
22
+ "indexOfTotal": "{{index}} of {{total}}"
21
23
  }
@@ -17,5 +17,7 @@
17
17
  "featureEditFormInfoMsg": "Please provide the details.",
18
18
  "currentLocationMsg": "Use my current location",
19
19
  "addLocationMsg": "Please add a location.",
20
- "submitMsg": "Thank you! Your report was successfully submitted."
20
+ "submitMsg": "Thank you! Your report was successfully submitted.",
21
+ "filterLayerTitle": "Filter: {{title}}",
22
+ "indexOfTotal": "{{index}} of {{total}}"
21
23
  }
@@ -307,7 +307,7 @@ ActionMenu.style = actionMenuCss;
307
307
  * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
308
308
  * v2.4.0
309
309
  */
310
- const CSS = {
310
+ const CSS$1 = {
311
311
  container: "container",
312
312
  imageContainer: "image-container",
313
313
  closeButtonContainer: "close-button-container",
@@ -650,14 +650,14 @@ const Popover = class {
650
650
  // --------------------------------------------------------------------------
651
651
  renderCloseButton() {
652
652
  const { messages, closable } = this;
653
- return closable ? (index.h("div", { class: CSS.closeButtonContainer, key: CSS.closeButtonContainer }, index.h("calcite-action", { appearance: "transparent", class: CSS.closeButton, onClick: this.hide, scale: this.scale, text: messages.close,
653
+ return closable ? (index.h("div", { class: CSS$1.closeButtonContainer, key: CSS$1.closeButtonContainer }, index.h("calcite-action", { appearance: "transparent", class: CSS$1.closeButton, onClick: this.hide, scale: this.scale, text: messages.close,
654
654
  // eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
655
655
  ref: (closeButtonEl) => (this.closeButtonEl = closeButtonEl) }, index.h("calcite-icon", { icon: "x", scale: component.getIconScale(this.scale) })))) : null;
656
656
  }
657
657
  renderHeader() {
658
658
  const { heading, headingLevel } = this;
659
- const headingNode = heading ? (index.h(Heading.Heading, { class: CSS.heading, level: headingLevel }, heading)) : null;
660
- return headingNode ? (index.h("div", { class: CSS.header, key: CSS.header }, headingNode, this.renderCloseButton())) : null;
659
+ const headingNode = heading ? (index.h(Heading.Heading, { class: CSS$1.heading, level: headingLevel }, heading)) : null;
660
+ return headingNode ? (index.h("div", { class: CSS$1.header, key: CSS$1.header }, headingNode, this.renderCloseButton())) : null;
661
661
  }
662
662
  render() {
663
663
  const { effectiveReferenceElement, heading, label, open, pointerDisabled, floatingLayout } = this;
@@ -672,9 +672,9 @@ const Popover = class {
672
672
  },
673
673
  // eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
674
674
  ref: this.setTransitionEl }, arrowNode, index.h("div", { class: {
675
- [CSS.hasHeader]: !!heading,
676
- [CSS.container]: true,
677
- } }, this.renderHeader(), index.h("div", { class: CSS.content }, index.h("slot", null)), !heading ? this.renderCloseButton() : null))));
675
+ [CSS$1.hasHeader]: !!heading,
676
+ [CSS$1.container]: true,
677
+ } }, this.renderHeader(), index.h("div", { class: CSS$1.content }, index.h("slot", null)), !heading ? this.renderCloseButton() : null))));
678
678
  }
679
679
  static get assetsDirs() { return ["assets"]; }
680
680
  get el() { return index.getElement(this); }
@@ -693,5 +693,112 @@ const Popover = class {
693
693
  };
694
694
  Popover.style = popoverCss;
695
695
 
696
+ /*!
697
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
698
+ * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
699
+ * v2.4.0
700
+ */
701
+ const CSS = {
702
+ scrim: "scrim",
703
+ content: "content",
704
+ };
705
+ const BREAKPOINTS = {
706
+ s: 72,
707
+ // medium is assumed default.
708
+ l: 480, // Greater than or equal to 480px.
709
+ };
710
+
711
+ const scrimCss = ":host{--calcite-scrim-background:var(--calcite-color-transparent-scrim);position:absolute;inset:0px;z-index:var(--calcite-z-index-overlay);display:flex;block-size:100%;inline-size:100%;flex-direction:column;align-items:stretch}@keyframes calcite-scrim-fade-in{0%{--tw-bg-opacity:0}100%{--tw-text-opacity:1}}.scrim{position:absolute;inset:0px;display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-scrim-background, var(--calcite-color-transparent-scrim))}.content{padding:1rem}:host([hidden]){display:none}[hidden]{display:none}";
712
+
713
+ const Scrim = class {
714
+ constructor(hostRef) {
715
+ index.registerInstance(this, hostRef);
716
+ this.resizeObserver = observers.createObserver("resize", () => this.handleResize());
717
+ // --------------------------------------------------------------------------
718
+ //
719
+ // Private Methods
720
+ //
721
+ // --------------------------------------------------------------------------
722
+ this.handleDefaultSlotChange = (event) => {
723
+ this.hasContent = dom.slotChangeHasContent(event);
724
+ };
725
+ this.storeLoaderEl = (el) => {
726
+ this.loaderEl = el;
727
+ this.handleResize();
728
+ };
729
+ this.loading = false;
730
+ this.messages = undefined;
731
+ this.messageOverrides = undefined;
732
+ this.loaderScale = undefined;
733
+ this.defaultMessages = undefined;
734
+ this.effectiveLocale = "";
735
+ this.hasContent = false;
736
+ }
737
+ onMessagesChange() {
738
+ /* wired up by t9n util */
739
+ }
740
+ effectiveLocaleChange() {
741
+ t9n.updateMessages(this, this.effectiveLocale);
742
+ }
743
+ //--------------------------------------------------------------------------
744
+ //
745
+ // Lifecycle
746
+ //
747
+ //--------------------------------------------------------------------------
748
+ connectedCallback() {
749
+ var _a;
750
+ locale.connectLocalized(this);
751
+ t9n.connectMessages(this);
752
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el);
753
+ }
754
+ async componentWillLoad() {
755
+ await t9n.setUpMessages(this);
756
+ }
757
+ disconnectedCallback() {
758
+ var _a;
759
+ locale.disconnectLocalized(this);
760
+ t9n.disconnectMessages(this);
761
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
762
+ }
763
+ // --------------------------------------------------------------------------
764
+ //
765
+ // Render Method
766
+ //
767
+ // --------------------------------------------------------------------------
768
+ render() {
769
+ const { hasContent, loading, messages } = this;
770
+ return (index.h("div", { class: CSS.scrim }, loading ? (index.h("calcite-loader", { label: messages.loading, scale: this.loaderScale,
771
+ // eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
772
+ ref: this.storeLoaderEl })) : null, index.h("div", { class: CSS.content, hidden: !hasContent }, index.h("slot", { onSlotchange: this.handleDefaultSlotChange }))));
773
+ }
774
+ getScale(size) {
775
+ if (size < BREAKPOINTS.s) {
776
+ return "s";
777
+ }
778
+ else if (size >= BREAKPOINTS.l) {
779
+ return "l";
780
+ }
781
+ else {
782
+ return "m";
783
+ }
784
+ }
785
+ handleResize() {
786
+ var _a;
787
+ const { loaderEl, el } = this;
788
+ if (!loaderEl) {
789
+ return;
790
+ }
791
+ this.loaderScale = this.getScale((_a = Math.min(el.clientHeight, el.clientWidth)) !== null && _a !== void 0 ? _a : 0);
792
+ }
793
+ static get assetsDirs() { return ["assets"]; }
794
+ get el() { return index.getElement(this); }
795
+ static get watchers() { return {
796
+ "messageOverrides": ["onMessagesChange"],
797
+ "effectiveLocale": ["effectiveLocaleChange"]
798
+ }; }
799
+ };
800
+ Scrim.style = scrimCss;
801
+
696
802
  exports.calcite_action_menu = ActionMenu;
697
803
  exports.calcite_popover = Popover;
804
+ exports.calcite_scrim = Scrim;
@@ -16,7 +16,7 @@ const openCloseComponent = require('./openCloseComponent-19a769d0.js');
16
16
  const t9n = require('./t9n-993a84de.js');
17
17
  const resources = require('./resources-dd8ff1b4.js');
18
18
  const locale$1 = require('./locale-3d0a4bc2.js');
19
- const mapViewUtils = require('./mapViewUtils-3e0fa457.js');
19
+ const mapViewUtils = require('./mapViewUtils-9dc05308.js');
20
20
  const popupUtils = require('./popupUtils-6be3588c.js');
21
21
  require('./guid-ae73cd27.js');
22
22
  require('./resources-9447c777.js');
@@ -668,7 +668,7 @@ const EditCard = class {
668
668
  };
669
669
  EditCard.style = editCardCss;
670
670
 
671
- const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:space-between;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.min-width-100{min-width:100px}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}";
671
+ const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand)}";
672
672
 
673
673
  const InfoCard = class {
674
674
  constructor(hostRef) {
@@ -682,6 +682,8 @@ const InfoCard = class {
682
682
  this.zoomAndScrollToSelected = undefined;
683
683
  this.allowEditing = true;
684
684
  this.highlightEnabled = true;
685
+ this.paginationEnabled = true;
686
+ this.position = 'absolute';
685
687
  this._alertOpen = false;
686
688
  this._count = "";
687
689
  this._editRecordOpen = false;
@@ -727,6 +729,45 @@ const InfoCard = class {
727
729
  async getSelectedFeature() {
728
730
  return this._features.selectedFeature;
729
731
  }
732
+ /**
733
+ * Get the current selected feature from the Features widget
734
+ * @returns Promise resolving with the current feature
735
+ */
736
+ async refresh() {
737
+ await this.setGraphics();
738
+ }
739
+ /**
740
+ * Go to the previous feature in the features widget
741
+ */
742
+ async back() {
743
+ this._features.previous();
744
+ this._count = this._getCount();
745
+ }
746
+ /**
747
+ * Go to the next feature in the features widget
748
+ */
749
+ async next() {
750
+ this._features.next();
751
+ this._count = this._getCount();
752
+ }
753
+ /**
754
+ * Toggle the visibility of the features list view
755
+ */
756
+ async toggleListView() {
757
+ this._showListView = !this._showListView;
758
+ const i = this._features.selectedFeatureIndex;
759
+ this._features.open({
760
+ features: this.graphics,
761
+ featureMenuOpen: this._showListView
762
+ });
763
+ this._features.selectedFeatureIndex = i;
764
+ }
765
+ /**
766
+ * update the current graphics to the features widget
767
+ */
768
+ async updateCurrentGraphic(selectedGraphic) {
769
+ this._features.selectedFeatureWidget.graphic = selectedGraphic;
770
+ }
730
771
  /**
731
772
  * Respond to and close the edit record display
732
773
  *
@@ -791,8 +832,8 @@ const InfoCard = class {
791
832
  const id = (_d = (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeature) === null || _d === void 0 ? void 0 : _d.getObjectId();
792
833
  const ids = parseInt(id === null || id === void 0 ? void 0 : id.toString(), 10) > -1 ? [id] : [];
793
834
  const deleteEnabled = ((_e = this._layer) === null || _e === void 0 ? void 0 : _e.editingEnabled) && ((_h = (_g = (_f = this._layer) === null || _f === void 0 ? void 0 : _f.capabilities) === null || _g === void 0 ? void 0 : _g.operations) === null || _h === void 0 ? void 0 : _h.supportsDelete);
794
- return (index.h(index.Host, null, index.h("calcite-shell", null, this._getHeader(), index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), index.h("div", { class: "esri-widget feature-node " + featureNodeClass, id: "features-node" }), index.h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
795
- index.h("div", { class: "display-flex top-border padding-1-2" }, index.h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (index.h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, index.h("span", null, this._translations.edit)), this.isMobile ? (index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-delete" }, index.h("span", null, this._translations.delete))) : undefined), !nextBackDisabled && index.h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, index.h("span", null, this._translations.back))), index.h("div", null, index.h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._count, textEnabled: true })), index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, index.h("span", null, this._translations.next))))), index.h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._translations.editDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)))));
835
+ return (index.h(index.Host, null, index.h("calcite-shell", { style: { position: this.position } }, this._getHeader(), index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), index.h("div", { class: "esri-widget feature-node " + featureNodeClass, id: "features-node" }), index.h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
836
+ index.h("div", { class: "display-flex top-border padding-1-2" }, index.h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (index.h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, index.h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-edit" }, index.h("span", null, this._translations.edit)), this.isMobile ? (index.h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-delete" }, index.h("span", null, this._translations.delete))) : undefined), this.paginationEnabled && !nextBackDisabled && index.h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, index.h("div", null, index.h("calcite-button", { appearance: 'transparent', disabled: nextBackDisabled, iconStart: "chevron-left", id: "solutions-back", onClick: () => this._back(), width: "full" }), index.h("calcite-tooltip", { placement: "top", "reference-element": "solutions-back" }, index.h("span", null, this._translations.back))), index.h("calcite-action", { class: 'pagination-action', onClick: () => this._toggleListView(), scale: "s", text: "", textEnabled: true }, index.h("span", { class: "pagination-count" }, this._count)), index.h("div", null, index.h("calcite-button", { appearance: "transparent", disabled: nextBackDisabled, iconStart: "chevron-right", id: "solutions-next", onClick: () => this._next(), width: "full" }), index.h("calcite-tooltip", { placement: "top", "reference-element": "solutions-next" }, index.h("span", null, this._translations.next))))), index.h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._translations.editDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)))));
796
837
  }
797
838
  //--------------------------------------------------------------------------
798
839
  //
@@ -867,7 +908,7 @@ const InfoCard = class {
867
908
  if (this.zoomAndScrollToSelected) {
868
909
  this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
869
910
  if (i > -1) {
870
- this.selectionChanged.emit([this._features.selectedFeature]);
911
+ this.selectionChanged.emit({ selectedFeature: [this._features.selectedFeature], selectedFeatureIndex: this._features.selectedFeatureIndex });
871
912
  }
872
913
  });
873
914
  }