@esri/solutions-components 0.11.14 → 0.11.15

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 (168) hide show
  1. package/dist/cjs/{asyncToGenerator-c7fc3ee4.js → asyncToGenerator-ccb3278b.js} +1 -1
  2. package/dist/cjs/basemap-gallery_7.cjs.entry.js +2 -2
  3. package/dist/cjs/buffer-tools_2.cjs.entry.js +2 -2
  4. package/dist/cjs/card-manager_3.cjs.entry.js +4 -4
  5. package/dist/cjs/consent-manager.cjs.entry.js +4 -4
  6. package/dist/cjs/create-feature_4.cjs.entry.js +5 -5
  7. package/dist/cjs/create-related-feature_3.cjs.entry.js +2 -2
  8. package/dist/cjs/crowdsource-manager.cjs.entry.js +2 -2
  9. package/dist/cjs/crowdsource-reporter.cjs.entry.js +2 -2
  10. package/dist/cjs/delete-dialog.cjs.entry.js +2 -2
  11. package/dist/cjs/{downloadUtils-1935500f.js → downloadUtils-9de366bc.js} +3 -3
  12. package/dist/cjs/{effects-3607d1ba.js → effects-78c31457.js} +1 -1
  13. package/dist/cjs/feature-list.cjs.entry.js +5 -5
  14. package/dist/cjs/{helpers-b511b55e.js → helpers-67a2c953.js} +2 -2
  15. package/dist/cjs/{index.es-3c2404c3.js → index.es-0441a948.js} +2 -2
  16. package/dist/cjs/instant-apps-app-guide.cjs.entry.js +4 -4
  17. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +5 -5
  18. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +2 -2
  19. package/dist/cjs/instant-apps-create.cjs.entry.js +4 -4
  20. package/dist/cjs/instant-apps-export-views.cjs.entry.js +4 -4
  21. package/dist/cjs/instant-apps-export.cjs.entry.js +4 -4
  22. package/dist/cjs/instant-apps-filter-list_2.cjs.entry.js +4 -4
  23. package/dist/cjs/instant-apps-header.cjs.entry.js +2 -2
  24. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +4 -4
  25. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +4 -4
  26. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +4 -4
  27. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +4 -4
  28. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +6 -6
  29. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +4 -4
  30. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +6 -6
  31. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +6 -6
  32. package/dist/cjs/instant-apps-measurement-tool.cjs.entry.js +2 -2
  33. package/dist/cjs/instant-apps-measurement.cjs.entry.js +4 -4
  34. package/dist/cjs/instant-apps-popover.cjs.entry.js +4 -4
  35. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +4 -4
  36. package/dist/cjs/instant-apps-sign-in.cjs.entry.js +4 -4
  37. package/dist/cjs/instant-apps-splash.cjs.entry.js +4 -4
  38. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +5 -5
  39. package/dist/cjs/json-editor_7.cjs.entry.js +2 -2
  40. package/dist/cjs/{languageSwitcher-19a22439.js → languageSwitcher-e2118cc6.js} +1 -1
  41. package/dist/cjs/{languageUtil-a3e1eafd.js → languageUtil-f22ce913.js} +1 -1
  42. package/dist/cjs/{loadModules-e9d8977c.js → loadModules-accd5295.js} +1 -1
  43. package/dist/cjs/{locale-98346201.js → locale-8017d061.js} +1 -1
  44. package/dist/cjs/{locale-4187fc82.js → locale-e2a974ae.js} +2 -2
  45. package/dist/cjs/map-layer-picker.cjs.entry.js +2 -2
  46. package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -4
  47. package/dist/cjs/{popupUtils-c0921a77.js → popupUtils-3b069427.js} +2 -2
  48. package/dist/cjs/public-notification.cjs.entry.js +4 -4
  49. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  50. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  51. package/dist/cjs/solution-item-accordion.cjs.entry.js +2 -2
  52. package/dist/cjs/spatial-ref.cjs.entry.js +2 -2
  53. package/dist/cjs/{utils-16dbc236.js → utils-0f287cfa.js} +1 -1
  54. package/dist/esm/{asyncToGenerator-96b2368d.js → asyncToGenerator-48cd21fe.js} +1 -1
  55. package/dist/esm/basemap-gallery_7.entry.js +2 -2
  56. package/dist/esm/buffer-tools_2.entry.js +2 -2
  57. package/dist/esm/card-manager_3.entry.js +4 -4
  58. package/dist/esm/consent-manager.entry.js +4 -4
  59. package/dist/esm/create-feature_4.entry.js +5 -5
  60. package/dist/esm/create-related-feature_3.entry.js +2 -2
  61. package/dist/esm/crowdsource-manager.entry.js +2 -2
  62. package/dist/esm/crowdsource-reporter.entry.js +2 -2
  63. package/dist/esm/delete-dialog.entry.js +2 -2
  64. package/dist/esm/{downloadUtils-3f4d34a4.js → downloadUtils-992b4e25.js} +3 -3
  65. package/dist/esm/{effects-38bc1195.js → effects-45daffc6.js} +1 -1
  66. package/dist/esm/feature-list.entry.js +5 -5
  67. package/dist/esm/{helpers-5df33e11.js → helpers-38ea1ae1.js} +2 -2
  68. package/dist/esm/{index.es-87662946.js → index.es-c379ea10.js} +2 -2
  69. package/dist/esm/instant-apps-app-guide.entry.js +4 -4
  70. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +5 -5
  71. package/dist/esm/instant-apps-control-panel.entry.js +2 -2
  72. package/dist/esm/instant-apps-create.entry.js +4 -4
  73. package/dist/esm/instant-apps-export-views.entry.js +4 -4
  74. package/dist/esm/instant-apps-export.entry.js +4 -4
  75. package/dist/esm/instant-apps-filter-list_2.entry.js +4 -4
  76. package/dist/esm/instant-apps-header.entry.js +2 -2
  77. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +4 -4
  78. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +4 -4
  79. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +4 -4
  80. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +4 -4
  81. package/dist/esm/instant-apps-interactive-legend.entry.js +6 -6
  82. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +4 -4
  83. package/dist/esm/instant-apps-language-switcher.entry.js +6 -6
  84. package/dist/esm/instant-apps-language-translator.entry.js +6 -6
  85. package/dist/esm/instant-apps-measurement-tool.entry.js +2 -2
  86. package/dist/esm/instant-apps-measurement.entry.js +4 -4
  87. package/dist/esm/instant-apps-popover.entry.js +4 -4
  88. package/dist/esm/instant-apps-scoreboard.entry.js +4 -4
  89. package/dist/esm/instant-apps-sign-in.entry.js +4 -4
  90. package/dist/esm/instant-apps-splash.entry.js +4 -4
  91. package/dist/esm/instant-apps-time-filter.entry.js +5 -5
  92. package/dist/esm/json-editor_7.entry.js +2 -2
  93. package/dist/esm/{languageSwitcher-49bad3f4.js → languageSwitcher-446c6fe7.js} +1 -1
  94. package/dist/esm/{languageUtil-2b6e191a.js → languageUtil-a3e6adf6.js} +1 -1
  95. package/dist/esm/{loadModules-947ccfd4.js → loadModules-736e0284.js} +1 -1
  96. package/dist/esm/{locale-857bb2e4.js → locale-5b76949e.js} +2 -2
  97. package/dist/esm/{locale-fd7f8659.js → locale-8a3e6795.js} +1 -1
  98. package/dist/esm/map-layer-picker.entry.js +2 -2
  99. package/dist/esm/map-select-tools_3.entry.js +4 -4
  100. package/dist/esm/{popupUtils-43fafc2f.js → popupUtils-12e61a9a.js} +2 -2
  101. package/dist/esm/public-notification.entry.js +4 -4
  102. package/dist/esm/solution-configuration.entry.js +2 -2
  103. package/dist/esm/solution-contents_3.entry.js +2 -2
  104. package/dist/esm/solution-item-accordion.entry.js +2 -2
  105. package/dist/esm/spatial-ref.entry.js +2 -2
  106. package/dist/esm/{utils-ebba7c2e.js → utils-793f7261.js} +1 -1
  107. package/dist/solutions-components/{p-c63ce830.entry.js → p-097bac90.entry.js} +1 -1
  108. package/dist/solutions-components/{p-b67ff61f.entry.js → p-0bb54295.entry.js} +1 -1
  109. package/dist/solutions-components/{p-cc3e637d.entry.js → p-0d110867.entry.js} +1 -1
  110. package/dist/solutions-components/{p-3c1c2ca5.entry.js → p-0d311ebf.entry.js} +1 -1
  111. package/dist/solutions-components/{p-48fcfd06.entry.js → p-0d879c77.entry.js} +1 -1
  112. package/dist/solutions-components/{p-529325da.entry.js → p-0e3b3aa8.entry.js} +1 -1
  113. package/dist/solutions-components/{p-ea19f91b.js → p-1e364924.js} +1 -1
  114. package/dist/solutions-components/{p-3d7eeb2d.js → p-20085e58.js} +2 -2
  115. package/dist/solutions-components/{p-c691c1d1.entry.js → p-2010e62e.entry.js} +1 -1
  116. package/dist/solutions-components/{p-f71dc88a.entry.js → p-256ce5cc.entry.js} +1 -1
  117. package/dist/solutions-components/{p-d1d8e331.entry.js → p-2b9d58dc.entry.js} +1 -1
  118. package/dist/solutions-components/{p-2672ee69.entry.js → p-340c71f3.entry.js} +1 -1
  119. package/dist/solutions-components/{p-174fa218.js → p-3e25c5b0.js} +1 -1
  120. package/dist/solutions-components/{p-2937baee.js → p-3ea987a7.js} +1 -1
  121. package/dist/solutions-components/{p-f24d6b3e.entry.js → p-44105d86.entry.js} +1 -1
  122. package/dist/solutions-components/{p-3de6e5d8.entry.js → p-47abefd3.entry.js} +1 -1
  123. package/dist/solutions-components/{p-0db26b05.entry.js → p-5474d6f0.entry.js} +1 -1
  124. package/dist/solutions-components/{p-d65f8b73.js → p-62a0aa8e.js} +1 -1
  125. package/dist/solutions-components/{p-dc188d13.js → p-6d1ee086.js} +1 -1
  126. package/dist/solutions-components/{p-40578f4b.entry.js → p-74b3e39c.entry.js} +1 -1
  127. package/dist/solutions-components/{p-89fbc318.js → p-78051ff1.js} +1 -1
  128. package/dist/solutions-components/{p-e133f9b2.entry.js → p-79083691.entry.js} +1 -1
  129. package/dist/solutions-components/{p-e6158877.entry.js → p-7e1c353c.entry.js} +1 -1
  130. package/dist/solutions-components/{p-ded33011.entry.js → p-88de10d1.entry.js} +1 -1
  131. package/dist/solutions-components/{p-1a1791ae.entry.js → p-8ab5efc1.entry.js} +1 -1
  132. package/dist/solutions-components/{p-b711a822.entry.js → p-8af77823.entry.js} +1 -1
  133. package/dist/solutions-components/{p-21b280a8.js → p-91bb7fdc.js} +1 -1
  134. package/dist/solutions-components/{p-193034c9.entry.js → p-9e92da5e.entry.js} +1 -1
  135. package/dist/solutions-components/{p-f1faec42.entry.js → p-a1d1dc83.entry.js} +1 -1
  136. package/dist/solutions-components/{p-075979ef.js → p-a23de3b0.js} +1 -1
  137. package/dist/solutions-components/{p-08ad0b7a.js → p-a4bd7b09.js} +1 -1
  138. package/dist/solutions-components/{p-0b974e3c.entry.js → p-a7d18a21.entry.js} +1 -1
  139. package/dist/solutions-components/{p-4e34c101.entry.js → p-ad03f5cf.entry.js} +1 -1
  140. package/dist/solutions-components/{p-fb4dfcbe.entry.js → p-ae7bcbff.entry.js} +1 -1
  141. package/dist/solutions-components/{p-ac122d9e.js → p-af2c8aa9.js} +1 -1
  142. package/dist/solutions-components/{p-e16bb956.entry.js → p-b0551d23.entry.js} +1 -1
  143. package/dist/solutions-components/{p-89cae891.entry.js → p-b2a6916d.entry.js} +1 -1
  144. package/dist/solutions-components/{p-7c958237.entry.js → p-c1a752b9.entry.js} +1 -1
  145. package/dist/solutions-components/{p-c19c273f.entry.js → p-c421d92d.entry.js} +1 -1
  146. package/dist/solutions-components/{p-4f683af6.entry.js → p-c44cbee6.entry.js} +1 -1
  147. package/dist/solutions-components/{p-1b6461c5.entry.js → p-c5f701bd.entry.js} +1 -1
  148. package/dist/solutions-components/{p-1e57a3bd.entry.js → p-d32b5127.entry.js} +1 -1
  149. package/dist/solutions-components/{p-5dfab24b.entry.js → p-d600ca73.entry.js} +1 -1
  150. package/dist/solutions-components/{p-a940dc0c.entry.js → p-d995adc3.entry.js} +1 -1
  151. package/dist/solutions-components/{p-a5069229.entry.js → p-da1ac695.entry.js} +1 -1
  152. package/dist/solutions-components/{p-b6422554.entry.js → p-e508cfaf.entry.js} +1 -1
  153. package/dist/solutions-components/{p-0592d206.entry.js → p-e8fa98f5.entry.js} +1 -1
  154. package/dist/solutions-components/{p-c223bd87.js → p-ea6440fd.js} +1 -1
  155. package/dist/solutions-components/{p-c9e111d7.entry.js → p-ed8f7591.entry.js} +1 -1
  156. package/dist/solutions-components/{p-4db43d2c.entry.js → p-f64eeaad.entry.js} +1 -1
  157. package/dist/solutions-components/{p-73ba31c4.entry.js → p-f9b7f97e.entry.js} +1 -1
  158. package/dist/solutions-components/{p-f7c10b7f.entry.js → p-ff3d2df3.entry.js} +1 -1
  159. package/dist/solutions-components/{p-a5073249.entry.js → p-ffa545ee.entry.js} +1 -1
  160. package/dist/solutions-components/solutions-components.esm.js +1 -1
  161. package/dist/solutions-components_commit.txt +6 -7
  162. package/package.json +10 -10
  163. /package/dist/cjs/{esri-loader-08dc41bd.js → esri-loader-a56cbcbe.js} +0 -0
  164. /package/dist/cjs/{typeof-2a7e2dec.js → typeof-920a4426.js} +0 -0
  165. /package/dist/esm/{esri-loader-c6842c6b.js → esri-loader-781d738a.js} +0 -0
  166. /package/dist/esm/{typeof-ef2a007d.js → typeof-2511410e.js} +0 -0
  167. /package/dist/solutions-components/{p-0a24ad5f.js → p-6a68306c.js} +0 -0
  168. /package/dist/solutions-components/{p-4fe489cf.js → p-af7e43e0.js} +0 -0
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as n,c as t,h as i,H as e,g as o}from"./p-8c40bdec.js";import{l as a}from"./p-08ad0b7a.js";import{g as s}from"./p-ea19f91b.js";import{g as r}from"./p-a9a72626.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const p="instant-apps-export calcite-mode-light",c="instant-apps-export-print",l="instant-apps-export-print__legend-container",d="instant-apps-export-print__compass-container",h="instant-apps-export-print__scale-bar-container",u="instant-apps-export-print__popup-container",v="instant-apps-export-print__popup-content",_="instant-apps-export-print__popup-title",x="instant-apps-export-print__view",b="instant-apps-export-print__view-container",g="instant-apps-export-print__views-container",f="instant-apps-export-print__view-wrapper",m="instant-apps-export-print__view-content",w="instant-apps-export-print__view-header",k=class{constructor(i){n(this,i),this.exportOutputUpdated=t(this,"exportOutputUpdated",7),this.legends={},this.compasses={},this.output=void 0,this.beforeExport=()=>Promise.resolve(),this.popoverIcon="export",this.includeLegend=!0,this.includeMap=!0,this.includePopup=!1,this.includeHeader=!1,this.mode="popover",this.popoverPositioning="absolute",this.popoverPlacement="auto",this.scale="m",this.showIncludeLegend=!0,this.showIncludeMap=!1,this.showIncludePopup=!0,this.showIncludeHeader=!0,this.showScaleBar=!1,this.exportViews=void 0,this.baseClass=p,this.exportIsLoading=void 0,this.messages=void 0}watchIncludeMap(n){var t;n&&(null===(t=this.exportViews)||void 0===t||t.forEach((({view:n},t)=>{const i=this.printEl.querySelector(`#legend-${t}`);null!=i&&this.updateLegend(n,t,i)})))}watchView(){var n;null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleIncludePopup(n,t)}))}async componentWillLoad(){this.baseClass="dark"===r(this.el)?"instant-apps-export calcite-mode-dark":p,s(this),await this.initializeModules()}componentDidLoad(){var n;this.printContainerEl.prepend(this.printEl),null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleIncludePopup(n,t)}))}componentDidUpdate(){var n;null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{const i=this.printEl.querySelector(`#legend-${t}`);this.updateLegend(n,t,i)}))}async initializeModules(){const[n,t]=await a(["esri/core/Handles","esri/core/reactiveUtils"]);return this.handles=new n,this.reactiveUtils=t,Promise.resolve()}render(){const n="popover"===this.mode?this.renderPopover():this.renderPanel();return i(e,{key:"52f53735afba2085f45bdd8ba64e8e37b48318bb"},i("div",{key:"ac8fc3e66ccc5f9c27e25642bbe640c3fc8c7d33",class:this.baseClass,onMouseEnter:this.handleWidgetCreation.bind(this),onFocusin:this.handleWidgetCreation.bind(this)},n))}renderPopover(){var n,t,e;const o=this.renderPanel();return[i("calcite-popover",{referenceElement:"export-popover-btn",label:null===(n=this.messages)||void 0===n?void 0:n.exportPopover,overlayPositioning:this.popoverPositioning,placement:this.popoverPlacement,autoClose:!0,ref:n=>this.popoverEl=n},o),i("calcite-action",{id:"export-popover-btn",alignment:"center",icon:this.popoverIcon,scale:this.scale,title:null===(t=this.messages)||void 0===t?void 0:t.exportBtn,text:null===(e=this.messages)||void 0===e?void 0:e.exportBtn})]}renderPanel(){var n;const t=this.showIncludeMap?this.renderSwitch("includeMap"):null,e=this.includeMap?this.renderMapOptions():null,o=this.renderPrint();return i("div",{class:"inline"===this.mode?"instant-apps-export__inline-container":"instant-apps-export__popover-container"},t,e,i("calcite-button",{width:"full",onClick:this.exportOnClick.bind(this),disabled:this.exportIsLoading},null===(n=this.messages)||void 0===n?void 0:n.export),o)}renderSwitch(n,t){var e;const o=null!=t?t:null===(e=this.messages)||void 0===e?void 0:e[n];return i("calcite-label",{layout:"inline-space-between"},o,i("calcite-switch",{checked:this[n],value:n,onCalciteSwitchChange:this.optionOnChange.bind(this)}))}renderMapOptions(){const n=this.showIncludeHeader?this.renderSwitch("includeHeader","Include header"):null,t=this.showIncludeLegend?this.renderSwitch("includeLegend"):null,e=this.showIncludePopup?this.renderSwitch("includePopup"):null;return i("div",null,n,t,e)}renderPrint(){var n;return i("div",{ref:n=>this.printContainerEl=n},i("div",{class:c,ref:n=>this.printEl=n},i("div",{class:g},null===(n=this.exportViews)||void 0===n?void 0:n.map((({title:n,view:t},e)=>{var o,a;const s=null===(a=null===(o=t.map)||void 0===o?void 0:o.portalItem)||void 0===a?void 0:a.id,r=this.includeMap?this.renderPrintMap(n,e):null,p=this.includeMap&&this.showIncludeLegend?this.renderLegend(e):null,c=this.includeMap&&this.showIncludePopup?this.renderPopup(e):null;return i("div",{key:s,id:`print-${e}`,class:m},r,p,c)})))))}renderPrintMap(n,t){return i("div",{id:`view-container-${t}`,class:b},i("div",{id:`view-wrapper-${t}`,class:f},this.includeHeader&&n?i("div",{class:w},i("h1",null,n)):null,i("img",{id:`view-${t}`,class:x}),i("div",{id:`scalebar-container-${t}`,class:h})))}renderLegend(n){return i("div",{id:`legend-${n}`,class:l})}renderCompass(n){return i("div",{id:`compass-${n}`,class:d})}renderPopup(n){return i("div",{id:`popup-${n}`,class:u},i("div",{id:`popup-title-${n}`,class:_}),i("div",{id:`popup-content-${n}`,class:v}))}optionOnChange(n){const{checked:t,value:i}=n.target;this[i]=t,this.updateExportOutput()}async exportOnClick(){var n;await this.beforeExport(),(null===(n=this.exportViews)||void 0===n?void 0:n.length)?(this.addPrintStyling(),document.body.prepend(this.printEl),this.exportViews.forEach((({view:n},t)=>{this.handleViewExportOnClick(n,t)})),this.handleImgLoaded()):null!=this.popoverEl&&(this.popoverEl.open=!1)}async handleViewExportOnClick(n,t){this.includeMap&&(this.updateScaleBar(n,t),this.updatePopupToPrint(n,t),this.viewScreenshot(n,t),this.handleLegendSetup(t))}addPrintStyling(){null==this.printStyleEl&&(this.printStyleEl=document.createElement("style"),this.printStyleEl.innerHTML='\n @media print {\n @page {\n size: Portrait;\n margin: .25in;\n }\n\n html, body {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n\n body > *:not(.instant-apps-export-print) { display: none; }\n }\n\n * {\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n }\n\n instant-apps-header {\n height: 50px;\n display: block;\n }\n\n\n .instant-apps-export-print {\n z-index: -999;\n color: #323232 !important;\n display: grid;\n grid-auto-flow: row;\n --esri-calcite-mode-name: "light";\n position: absolute;\n }\n\n .instant-apps-export-print__view-header {\n background: #fff;\n }\n\n .instant-apps-export-print__view-header h1 {\n font-size: 16px;\n font-weight: 500;\n color: #323232;\n margin: 6px;\n }\n\n .instant-apps-export-print__views-container {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .instant-apps-export-print__view-content:first-child {\n page-break-before: unset;\n } \n\n .instant-apps-export-print__view-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 32px;\n page-break-before: always;\n }\n\n .instant-apps-export-print, .instant-apps-export-print * {\n box-sizing: border-box;\n }\n\n .instant-apps-export-print__view-section {\n height: 100%;\n }\n\n .instant-apps-export-print__view-container {\n height: 100%;\n width: 100%;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__view-wrapper {\n height: fit-content;\n width: min-content;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 2pt solid #323232;\n overflow: hidden;\n }\n\n .instant-apps-export-print__view {\n max-height: 60vh;\n max-width: calc(100vw - .25in);\n object-fit: contain;\n }\n\n .instant-apps-export-print__popup-container {\n height: min-content;\n max-width: 350px;\n display: none;\n color: #323232;\n background: #fff;\n border: 1pt solid #323232;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__popup-title {\n border-bottom: 1pt solid #323232;\n }\n\n .instant-apps-export-print__popup-content {\n background: #fff;\n padding-top: 8pt;\n }\n\n .instant-apps-export-print__popup-content .esri-feature-media__chart {\n background: #fff;\n }\n\n .instant-apps-export-print__legend-container {\n height: min-content;\n background: #fff;\n overflow: unset;\n }\n\n .esri-legend--card, .esri-legend--card__service-content {\n flex-flow: row wrap;\n }\n\n .instant-apps-export-print .esri-widget > *:not(.esri-scale-bar.esri-widget > *) {\n background: #fff;\n color: #323232;\n }\n\n .instant-apps-export-print__popup-content * {\n color: #323232;\n }\n\n .instant-apps-export-print .esri-widget__heading {\n margin: 2pt 7pt;\n padding: 0;\n color: #323232;\n }\n\n .instant-apps-export-print .esri-legend__ramp-label:before {\n border-color: rgba(0,0,0,0) rgba(50,50,50,.8) rgba(0,0,0,0) rgba(0,0,0,0);\n }\n\n .instant-apps-export-print .esri-legend--card__section {\n padding: 4pt 0 4pt;\n min-width: unset;\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__section:first-child {\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service {\n border: none;\n flex: 0 1 auto;\n break-inside: avoid;\n }\n\n .instant-apps-export-print .esri-legend--card {\n border: none;\n gap: 6pt 12pt;\n }\n\n .instant-apps-export-print .esri-legend--card:not(:first-child),\n .instant-apps-export-print .esri-compass.esri-widget:not(:first-child) {\n display: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-container {\n height: unset;\n padding: 0;\n border-bottom: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-text {\n padding-bottom: 4px;\n }\n\n .instant-apps-export-print__compass-container {\n position: absolute;\n top: 65px;\n left: 15px;\n background: #fff;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n --calcite-ui-icon-color: #000;\n border-radius: 50%;\n height: fit-content;\n }\n\n .instant-apps-export-print__compass-container .esri-compass {\n background: #fff;\n }\n\n .instant-apps-export-print__compass-container .esri-compass__icon.esri-icon-compass {\n color: #000;\n }\n\n .instant-apps-export-print__compass-container.esri-compass.esri-widget--button {\n background: #fff;\n }\n\n .instant-apps-export-print__scale-bar-container {\n width: 100%;\n position: absolute;\n bottom: 15px;\n margin: 0 15px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label {\n color: #323232;\n font-size: 10px;\n padding: 0 4px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label-container--line {\n height: 16px;\n overflow: hidden;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label-container--top {\n bottom: 1px;\n }\n \n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label {\n height: 10px;\n padding: 0 2px;\n line-height: 11px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__bar-container:nth-child(1n+3) {\n display: none;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__bar-container.esri-scale-bar__bar-container--line {\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line {\n background-color: rgba(255, 255, 255, 0.66);\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top {\n width: var(--instant-apps-scale-bar-top) !important;\n border-bottom: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom {\n width: var(--instant-apps-scale-bar-bottom) !important;\n border-top: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label-container--line {\n position: unset;\n margin: 0 2px;\n background-color: rgba(255, 255, 255, 0.66);\n height: 10px;\n display: flex;\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:after,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:after {\n background-color: #323232;\n border-right: 2px solid #323232;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__item-navigation {\n display: none;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__chart.esri-feature-media__chart--rendered * {\n width: 100%!important;\n }\n\n .instant-apps-export-print__popup-content .esri-popup__content {\n margin: 0;\n }',document.body.prepend(this.printStyleEl))}handleImgLoaded(){this.exportIsLoading=!0,setTimeout((()=>{this.exportIsLoading=void 0,this.setupViewPrintElements()}),1500)}resetPrintContent(){}async updatePopupToPrint(n,t){var i,e;const o=this.printEl.querySelector(`#popup-${t}`);if(null!=o&&(o.style.display=this.includePopup&&n.popup.visible?"block":"none",this.checkPopupOpen(n,t)),n.popup.visible&&null!=n.popup.selectedFeature){const o=document.createElement(`h${null!==(i=n.popup.headingLevel)&&void 0!==i?i:2}`);o.innerHTML=null!==(e=n.popup.title)&&void 0!==e?e:"",o.className="esri-widget__heading esri-popup__header-title";const a=this.printEl.querySelector(`#popup-title-${t}`);null!=a&&(a.style.display=n.popup.title?"block":"none",a.innerHTML="",a.prepend(o))}}updateExportOutput(){this.output={},this.showIncludeLegend&&(this.output.includeLegend=this.includeLegend),this.showIncludeMap&&(this.output.includeMap=this.includeMap),this.showIncludePopup&&(this.output.includePopup=this.includePopup),this.showIncludeHeader&&(this.output.includeHeader=this.includeHeader),this.exportOutputUpdated.emit()}setupViewPrintElements(){const n=document.title;window.print(),document.title=n,setTimeout((()=>{this.resetPrintContent()}),1e3)}handleLegendSetup(n){var t;const i=this.printEl.querySelector(`#legend-${n}`);if(this.showIncludeLegend&&this.includeMap&&i){const e=this.legends[n],o=null!=e&&(null===(t=e.activeLayerInfos)||void 0===t?void 0:t.length)>0;i.style.display=this.includeLegend&&o?"block":"none"}}handleWidgetCreation(){var n;this.includeMap&&(null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleLegendCreation(n,t)})))}handleIncludePopup(n,t){var i,e;if(this.showIncludePopup){const o=`includePopup-${t}`;null===(i=this.handles)||void 0===i||i.remove(o),null===(e=this.reactiveUtils)||void 0===e||e.whenOnce((()=>null==n?void 0:n.ready)).then((()=>{var t;null===(t=this.handles)||void 0===t||t.add(this.reactiveUtils.watch((()=>{var t;return null===(t=null==n?void 0:n.popup)||void 0===t?void 0:t.visible}),(n=>{this.includePopup=n})),o)}))}}handleLegendCreation(n,t){var i,e,o,a;const s=this.printEl.querySelector(`#legend-${t}`);if(this.showIncludeLegend&&null!=s){const r=n.map,p=this.legends[t],c=null===(i=null==p?void 0:p.view)||void 0===i?void 0:i.map;null!=(null===(e=null==r?void 0:r.portalItem)||void 0===e?void 0:e.id)&&(null===(o=null==r?void 0:r.portalItem)||void 0===o?void 0:o.id)===(null===(a=null==c?void 0:c.portalItem)||void 0===a?void 0:a.id)||this.updateLegend(n,t,s)}}async updateLegend(n,t,i){null==n||n.when((async n=>{if(null==this.legends[t]&&null!=i){i.innerHTML="";const e=document.createElement("div");i.append(e);const[o]=await a(["esri/widgets/Legend"]);this.legends[t]=new o({id:`legend-widget-${t}`,container:e,view:n,style:{type:"card",layout:"side-by-side"}})}}))}handleCompassCreation(n,t){var i,e,o;const a=this.compassContainerEl.querySelector(`#compass-${t}`);if(null!=a){const s=n.map,r=this.compasses[t],p=null===(i=null==r?void 0:r.view)||void 0===i?void 0:i.map;(null===(e=null==s?void 0:s.portalItem)||void 0===e?void 0:e.id)===(null===(o=null==p?void 0:p.portalItem)||void 0===o?void 0:o.id)||this.updateCompass(n,t,a)}}updateCompass(n,t,i){null==n||n.when((async n=>{const e=document.createElement("div");if(null==i)return;i.append(e);const[o]=await a(["esri/widgets/Compass"]);this.compasses[t]=new o({id:`compass-widget-${t}`,container:e,view:n})}))}updateScaleBar(n,t){const i=this.printEl.querySelector(`#scalebar-container-${t}`);if(i&&null!=n&&(i.innerHTML="",this.showScaleBar)){const t=n.ui.getComponents(),e=null==t?void 0:t.find((({container:n})=>{var t;return null===(t=null==n?void 0:n.className)||void 0===t?void 0:t.includes("esri-scale-bar")}));null!=(null==e?void 0:e.container)&&"string"!=typeof e.container&&i.append(e.container.cloneNode(!0))}}async viewScreenshot(n,t){if(this.includeMap){const i=this.printEl.querySelector(`#scalebar-container-${t}`);null==i||i.classList.toggle("instant-apps-export-print__scale-bar-container--position",n.width>1e3);const e=await n.takeScreenshot({width:2*n.width,height:2*n.height});this.handleScaleBarSize(n,e,i);const o=this.printEl.querySelector(`#view-${t}`);null!=e&&null!=o&&(o.src=e.dataUrl)}}checkPopupOpen(n,t){const i=n.popup.container,e=null==i?void 0:i.querySelector(".esri-popup .esri-feature__main-container");if(null!=e){const n=e.querySelectorAll("canvas"),i=this.printEl.querySelector(`#popup-content-${t}`);if(null==i)return;i.innerHTML="",i.append(e.cloneNode(!0));const o=i.querySelectorAll("canvas");n.forEach(((n,t)=>{var i;const e=n.toDataURL(),a=document.createElement("img");a.src=e;const s=n.getAttribute("style");s&&a.setAttribute("style",s);const r=o[t];null!=r&&(r.replaceWith(a),document.querySelector("link[href*='esri/themes/dark/main.css']")&&null!=(null===(i=a.parentElement)||void 0===i?void 0:i.parentElement)&&(a.parentElement.style.background="#242424",a.parentElement.parentElement.style.background="#242424"))}))}}handleScaleBarSize(n,t,i){if(this.showScaleBar&&"2d"===(null==n?void 0:n.type)&&null!=i){const n=i.querySelector(".esri-scale-bar__line--top"),e=i.querySelector(".esri-scale-bar__line--bottom");this.setScalebarWidth(t,i,n,"top"),this.setScalebarWidth(t,i,e,"bottom")}}setScalebarWidth(n,t,i,e){if(null!=i&&null!=n){const o=n.data.width/2,a=Number(i.style.width.replace("px",""));null==t||t.style.setProperty(`--instant-apps-scale-bar-${e}`,a/o*100+"%")}}get el(){return o(this)}static get watchers(){return{includeMap:["watchIncludeMap"],exportViews:["watchView"]}}};k.style=":host{display:block;--instant-apps-export-action-background:var(--calcite-color-foreground-1);--instant-apps-export-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-export-action-background-press:var(--calcite-color-foreground-3);--instant-apps-export-action-height:100%;--instant-apps-export-action-width:fit-content;--instant-apps-export-action-icon-color:var(--calcite-color-text-3);--instant-apps-export-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-export-background:var(--calcite-color-foreground-1);--instant-apps-export-text-color:var(--calcite-color-text-1);--instant-apps-export-popover-width:250px}.instant-apps-export{height:100%}.instant-apps-export *{box-sizing:border-box}.instant-apps-export__popover-container,.instant-apps-export__inline-container{padding:12px;background:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export__popover-container{width:var(--instant-apps-export-popover-width)}.instant-apps-export calcite-action{height:var(--instant-apps-export-action-height);width:var(--instant-apps-export-action-width);--calcite-color-foreground-1:var(--instant-apps-export-action-background);--calcite-color-foreground-2:var(--instant-apps-export-action-background-hover);--calcite-color-foreground-3:var(--instant-apps-export-action-background-press);--calcite-color-text-3:var(--instant-apps-export-action-icon-color);--calcite-color-text-1:var(--instant-apps-export-action-icon-hover-color)}.instant-apps-export .instant-apps-export-print{display:none}.instant-apps-export__visually-hidden{position:absolute;top:0;z-index:-1;visibility:hidden}.instant-apps-export calcite-input{--calcite-color-foreground-1:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export calcite-popover{--calcite-color-foreground-1:var(--instant-apps-export-background)}.instant-apps-export calcite-switch{--calcite-color-foreground-1:#fff;--calcite-color-foreground-2:#f3f3f3}.instant-apps-export calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-export .calcite-mode-dark calcite-switch{--calcite-color-foreground-1:#2b2b2b;--calcite-color-foreground-2:#202020}.instant-apps-export__compass-container.esri-widget{background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.instant-apps-export__compass-container.esri-widget .esri-compass__icon.esri-icon-compass{color:#6e6e6e}.hide{display:none}.screenshotCursor{cursor:crosshair}";export{k as instant_apps_export_views}
6
+ import{r as n,c as t,h as i,H as e,g as o}from"./p-8c40bdec.js";import{l as a}from"./p-a4bd7b09.js";import{g as s}from"./p-1e364924.js";import{g as r}from"./p-a9a72626.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-af2c8aa9.js";const p="instant-apps-export calcite-mode-light",c="instant-apps-export-print",l="instant-apps-export-print__legend-container",d="instant-apps-export-print__compass-container",h="instant-apps-export-print__scale-bar-container",u="instant-apps-export-print__popup-container",v="instant-apps-export-print__popup-content",_="instant-apps-export-print__popup-title",x="instant-apps-export-print__view",b="instant-apps-export-print__view-container",g="instant-apps-export-print__views-container",f="instant-apps-export-print__view-wrapper",m="instant-apps-export-print__view-content",w="instant-apps-export-print__view-header",k=class{constructor(i){n(this,i),this.exportOutputUpdated=t(this,"exportOutputUpdated",7),this.legends={},this.compasses={},this.output=void 0,this.beforeExport=()=>Promise.resolve(),this.popoverIcon="export",this.includeLegend=!0,this.includeMap=!0,this.includePopup=!1,this.includeHeader=!1,this.mode="popover",this.popoverPositioning="absolute",this.popoverPlacement="auto",this.scale="m",this.showIncludeLegend=!0,this.showIncludeMap=!1,this.showIncludePopup=!0,this.showIncludeHeader=!0,this.showScaleBar=!1,this.exportViews=void 0,this.baseClass=p,this.exportIsLoading=void 0,this.messages=void 0}watchIncludeMap(n){var t;n&&(null===(t=this.exportViews)||void 0===t||t.forEach((({view:n},t)=>{const i=this.printEl.querySelector(`#legend-${t}`);null!=i&&this.updateLegend(n,t,i)})))}watchView(){var n;null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleIncludePopup(n,t)}))}async componentWillLoad(){this.baseClass="dark"===r(this.el)?"instant-apps-export calcite-mode-dark":p,s(this),await this.initializeModules()}componentDidLoad(){var n;this.printContainerEl.prepend(this.printEl),null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleIncludePopup(n,t)}))}componentDidUpdate(){var n;null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{const i=this.printEl.querySelector(`#legend-${t}`);this.updateLegend(n,t,i)}))}async initializeModules(){const[n,t]=await a(["esri/core/Handles","esri/core/reactiveUtils"]);return this.handles=new n,this.reactiveUtils=t,Promise.resolve()}render(){const n="popover"===this.mode?this.renderPopover():this.renderPanel();return i(e,{key:"52f53735afba2085f45bdd8ba64e8e37b48318bb"},i("div",{key:"ac8fc3e66ccc5f9c27e25642bbe640c3fc8c7d33",class:this.baseClass,onMouseEnter:this.handleWidgetCreation.bind(this),onFocusin:this.handleWidgetCreation.bind(this)},n))}renderPopover(){var n,t,e;const o=this.renderPanel();return[i("calcite-popover",{referenceElement:"export-popover-btn",label:null===(n=this.messages)||void 0===n?void 0:n.exportPopover,overlayPositioning:this.popoverPositioning,placement:this.popoverPlacement,autoClose:!0,ref:n=>this.popoverEl=n},o),i("calcite-action",{id:"export-popover-btn",alignment:"center",icon:this.popoverIcon,scale:this.scale,title:null===(t=this.messages)||void 0===t?void 0:t.exportBtn,text:null===(e=this.messages)||void 0===e?void 0:e.exportBtn})]}renderPanel(){var n;const t=this.showIncludeMap?this.renderSwitch("includeMap"):null,e=this.includeMap?this.renderMapOptions():null,o=this.renderPrint();return i("div",{class:"inline"===this.mode?"instant-apps-export__inline-container":"instant-apps-export__popover-container"},t,e,i("calcite-button",{width:"full",onClick:this.exportOnClick.bind(this),disabled:this.exportIsLoading},null===(n=this.messages)||void 0===n?void 0:n.export),o)}renderSwitch(n,t){var e;const o=null!=t?t:null===(e=this.messages)||void 0===e?void 0:e[n];return i("calcite-label",{layout:"inline-space-between"},o,i("calcite-switch",{checked:this[n],value:n,onCalciteSwitchChange:this.optionOnChange.bind(this)}))}renderMapOptions(){const n=this.showIncludeHeader?this.renderSwitch("includeHeader","Include header"):null,t=this.showIncludeLegend?this.renderSwitch("includeLegend"):null,e=this.showIncludePopup?this.renderSwitch("includePopup"):null;return i("div",null,n,t,e)}renderPrint(){var n;return i("div",{ref:n=>this.printContainerEl=n},i("div",{class:c,ref:n=>this.printEl=n},i("div",{class:g},null===(n=this.exportViews)||void 0===n?void 0:n.map((({title:n,view:t},e)=>{var o,a;const s=null===(a=null===(o=t.map)||void 0===o?void 0:o.portalItem)||void 0===a?void 0:a.id,r=this.includeMap?this.renderPrintMap(n,e):null,p=this.includeMap&&this.showIncludeLegend?this.renderLegend(e):null,c=this.includeMap&&this.showIncludePopup?this.renderPopup(e):null;return i("div",{key:s,id:`print-${e}`,class:m},r,p,c)})))))}renderPrintMap(n,t){return i("div",{id:`view-container-${t}`,class:b},i("div",{id:`view-wrapper-${t}`,class:f},this.includeHeader&&n?i("div",{class:w},i("h1",null,n)):null,i("img",{id:`view-${t}`,class:x}),i("div",{id:`scalebar-container-${t}`,class:h})))}renderLegend(n){return i("div",{id:`legend-${n}`,class:l})}renderCompass(n){return i("div",{id:`compass-${n}`,class:d})}renderPopup(n){return i("div",{id:`popup-${n}`,class:u},i("div",{id:`popup-title-${n}`,class:_}),i("div",{id:`popup-content-${n}`,class:v}))}optionOnChange(n){const{checked:t,value:i}=n.target;this[i]=t,this.updateExportOutput()}async exportOnClick(){var n;await this.beforeExport(),(null===(n=this.exportViews)||void 0===n?void 0:n.length)?(this.addPrintStyling(),document.body.prepend(this.printEl),this.exportViews.forEach((({view:n},t)=>{this.handleViewExportOnClick(n,t)})),this.handleImgLoaded()):null!=this.popoverEl&&(this.popoverEl.open=!1)}async handleViewExportOnClick(n,t){this.includeMap&&(this.updateScaleBar(n,t),this.updatePopupToPrint(n,t),this.viewScreenshot(n,t),this.handleLegendSetup(t))}addPrintStyling(){null==this.printStyleEl&&(this.printStyleEl=document.createElement("style"),this.printStyleEl.innerHTML='\n @media print {\n @page {\n size: Portrait;\n margin: .25in;\n }\n\n html, body {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n\n body > *:not(.instant-apps-export-print) { display: none; }\n }\n\n * {\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n }\n\n instant-apps-header {\n height: 50px;\n display: block;\n }\n\n\n .instant-apps-export-print {\n z-index: -999;\n color: #323232 !important;\n display: grid;\n grid-auto-flow: row;\n --esri-calcite-mode-name: "light";\n position: absolute;\n }\n\n .instant-apps-export-print__view-header {\n background: #fff;\n }\n\n .instant-apps-export-print__view-header h1 {\n font-size: 16px;\n font-weight: 500;\n color: #323232;\n margin: 6px;\n }\n\n .instant-apps-export-print__views-container {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .instant-apps-export-print__view-content:first-child {\n page-break-before: unset;\n } \n\n .instant-apps-export-print__view-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 32px;\n page-break-before: always;\n }\n\n .instant-apps-export-print, .instant-apps-export-print * {\n box-sizing: border-box;\n }\n\n .instant-apps-export-print__view-section {\n height: 100%;\n }\n\n .instant-apps-export-print__view-container {\n height: 100%;\n width: 100%;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__view-wrapper {\n height: fit-content;\n width: min-content;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 2pt solid #323232;\n overflow: hidden;\n }\n\n .instant-apps-export-print__view {\n max-height: 60vh;\n max-width: calc(100vw - .25in);\n object-fit: contain;\n }\n\n .instant-apps-export-print__popup-container {\n height: min-content;\n max-width: 350px;\n display: none;\n color: #323232;\n background: #fff;\n border: 1pt solid #323232;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__popup-title {\n border-bottom: 1pt solid #323232;\n }\n\n .instant-apps-export-print__popup-content {\n background: #fff;\n padding-top: 8pt;\n }\n\n .instant-apps-export-print__popup-content .esri-feature-media__chart {\n background: #fff;\n }\n\n .instant-apps-export-print__legend-container {\n height: min-content;\n background: #fff;\n overflow: unset;\n }\n\n .esri-legend--card, .esri-legend--card__service-content {\n flex-flow: row wrap;\n }\n\n .instant-apps-export-print .esri-widget > *:not(.esri-scale-bar.esri-widget > *) {\n background: #fff;\n color: #323232;\n }\n\n .instant-apps-export-print__popup-content * {\n color: #323232;\n }\n\n .instant-apps-export-print .esri-widget__heading {\n margin: 2pt 7pt;\n padding: 0;\n color: #323232;\n }\n\n .instant-apps-export-print .esri-legend__ramp-label:before {\n border-color: rgba(0,0,0,0) rgba(50,50,50,.8) rgba(0,0,0,0) rgba(0,0,0,0);\n }\n\n .instant-apps-export-print .esri-legend--card__section {\n padding: 4pt 0 4pt;\n min-width: unset;\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__section:first-child {\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service {\n border: none;\n flex: 0 1 auto;\n break-inside: avoid;\n }\n\n .instant-apps-export-print .esri-legend--card {\n border: none;\n gap: 6pt 12pt;\n }\n\n .instant-apps-export-print .esri-legend--card:not(:first-child),\n .instant-apps-export-print .esri-compass.esri-widget:not(:first-child) {\n display: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-container {\n height: unset;\n padding: 0;\n border-bottom: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-text {\n padding-bottom: 4px;\n }\n\n .instant-apps-export-print__compass-container {\n position: absolute;\n top: 65px;\n left: 15px;\n background: #fff;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n --calcite-ui-icon-color: #000;\n border-radius: 50%;\n height: fit-content;\n }\n\n .instant-apps-export-print__compass-container .esri-compass {\n background: #fff;\n }\n\n .instant-apps-export-print__compass-container .esri-compass__icon.esri-icon-compass {\n color: #000;\n }\n\n .instant-apps-export-print__compass-container.esri-compass.esri-widget--button {\n background: #fff;\n }\n\n .instant-apps-export-print__scale-bar-container {\n width: 100%;\n position: absolute;\n bottom: 15px;\n margin: 0 15px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label {\n color: #323232;\n font-size: 10px;\n padding: 0 4px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label-container--line {\n height: 16px;\n overflow: hidden;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label-container--top {\n bottom: 1px;\n }\n \n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label {\n height: 10px;\n padding: 0 2px;\n line-height: 11px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__bar-container:nth-child(1n+3) {\n display: none;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__bar-container.esri-scale-bar__bar-container--line {\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line {\n background-color: rgba(255, 255, 255, 0.66);\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top {\n width: var(--instant-apps-scale-bar-top) !important;\n border-bottom: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom {\n width: var(--instant-apps-scale-bar-bottom) !important;\n border-top: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label-container--line {\n position: unset;\n margin: 0 2px;\n background-color: rgba(255, 255, 255, 0.66);\n height: 10px;\n display: flex;\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:after,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:after {\n background-color: #323232;\n border-right: 2px solid #323232;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__item-navigation {\n display: none;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__chart.esri-feature-media__chart--rendered * {\n width: 100%!important;\n }\n\n .instant-apps-export-print__popup-content .esri-popup__content {\n margin: 0;\n }',document.body.prepend(this.printStyleEl))}handleImgLoaded(){this.exportIsLoading=!0,setTimeout((()=>{this.exportIsLoading=void 0,this.setupViewPrintElements()}),1500)}resetPrintContent(){}async updatePopupToPrint(n,t){var i,e;const o=this.printEl.querySelector(`#popup-${t}`);if(null!=o&&(o.style.display=this.includePopup&&n.popup.visible?"block":"none",this.checkPopupOpen(n,t)),n.popup.visible&&null!=n.popup.selectedFeature){const o=document.createElement(`h${null!==(i=n.popup.headingLevel)&&void 0!==i?i:2}`);o.innerHTML=null!==(e=n.popup.title)&&void 0!==e?e:"",o.className="esri-widget__heading esri-popup__header-title";const a=this.printEl.querySelector(`#popup-title-${t}`);null!=a&&(a.style.display=n.popup.title?"block":"none",a.innerHTML="",a.prepend(o))}}updateExportOutput(){this.output={},this.showIncludeLegend&&(this.output.includeLegend=this.includeLegend),this.showIncludeMap&&(this.output.includeMap=this.includeMap),this.showIncludePopup&&(this.output.includePopup=this.includePopup),this.showIncludeHeader&&(this.output.includeHeader=this.includeHeader),this.exportOutputUpdated.emit()}setupViewPrintElements(){const n=document.title;window.print(),document.title=n,setTimeout((()=>{this.resetPrintContent()}),1e3)}handleLegendSetup(n){var t;const i=this.printEl.querySelector(`#legend-${n}`);if(this.showIncludeLegend&&this.includeMap&&i){const e=this.legends[n],o=null!=e&&(null===(t=e.activeLayerInfos)||void 0===t?void 0:t.length)>0;i.style.display=this.includeLegend&&o?"block":"none"}}handleWidgetCreation(){var n;this.includeMap&&(null===(n=this.exportViews)||void 0===n||n.forEach((({view:n},t)=>{this.handleLegendCreation(n,t)})))}handleIncludePopup(n,t){var i,e;if(this.showIncludePopup){const o=`includePopup-${t}`;null===(i=this.handles)||void 0===i||i.remove(o),null===(e=this.reactiveUtils)||void 0===e||e.whenOnce((()=>null==n?void 0:n.ready)).then((()=>{var t;null===(t=this.handles)||void 0===t||t.add(this.reactiveUtils.watch((()=>{var t;return null===(t=null==n?void 0:n.popup)||void 0===t?void 0:t.visible}),(n=>{this.includePopup=n})),o)}))}}handleLegendCreation(n,t){var i,e,o,a;const s=this.printEl.querySelector(`#legend-${t}`);if(this.showIncludeLegend&&null!=s){const r=n.map,p=this.legends[t],c=null===(i=null==p?void 0:p.view)||void 0===i?void 0:i.map;null!=(null===(e=null==r?void 0:r.portalItem)||void 0===e?void 0:e.id)&&(null===(o=null==r?void 0:r.portalItem)||void 0===o?void 0:o.id)===(null===(a=null==c?void 0:c.portalItem)||void 0===a?void 0:a.id)||this.updateLegend(n,t,s)}}async updateLegend(n,t,i){null==n||n.when((async n=>{if(null==this.legends[t]&&null!=i){i.innerHTML="";const e=document.createElement("div");i.append(e);const[o]=await a(["esri/widgets/Legend"]);this.legends[t]=new o({id:`legend-widget-${t}`,container:e,view:n,style:{type:"card",layout:"side-by-side"}})}}))}handleCompassCreation(n,t){var i,e,o;const a=this.compassContainerEl.querySelector(`#compass-${t}`);if(null!=a){const s=n.map,r=this.compasses[t],p=null===(i=null==r?void 0:r.view)||void 0===i?void 0:i.map;(null===(e=null==s?void 0:s.portalItem)||void 0===e?void 0:e.id)===(null===(o=null==p?void 0:p.portalItem)||void 0===o?void 0:o.id)||this.updateCompass(n,t,a)}}updateCompass(n,t,i){null==n||n.when((async n=>{const e=document.createElement("div");if(null==i)return;i.append(e);const[o]=await a(["esri/widgets/Compass"]);this.compasses[t]=new o({id:`compass-widget-${t}`,container:e,view:n})}))}updateScaleBar(n,t){const i=this.printEl.querySelector(`#scalebar-container-${t}`);if(i&&null!=n&&(i.innerHTML="",this.showScaleBar)){const t=n.ui.getComponents(),e=null==t?void 0:t.find((({container:n})=>{var t;return null===(t=null==n?void 0:n.className)||void 0===t?void 0:t.includes("esri-scale-bar")}));null!=(null==e?void 0:e.container)&&"string"!=typeof e.container&&i.append(e.container.cloneNode(!0))}}async viewScreenshot(n,t){if(this.includeMap){const i=this.printEl.querySelector(`#scalebar-container-${t}`);null==i||i.classList.toggle("instant-apps-export-print__scale-bar-container--position",n.width>1e3);const e=await n.takeScreenshot({width:2*n.width,height:2*n.height});this.handleScaleBarSize(n,e,i);const o=this.printEl.querySelector(`#view-${t}`);null!=e&&null!=o&&(o.src=e.dataUrl)}}checkPopupOpen(n,t){const i=n.popup.container,e=null==i?void 0:i.querySelector(".esri-popup .esri-feature__main-container");if(null!=e){const n=e.querySelectorAll("canvas"),i=this.printEl.querySelector(`#popup-content-${t}`);if(null==i)return;i.innerHTML="",i.append(e.cloneNode(!0));const o=i.querySelectorAll("canvas");n.forEach(((n,t)=>{var i;const e=n.toDataURL(),a=document.createElement("img");a.src=e;const s=n.getAttribute("style");s&&a.setAttribute("style",s);const r=o[t];null!=r&&(r.replaceWith(a),document.querySelector("link[href*='esri/themes/dark/main.css']")&&null!=(null===(i=a.parentElement)||void 0===i?void 0:i.parentElement)&&(a.parentElement.style.background="#242424",a.parentElement.parentElement.style.background="#242424"))}))}}handleScaleBarSize(n,t,i){if(this.showScaleBar&&"2d"===(null==n?void 0:n.type)&&null!=i){const n=i.querySelector(".esri-scale-bar__line--top"),e=i.querySelector(".esri-scale-bar__line--bottom");this.setScalebarWidth(t,i,n,"top"),this.setScalebarWidth(t,i,e,"bottom")}}setScalebarWidth(n,t,i,e){if(null!=i&&null!=n){const o=n.data.width/2,a=Number(i.style.width.replace("px",""));null==t||t.style.setProperty(`--instant-apps-scale-bar-${e}`,a/o*100+"%")}}get el(){return o(this)}static get watchers(){return{includeMap:["watchIncludeMap"],exportViews:["watchView"]}}};k.style=":host{display:block;--instant-apps-export-action-background:var(--calcite-color-foreground-1);--instant-apps-export-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-export-action-background-press:var(--calcite-color-foreground-3);--instant-apps-export-action-height:100%;--instant-apps-export-action-width:fit-content;--instant-apps-export-action-icon-color:var(--calcite-color-text-3);--instant-apps-export-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-export-background:var(--calcite-color-foreground-1);--instant-apps-export-text-color:var(--calcite-color-text-1);--instant-apps-export-popover-width:250px}.instant-apps-export{height:100%}.instant-apps-export *{box-sizing:border-box}.instant-apps-export__popover-container,.instant-apps-export__inline-container{padding:12px;background:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export__popover-container{width:var(--instant-apps-export-popover-width)}.instant-apps-export calcite-action{height:var(--instant-apps-export-action-height);width:var(--instant-apps-export-action-width);--calcite-color-foreground-1:var(--instant-apps-export-action-background);--calcite-color-foreground-2:var(--instant-apps-export-action-background-hover);--calcite-color-foreground-3:var(--instant-apps-export-action-background-press);--calcite-color-text-3:var(--instant-apps-export-action-icon-color);--calcite-color-text-1:var(--instant-apps-export-action-icon-hover-color)}.instant-apps-export .instant-apps-export-print{display:none}.instant-apps-export__visually-hidden{position:absolute;top:0;z-index:-1;visibility:hidden}.instant-apps-export calcite-input{--calcite-color-foreground-1:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export calcite-popover{--calcite-color-foreground-1:var(--instant-apps-export-background)}.instant-apps-export calcite-switch{--calcite-color-foreground-1:#fff;--calcite-color-foreground-2:#f3f3f3}.instant-apps-export calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-export .calcite-mode-dark calcite-switch{--calcite-color-foreground-1:#2b2b2b;--calcite-color-foreground-2:#202020}.instant-apps-export__compass-container.esri-widget{background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.instant-apps-export__compass-container.esri-widget .esri-compass__icon.esri-icon-compass{color:#6e6e6e}.hide{display:none}.screenshotCursor{cursor:crosshair}";export{k as instant_apps_export_views}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as t,c as i,g as e,h as s}from"./p-8c40bdec.js";import{l as a,g as n}from"./p-075979ef.js";import{P as h}from"./p-21b280a8.js";import{g as l,c as r,h as o}from"./p-d572627c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-3d7eeb2d.js";import"./p-4fe489cf.js";import"./p-2bc98cb0.js";import"./p-4f236b5d.js";import"./p-570b13d9.js";import"./p-0668e30d.js";import"./p-80cb7c73.js";const c=class{constructor(e){t(this,e),this.featureSelect=i(this,"featureSelect",7)}get el(){return e(this)}selectedLayerId;mapView;noFeaturesFoundMsg;pageSize=100;highlightOnMap=!1;highlightOnHover=!1;locale;sortingInfo;whereClause;textSize="large";showInitialLoading=!0;showErrorWhenNoFeatures=!0;showUserImageInList=!1;showFeatureSymbol=!1;applyLayerViewFilter=!1;reportingOptions;_featureItems=[];_featuresCount=0;_isLoading=!1;_translations;Color;esriConfig;symbolUtils;_popupUtils;_selectedLayer;_highlightHandle;_highlights;_pagination;_validFieldTypes=["small-integer","integer","big-integer","single","long"];_abbreviatedLikeCount;_likeFieldAvailable=!1;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async selectedLayerWatchHandler(){this._selectedLayer=await l(this.mapView,this.selectedLayerId),await this.initializeFeatureItems()}async sortingInfoWatchHandler(){await this.initializeFeatureItems()}async whereClauseHandler(){await this.initializeFeatureItems()}async refresh(t){if(t&&this._pagination){const t={target:{startItem:this._pagination.startItem}};await this.pageChanged(t)}else await this.initializeFeatureItems()}featureSelect;async componentWillLoad(){await this.initModules(),await this._getTranslations(),this._isLoading=this.showInitialLoading,this._popupUtils=new h,this.mapView&&this.selectedLayerId&&(this._selectedLayer=await l(this.mapView,this.selectedLayerId))}async componentDidLoad(){await this.initializeFeatureItems()}render(){return s("calcite-panel",{key:"6b6214a3dba7df7c2035203750d547945407ecde","full-height":!0,"full-width":!0},this._isLoading&&s("calcite-loader",{key:"1b05d96de0b4d396b13f448311db76315e28b81b",label:"",scale:"m"}),this.showErrorWhenNoFeatures&&0===this._featureItems.length&&!this._isLoading&&s("calcite-notice",{key:"abe755f0bc5c7ff064249159c3154c9ca1c27594",class:"error-msg",icon:"feature-details",kind:"info",open:!0},s("div",{key:"5a8ead1d47151cf088ae9e359052cf35129b09d3",slot:"message"},this.noFeaturesFoundMsg?this.noFeaturesFoundMsg:this._translations.featureErrorMsg)),s("calcite-list",{key:"cd7049462fb654dad0c4c05f127cf3e5d06bc5de",label:"","selection-appearance":"border","selection-mode":"none"},!this._isLoading&&this._featureItems.length>0&&this._featureItems),this._featuresCount>this.pageSize&&s("div",{key:"b65b1f491800e489790d79054affc0ddcd089d1f",class:"width-full",slot:"footer"},s("calcite-pagination",{key:"280aa2b17c78f53a4f110f8dc021e630241ebbe0",class:"pagination","full-width":!0,onCalcitePaginationChange:this.pageChanged.bind(this),"page-size":this.pageSize,ref:t=>this._pagination=t,"start-item":"1","total-items":this._featuresCount})))}async initModules(){const[t,i,e]=await a(["esri/Color","esri/config","esri/symbols/support/symbolUtils"]);this.Color=t,this.esriConfig=i,this.symbolUtils=e}async getWhereCondition(){let t="1=1";if(this.whereClause&&(t=this.whereClause),this._selectedLayer?.definitionExpression&&(t=t+" AND "+this._selectedLayer.definitionExpression),this.applyLayerViewFilter){const i=await r(this.mapView,this.selectedLayerId);i?.filter?.where&&(t=t+" AND "+i.filter.where)}return t}async initializeFeatureItems(){if(this._selectedLayer){this._pagination?.goTo("start"),this._isLoading=this.showInitialLoading,this._featureItems=await this.queryPage(0);const t={where:await this.getWhereCondition()};this._featuresCount=await this._selectedLayer.queryFeatureCount(t),this._isLoading=!1}}async pageChanged(t){this._isLoading=!0,this._highlightHandle&&(this._highlightHandle.remove(),this._highlightHandle=null);const i=t.target.startItem-1;this._featureItems=await this.queryPage(i),this._isLoading=!1}async featureClicked(t,i){if(this.clearHighlights(),this.highlightOnMap){const i=Number(t.target.value),e=await r(this.mapView,this.selectedLayerId);this._highlightHandle=await o([i],e,this.mapView,!0)}await this.emitSelectedFeature(i)}async emitSelectedFeature(t){const i=t.layer,e=i.createQuery();e.returnGeometry=!0,e.objectIds=[t.getObjectId()];const s=await i.queryFeatures(e);this.featureSelect.emit(s.features[0])}async onFeatureHover(t){if(this.clearHighlights(),this.highlightOnHover){const i=t.getObjectId(),e=await r(this.mapView,this.selectedLayerId);this._highlights&&(e.highlights=JSON.parse(this._highlights)),e.highlightOptions={color:new this.Color("#FFFF00")},this._highlights=JSON.stringify(e.highlights),this._highlightHandle=e.highlight([i])}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}async queryPage(t){const i=this._selectedLayer,e=this.sortingInfo?.field?this.sortingInfo.field:i.objectIdField,s=this.sortingInfo?.order?this.sortingInfo.order:"desc",a=await this.getWhereCondition(),n={start:t,num:this.pageSize,outFields:["*"],returnGeometry:!0,where:a,outSpatialReference:this.mapView.spatialReference.toJSON()};e&&s&&(n.orderByFields=[e.toString()+" "+s]);const h=await i.queryFeatures(n);return await this.createFeatureItem(h)}async createFeatureItem(t){const i=t?.features,e=this.reportingOptions&&this.reportingOptions[this.selectedLayerId].like,s=i.map((async t=>{const i=await this._popupUtils.getPopupTitle(t,this.mapView.map);let s,a;if(this.showUserImageInList){const i=this._selectedLayer.editFieldsInfo?.creatorField;i&&(s=await this.getUserInformation(t))}return this.showFeatureSymbol&&(a=await this.getFeatureSymbol(t)),e&&this.getAbbreviatedLikeCount(t),this.getFeatureItem(t,i,a,s)}));return Promise.all(s)}getAbbreviatedLikeCount(t){const i=this._selectedLayer,e=this.reportingOptions[i.id].likeField;i.fields.forEach((s=>{if(this._validFieldTypes.indexOf(s.type)>-1&&s.name===e&&this.reportingOptions[i.id].like){this._likeFieldAvailable=!0;let i=t.attributes[e]||0;i>999&&(i=i>999999?this._translations.millionsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e6).toString()):this._translations.thousandsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e3).toString())),this._abbreviatedLikeCount=i}}))}getFeatureItem(t,i,e,a){const n=t.attributes[this._selectedLayer.objectIdField].toString();i=i??n;const h=Number(t.attributes[this.reportingOptions?.[this._selectedLayer.id].likeField]).toLocaleString(),l="small"===this.textSize?"feature-list-popup-title-small":"feature-list-popup-title",r=this.showUserImageInList||this.showFeatureSymbol?"feature-list-popup-title-padding-reduced":"feature-list-popup-title-padding";return s("calcite-list-item",{onCalciteListItemSelect:i=>{this.featureClicked(i,t)},onMouseLeave:()=>{this.clearHighlights()},onMouseOver:()=>{this.onFeatureHover(t)},value:n},this.showUserImageInList&&s("calcite-avatar",{class:"profile-img","full-name":a?.fullName,scale:"m",slot:"content-start",thumbnail:a?.userProfileUrl,userId:a?.id,username:a?.fullName?a.username:void 0}),this.showFeatureSymbol&&s("div",{class:"feature-symbol",ref:t=>t&&t.replaceChildren(e),slot:"content-start"}),s("div",{class:`${l} ${r}`,slot:"content-start"},i),this._likeFieldAvailable&&s("div",{class:"like-container",id:n.concat("like"),slot:"content-end"},s("span",null,this._abbreviatedLikeCount),s("calcite-icon",{icon:"thumbs-up",scale:"s"}),s("calcite-tooltip",{overlayPositioning:"fixed",placement:"top","reference-element":n.concat("like")},h)),s("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}async getUserInformation(t){let i=this._selectedLayer.editFieldsInfo?.creatorField;t.attributes.hasOwnProperty(i.toLowerCase())?i=i.toLowerCase():t.attributes.hasOwnProperty(i.toUpperCase())&&(i=i.toUpperCase());let e=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${t.attributes[i]}?f=json&returnUserLicensedItems=true`;const s=this.mapView.map.portalItem.portal?.credential?.token;s&&(e+=`&token=${s}`);const a=await fetch(e),n=await a.json();let h=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${n?.username??t.attributes[i]}/info/blob.png`;return n?.access&&s&&(h+=`?token=${s}`),n.userProfileUrl=h,n}async getFeatureSymbol(t){const i=document.createElement("div");return await this.symbolUtils.getDisplayedSymbol(t).then((async t=>{if(t&&await(this.symbolUtils?.renderPreviewHTML(t,{node:i})),i.children?.length){const t=i.children[0];if(t){const i=Number(t.getAttribute("height")),e=Number(t.getAttribute("width"));e>30?t.setAttribute("width","30"):e<19&&t.setAttribute("width","20"),t.setAttribute("viewBox",`0 0 ${e} ${i}`)}}})),i}async _getTranslations(){const t=await n(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],selectedLayerId:["selectedLayerWatchHandler"],sortingInfo:["sortingInfoWatchHandler"],whereClause:["whereClauseHandler"]}}};c.style=":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-padding{padding:10px 12px}.feature-list-popup-title-padding-reduced{padding:10px 0}.profile-img{margin:0 0.75rem;min-width:32px}.like-container{display:flex;align-items:center;gap:5px;color:gray !important;font-style:italic}.feature-symbol{padding:3px 10px;min-width:30px;display:flex;justify-content:center}";export{c as feature_list}
6
+ import{r as t,c as i,g as e,h as s}from"./p-8c40bdec.js";import{l as a,g as n}from"./p-a23de3b0.js";import{P as h}from"./p-91bb7fdc.js";import{g as l,c as r,h as o}from"./p-d572627c.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-20085e58.js";import"./p-af7e43e0.js";import"./p-2bc98cb0.js";import"./p-4f236b5d.js";import"./p-570b13d9.js";import"./p-0668e30d.js";import"./p-80cb7c73.js";const c=class{constructor(e){t(this,e),this.featureSelect=i(this,"featureSelect",7)}get el(){return e(this)}selectedLayerId;mapView;noFeaturesFoundMsg;pageSize=100;highlightOnMap=!1;highlightOnHover=!1;locale;sortingInfo;whereClause;textSize="large";showInitialLoading=!0;showErrorWhenNoFeatures=!0;showUserImageInList=!1;showFeatureSymbol=!1;applyLayerViewFilter=!1;reportingOptions;_featureItems=[];_featuresCount=0;_isLoading=!1;_translations;Color;esriConfig;symbolUtils;_popupUtils;_selectedLayer;_highlightHandle;_highlights;_pagination;_validFieldTypes=["small-integer","integer","big-integer","single","long"];_abbreviatedLikeCount;_likeFieldAvailable=!1;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async selectedLayerWatchHandler(){this._selectedLayer=await l(this.mapView,this.selectedLayerId),await this.initializeFeatureItems()}async sortingInfoWatchHandler(){await this.initializeFeatureItems()}async whereClauseHandler(){await this.initializeFeatureItems()}async refresh(t){if(t&&this._pagination){const t={target:{startItem:this._pagination.startItem}};await this.pageChanged(t)}else await this.initializeFeatureItems()}featureSelect;async componentWillLoad(){await this.initModules(),await this._getTranslations(),this._isLoading=this.showInitialLoading,this._popupUtils=new h,this.mapView&&this.selectedLayerId&&(this._selectedLayer=await l(this.mapView,this.selectedLayerId))}async componentDidLoad(){await this.initializeFeatureItems()}render(){return s("calcite-panel",{key:"6b6214a3dba7df7c2035203750d547945407ecde","full-height":!0,"full-width":!0},this._isLoading&&s("calcite-loader",{key:"1b05d96de0b4d396b13f448311db76315e28b81b",label:"",scale:"m"}),this.showErrorWhenNoFeatures&&0===this._featureItems.length&&!this._isLoading&&s("calcite-notice",{key:"abe755f0bc5c7ff064249159c3154c9ca1c27594",class:"error-msg",icon:"feature-details",kind:"info",open:!0},s("div",{key:"5a8ead1d47151cf088ae9e359052cf35129b09d3",slot:"message"},this.noFeaturesFoundMsg?this.noFeaturesFoundMsg:this._translations.featureErrorMsg)),s("calcite-list",{key:"cd7049462fb654dad0c4c05f127cf3e5d06bc5de",label:"","selection-appearance":"border","selection-mode":"none"},!this._isLoading&&this._featureItems.length>0&&this._featureItems),this._featuresCount>this.pageSize&&s("div",{key:"b65b1f491800e489790d79054affc0ddcd089d1f",class:"width-full",slot:"footer"},s("calcite-pagination",{key:"280aa2b17c78f53a4f110f8dc021e630241ebbe0",class:"pagination","full-width":!0,onCalcitePaginationChange:this.pageChanged.bind(this),"page-size":this.pageSize,ref:t=>this._pagination=t,"start-item":"1","total-items":this._featuresCount})))}async initModules(){const[t,i,e]=await a(["esri/Color","esri/config","esri/symbols/support/symbolUtils"]);this.Color=t,this.esriConfig=i,this.symbolUtils=e}async getWhereCondition(){let t="1=1";if(this.whereClause&&(t=this.whereClause),this._selectedLayer?.definitionExpression&&(t=t+" AND "+this._selectedLayer.definitionExpression),this.applyLayerViewFilter){const i=await r(this.mapView,this.selectedLayerId);i?.filter?.where&&(t=t+" AND "+i.filter.where)}return t}async initializeFeatureItems(){if(this._selectedLayer){this._pagination?.goTo("start"),this._isLoading=this.showInitialLoading,this._featureItems=await this.queryPage(0);const t={where:await this.getWhereCondition()};this._featuresCount=await this._selectedLayer.queryFeatureCount(t),this._isLoading=!1}}async pageChanged(t){this._isLoading=!0,this._highlightHandle&&(this._highlightHandle.remove(),this._highlightHandle=null);const i=t.target.startItem-1;this._featureItems=await this.queryPage(i),this._isLoading=!1}async featureClicked(t,i){if(this.clearHighlights(),this.highlightOnMap){const i=Number(t.target.value),e=await r(this.mapView,this.selectedLayerId);this._highlightHandle=await o([i],e,this.mapView,!0)}await this.emitSelectedFeature(i)}async emitSelectedFeature(t){const i=t.layer,e=i.createQuery();e.returnGeometry=!0,e.objectIds=[t.getObjectId()];const s=await i.queryFeatures(e);this.featureSelect.emit(s.features[0])}async onFeatureHover(t){if(this.clearHighlights(),this.highlightOnHover){const i=t.getObjectId(),e=await r(this.mapView,this.selectedLayerId);this._highlights&&(e.highlights=JSON.parse(this._highlights)),e.highlightOptions={color:new this.Color("#FFFF00")},this._highlights=JSON.stringify(e.highlights),this._highlightHandle=e.highlight([i])}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}async queryPage(t){const i=this._selectedLayer,e=this.sortingInfo?.field?this.sortingInfo.field:i.objectIdField,s=this.sortingInfo?.order?this.sortingInfo.order:"desc",a=await this.getWhereCondition(),n={start:t,num:this.pageSize,outFields:["*"],returnGeometry:!0,where:a,outSpatialReference:this.mapView.spatialReference.toJSON()};e&&s&&(n.orderByFields=[e.toString()+" "+s]);const h=await i.queryFeatures(n);return await this.createFeatureItem(h)}async createFeatureItem(t){const i=t?.features,e=this.reportingOptions&&this.reportingOptions[this.selectedLayerId].like,s=i.map((async t=>{const i=await this._popupUtils.getPopupTitle(t,this.mapView.map);let s,a;if(this.showUserImageInList){const i=this._selectedLayer.editFieldsInfo?.creatorField;i&&(s=await this.getUserInformation(t))}return this.showFeatureSymbol&&(a=await this.getFeatureSymbol(t)),e&&this.getAbbreviatedLikeCount(t),this.getFeatureItem(t,i,a,s)}));return Promise.all(s)}getAbbreviatedLikeCount(t){const i=this._selectedLayer,e=this.reportingOptions[i.id].likeField;i.fields.forEach((s=>{if(this._validFieldTypes.indexOf(s.type)>-1&&s.name===e&&this.reportingOptions[i.id].like){this._likeFieldAvailable=!0;let i=t.attributes[e]||0;i>999&&(i=i>999999?this._translations.millionsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e6).toString()):this._translations.thousandsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e3).toString())),this._abbreviatedLikeCount=i}}))}getFeatureItem(t,i,e,a){const n=t.attributes[this._selectedLayer.objectIdField].toString();i=i??n;const h=Number(t.attributes[this.reportingOptions?.[this._selectedLayer.id].likeField]).toLocaleString(),l="small"===this.textSize?"feature-list-popup-title-small":"feature-list-popup-title",r=this.showUserImageInList||this.showFeatureSymbol?"feature-list-popup-title-padding-reduced":"feature-list-popup-title-padding";return s("calcite-list-item",{onCalciteListItemSelect:i=>{this.featureClicked(i,t)},onMouseLeave:()=>{this.clearHighlights()},onMouseOver:()=>{this.onFeatureHover(t)},value:n},this.showUserImageInList&&s("calcite-avatar",{class:"profile-img","full-name":a?.fullName,scale:"m",slot:"content-start",thumbnail:a?.userProfileUrl,userId:a?.id,username:a?.fullName?a.username:void 0}),this.showFeatureSymbol&&s("div",{class:"feature-symbol",ref:t=>t&&t.replaceChildren(e),slot:"content-start"}),s("div",{class:`${l} ${r}`,slot:"content-start"},i),this._likeFieldAvailable&&s("div",{class:"like-container",id:n.concat("like"),slot:"content-end"},s("span",null,this._abbreviatedLikeCount),s("calcite-icon",{icon:"thumbs-up",scale:"s"}),s("calcite-tooltip",{overlayPositioning:"fixed",placement:"top","reference-element":n.concat("like")},h)),s("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}async getUserInformation(t){let i=this._selectedLayer.editFieldsInfo?.creatorField;t.attributes.hasOwnProperty(i.toLowerCase())?i=i.toLowerCase():t.attributes.hasOwnProperty(i.toUpperCase())&&(i=i.toUpperCase());let e=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${t.attributes[i]}?f=json&returnUserLicensedItems=true`;const s=this.mapView.map.portalItem.portal?.credential?.token;s&&(e+=`&token=${s}`);const a=await fetch(e),n=await a.json();let h=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${n?.username??t.attributes[i]}/info/blob.png`;return n?.access&&s&&(h+=`?token=${s}`),n.userProfileUrl=h,n}async getFeatureSymbol(t){const i=document.createElement("div");return await this.symbolUtils.getDisplayedSymbol(t).then((async t=>{if(t&&await(this.symbolUtils?.renderPreviewHTML(t,{node:i})),i.children?.length){const t=i.children[0];if(t){const i=Number(t.getAttribute("height")),e=Number(t.getAttribute("width"));e>30?t.setAttribute("width","30"):e<19&&t.setAttribute("width","20"),t.setAttribute("viewBox",`0 0 ${e} ${i}`)}}})),i}async _getTranslations(){const t=await n(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],selectedLayerId:["selectedLayerWatchHandler"],sortingInfo:["sortingInfoWatchHandler"],whereClause:["whereClauseHandler"]}}};c.style=":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-padding{padding:10px 12px}.feature-list-popup-title-padding-reduced{padding:10px 0}.profile-img{margin:0 0.75rem;min-width:32px}.like-container{display:flex;align-items:center;gap:5px;color:gray !important;font-style:italic}.feature-symbol{padding:3px 10px;min-width:30px;display:flex;justify-content:center}";export{c as feature_list}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as t,c as e,h as a,H as s,g as i}from"./p-8c40bdec.js";import{g as n}from"./p-ac122d9e.js";import{S as h}from"./p-2bc98cb0.js";import{w as o}from"./p-04674a1e.js";import{g as r}from"./p-a42ff7fe.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";const d={base:"instant-apps-header--standard",headerContainer:"instant-apps-header__header-container",headerContent:"instant-apps-header__header-content",flipRtl:"instant-apps-header--rtl",logoScale:"instant-apps-header__logo-scale--",logoHeight:"instant-apps-header__logo-height--",standardHeight:"instant-apps-header__standard-height",actionsEndContainer:"instant-apps-header__actions-end-container",alignment:{center:"instant-apps-header__header-content--center",right:"instant-apps-header__header-content--right"}},p=class{constructor(a){t(this,a),this.infoIsOpenChanged=e(this,"infoIsOpenChanged",6),this._sanitizer=new h({whiteList:{h1:["style"],h2:["style"],h3:["style"],h4:["style"],h5:["style"],h6:["style"],img:["style","src","width","height"],pre:["style"],p:["id","class","style"],div:["id","class","style","role"],span:["id","class","style","role"],figure:["class","style"],header:["id","class","style","role"]}},!0),this.dir=void 0,this.titleText=void 0,this.titleTextLink=void 0,this.backgroundColor=void 0,this.textColor=void 0,this.logoImage=void 0,this.logoScale="m",this.logoImageAltText=void 0,this.logoLink=void 0,this.infoButton=!1,this.infoIsOpen=!1,this.infoTitleText=void 0,this.customHeaderHtml=void 0,this.headerAlignment="left",this.customHeaderCss=void 0,this.fontFamily="var(--calcite-sans-family);",this.mobileWidthBreakpoint=o.medium[1],this.initialScale="m"}sanitizeCustomHeaderHtml(){this.customHeaderHtml=this._sanitizer.sanitize(this.customHeaderHtml)}componentWillLoad(){this.dir=n(this.el),this.handleMobileBreakpoints(),this.dir=n(this.el),this.customHeaderHtml=this._sanitizer.sanitize(this.customHeaderHtml)}render(){var t,e,i,n;const h="undefined"===this.logoImage||"undefined"===(null===(e=null===(t=this.logoImage)||void 0===t?void 0:t.split("?"))||void 0===e?void 0:e[0])||""===(null===(n=null===(i=this.logoImage)||void 0===i?void 0:i.split("?"))||void 0===n?void 0:n[0])||!this.logoImage,o=this.renderLogo(h),p=this.renderTitle(),l="right"===this.headerAlignment||"center"===this.headerAlignment?d.headerContent.concat(" ",d.alignment[this.headerAlignment]):d.headerContent,c=r(this.fontFamily);return a(s,{key:"f2d1760c4a1345ef24c913a24f95691d0de6867d"},this.customHeaderHtml?[a("style",null,this.customHeaderCss),a("div",{id:"customHeader",innerHTML:this.customHeaderHtml})]:a("header",{class:`${d.base}${"rtl"===this.dir?` ${d.flipRtl}`:""}${this.logoImage&&!h?` ${d.logoHeight}${this.logoScale}`:` ${d.standardHeight}`}`,style:{backgroundColor:this.backgroundColor,fontFamily:c}},a("div",{class:d.headerContainer},a("span",{class:l},o,p,this.infoButton?a("calcite-button",{style:{"--calcite-color-text-1":this.textColor},id:"infoButton",alignment:"start",appearance:"transparent",kind:"neutral","icon-start":"information-f",scale:"s",label:this.infoTitleText,title:this.infoTitleText,onClick:this.toggleInfo.bind(this)}):null),a("div",{class:d.actionsEndContainer},a("slot",{name:"actions-end"})))))}renderLogo(t){return t?"":this.logoImage&&this.logoLink?a("a",{href:`${this.logoLink}`,target:"_blank"},a("img",{class:`${d.logoScale}${this.logoScale}`,src:`${this.logoImage}`,alt:`${this.logoImageAltText}`})):this.logoImage?a("img",{class:`${d.logoScale}${this.logoScale}`,src:`${this.logoImage}`,alt:this.logoImageAltText}):""}renderTitle(){return this.titleText&&this.titleTextLink?a("a",{style:{color:this.textColor},href:`${this.titleTextLink}`,rel:"noopener noreferrer",target:"_blank"},a("h1",{style:{color:this.textColor}},this.titleText)):a("h1",{style:{color:this.textColor}},this.titleText)}toggleInfo(){return this.infoIsOpen=!this.infoIsOpen,this.infoIsOpenChanged.emit(this.infoIsOpen),Promise.resolve()}mqlCallback(){return t=>{const{matches:e}=t;this.logoScale=e?"s":this.initialScale}}handleMobileBreakpoints(){this.initialScale=this.logoScale;const t=window.matchMedia(`(max-width: ${this.mobileWidthBreakpoint}px)`);t.matches&&(this.logoScale="s"),t.addEventListener("change",this.mqlCallback())}get el(){return i(this)}static get watchers(){return{customHeaderHtml:["sanitizeCustomHeaderHtml"]}}};p.style=":host{--instant-apps-header-height:auto;--instant-apps-header-min-height:50px;--instant-apps-header-title-text-link-decoration:underline;--instant-apps-header-height--logo-scale--s:55px;--instant-apps-header-logo-width--logo-scale--s:35px;--instant-apps-header-logo-height--logo-scale--s:35px;--instant-apps-header-height--logo-scale--m:70px;--instant-apps-header-logo-width--logo-scale--m:50px;--instant-apps-header-logo-height--logo-scale--m:50px;--instant-apps-header-height--logo-scale--l:80px;--instant-apps-header-logo-width--logo-scale--l:60px;--instant-apps-header-logo-height--logo-scale--l:60px;--instant-apps-header-actions-end-height:auto;width:100%}:host .image.image_resized img{width:100%}:host .instant-apps-header--standard{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--instant-apps-header-height);background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);font-family:var(--calcite-sans-family);min-height:var(--instant-apps-header-min-height)}:host .instant-apps-header--standard .instant-apps-header__header-container{display:flex;align-items:center;width:100%;height:inherit}:host .instant-apps-header--standard .instant-apps-header__header-container slot{display:flex;height:inherit}:host .instant-apps-header--standard .instant-apps-header__header-container ::slotted(*){display:flex;min-height:var(--instant-apps-header-min-height);height:var(--instant-apps-header-height)}:host .instant-apps-header--standard .instant-apps-header__header-container ::slotted(*) calcite-button{height:100%}:host .instant-apps-header--standard .instant-apps-header__header-content{box-sizing:border-box;display:flex;align-items:center;width:100%;min-width:0;height:inherit;padding:5px 10px}:host .instant-apps-header--standard .instant-apps-header__header-content a{display:flex;align-items:center;-webkit-text-decoration:var(--instant-apps-header-title-text-link-decoration);text-decoration:var(--instant-apps-header-title-text-link-decoration)}:host .instant-apps-header--standard .instant-apps-header__header-content a img{padding-right:0}:host .instant-apps-header--standard .instant-apps-header__header-content img{margin:10px}:host .instant-apps-header--standard .instant-apps-header__header-content h1{margin:0;font-size:1.25rem;color:var(--calcite-color-text-1);font-weight:430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .instant-apps-header--standard .instant-apps-header__header-content #infoButton{margin-inline-start:10px}:host .instant-apps-header--standard .instant-apps-header__header-content--center{justify-content:center}:host .instant-apps-header--standard .instant-apps-header__header-content--right{justify-content:end}:host .instant-apps-header__logo-height--s{height:var(--instant-apps-header-height--logo-scale--s)}:host .instant-apps-header__logo-height--s .instant-apps-header__header-content h1{font-size:1.125rem}:host .instant-apps-header__logo-scale--s{width:var(--instant-apps-header-logo-width--logo-scale--s);height:var(--instant-apps-header-logo-height--logo-scale--s)}:host .instant-apps-header__logo-height--m{height:var(--instant-apps-header-height--logo-scale--m)}:host .instant-apps-header__logo-scale--m{width:var(--instant-apps-header-logo-width--logo-scale--m);height:var(--instant-apps-header-logo-height--logo-scale--m)}:host .instant-apps-header__logo-height--l{height:var(--instant-apps-header-height--logo-scale--l)}:host .instant-apps-header__logo-height--l .instant-apps-header__header-content h1{font-size:1.375rem}:host .instant-apps-header__logo-scale--l{width:var(--instant-apps-header-logo-width--logo-scale--l);height:var(--instant-apps-header-logo-height--logo-scale--l)}:host .instant-apps-header__actions-end-container{height:var(--instant-apps-header-actions-end-height);display:flex}:host .instant-apps-header__sign-in-container{height:inherit;display:flex;align-items:center}:host .instant-apps-header__sign-in-container calcite-dropdown,:host .instant-apps-header__sign-in-container calcite-navigation-user{height:100%}:host .instant-apps-header__sign-in-container calcite-button{margin:0 10px}:host .instant-apps-header__sign-in-container calcite-dropdown-group{min-width:140px}";export{p as instant_apps_header}
6
+ import{r as t,c as e,h as a,H as s,g as i}from"./p-8c40bdec.js";import{g as n}from"./p-af2c8aa9.js";import{S as h}from"./p-2bc98cb0.js";import{w as o}from"./p-04674a1e.js";import{g as r}from"./p-a42ff7fe.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";const d={base:"instant-apps-header--standard",headerContainer:"instant-apps-header__header-container",headerContent:"instant-apps-header__header-content",flipRtl:"instant-apps-header--rtl",logoScale:"instant-apps-header__logo-scale--",logoHeight:"instant-apps-header__logo-height--",standardHeight:"instant-apps-header__standard-height",actionsEndContainer:"instant-apps-header__actions-end-container",alignment:{center:"instant-apps-header__header-content--center",right:"instant-apps-header__header-content--right"}},p=class{constructor(a){t(this,a),this.infoIsOpenChanged=e(this,"infoIsOpenChanged",6),this._sanitizer=new h({whiteList:{h1:["style"],h2:["style"],h3:["style"],h4:["style"],h5:["style"],h6:["style"],img:["style","src","width","height"],pre:["style"],p:["id","class","style"],div:["id","class","style","role"],span:["id","class","style","role"],figure:["class","style"],header:["id","class","style","role"]}},!0),this.dir=void 0,this.titleText=void 0,this.titleTextLink=void 0,this.backgroundColor=void 0,this.textColor=void 0,this.logoImage=void 0,this.logoScale="m",this.logoImageAltText=void 0,this.logoLink=void 0,this.infoButton=!1,this.infoIsOpen=!1,this.infoTitleText=void 0,this.customHeaderHtml=void 0,this.headerAlignment="left",this.customHeaderCss=void 0,this.fontFamily="var(--calcite-sans-family);",this.mobileWidthBreakpoint=o.medium[1],this.initialScale="m"}sanitizeCustomHeaderHtml(){this.customHeaderHtml=this._sanitizer.sanitize(this.customHeaderHtml)}componentWillLoad(){this.dir=n(this.el),this.handleMobileBreakpoints(),this.dir=n(this.el),this.customHeaderHtml=this._sanitizer.sanitize(this.customHeaderHtml)}render(){var t,e,i,n;const h="undefined"===this.logoImage||"undefined"===(null===(e=null===(t=this.logoImage)||void 0===t?void 0:t.split("?"))||void 0===e?void 0:e[0])||""===(null===(n=null===(i=this.logoImage)||void 0===i?void 0:i.split("?"))||void 0===n?void 0:n[0])||!this.logoImage,o=this.renderLogo(h),p=this.renderTitle(),l="right"===this.headerAlignment||"center"===this.headerAlignment?d.headerContent.concat(" ",d.alignment[this.headerAlignment]):d.headerContent,c=r(this.fontFamily);return a(s,{key:"f2d1760c4a1345ef24c913a24f95691d0de6867d"},this.customHeaderHtml?[a("style",null,this.customHeaderCss),a("div",{id:"customHeader",innerHTML:this.customHeaderHtml})]:a("header",{class:`${d.base}${"rtl"===this.dir?` ${d.flipRtl}`:""}${this.logoImage&&!h?` ${d.logoHeight}${this.logoScale}`:` ${d.standardHeight}`}`,style:{backgroundColor:this.backgroundColor,fontFamily:c}},a("div",{class:d.headerContainer},a("span",{class:l},o,p,this.infoButton?a("calcite-button",{style:{"--calcite-color-text-1":this.textColor},id:"infoButton",alignment:"start",appearance:"transparent",kind:"neutral","icon-start":"information-f",scale:"s",label:this.infoTitleText,title:this.infoTitleText,onClick:this.toggleInfo.bind(this)}):null),a("div",{class:d.actionsEndContainer},a("slot",{name:"actions-end"})))))}renderLogo(t){return t?"":this.logoImage&&this.logoLink?a("a",{href:`${this.logoLink}`,target:"_blank"},a("img",{class:`${d.logoScale}${this.logoScale}`,src:`${this.logoImage}`,alt:`${this.logoImageAltText}`})):this.logoImage?a("img",{class:`${d.logoScale}${this.logoScale}`,src:`${this.logoImage}`,alt:this.logoImageAltText}):""}renderTitle(){return this.titleText&&this.titleTextLink?a("a",{style:{color:this.textColor},href:`${this.titleTextLink}`,rel:"noopener noreferrer",target:"_blank"},a("h1",{style:{color:this.textColor}},this.titleText)):a("h1",{style:{color:this.textColor}},this.titleText)}toggleInfo(){return this.infoIsOpen=!this.infoIsOpen,this.infoIsOpenChanged.emit(this.infoIsOpen),Promise.resolve()}mqlCallback(){return t=>{const{matches:e}=t;this.logoScale=e?"s":this.initialScale}}handleMobileBreakpoints(){this.initialScale=this.logoScale;const t=window.matchMedia(`(max-width: ${this.mobileWidthBreakpoint}px)`);t.matches&&(this.logoScale="s"),t.addEventListener("change",this.mqlCallback())}get el(){return i(this)}static get watchers(){return{customHeaderHtml:["sanitizeCustomHeaderHtml"]}}};p.style=":host{--instant-apps-header-height:auto;--instant-apps-header-min-height:50px;--instant-apps-header-title-text-link-decoration:underline;--instant-apps-header-height--logo-scale--s:55px;--instant-apps-header-logo-width--logo-scale--s:35px;--instant-apps-header-logo-height--logo-scale--s:35px;--instant-apps-header-height--logo-scale--m:70px;--instant-apps-header-logo-width--logo-scale--m:50px;--instant-apps-header-logo-height--logo-scale--m:50px;--instant-apps-header-height--logo-scale--l:80px;--instant-apps-header-logo-width--logo-scale--l:60px;--instant-apps-header-logo-height--logo-scale--l:60px;--instant-apps-header-actions-end-height:auto;width:100%}:host .image.image_resized img{width:100%}:host .instant-apps-header--standard{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--instant-apps-header-height);background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);font-family:var(--calcite-sans-family);min-height:var(--instant-apps-header-min-height)}:host .instant-apps-header--standard .instant-apps-header__header-container{display:flex;align-items:center;width:100%;height:inherit}:host .instant-apps-header--standard .instant-apps-header__header-container slot{display:flex;height:inherit}:host .instant-apps-header--standard .instant-apps-header__header-container ::slotted(*){display:flex;min-height:var(--instant-apps-header-min-height);height:var(--instant-apps-header-height)}:host .instant-apps-header--standard .instant-apps-header__header-container ::slotted(*) calcite-button{height:100%}:host .instant-apps-header--standard .instant-apps-header__header-content{box-sizing:border-box;display:flex;align-items:center;width:100%;min-width:0;height:inherit;padding:5px 10px}:host .instant-apps-header--standard .instant-apps-header__header-content a{display:flex;align-items:center;-webkit-text-decoration:var(--instant-apps-header-title-text-link-decoration);text-decoration:var(--instant-apps-header-title-text-link-decoration)}:host .instant-apps-header--standard .instant-apps-header__header-content a img{padding-right:0}:host .instant-apps-header--standard .instant-apps-header__header-content img{margin:10px}:host .instant-apps-header--standard .instant-apps-header__header-content h1{margin:0;font-size:1.25rem;color:var(--calcite-color-text-1);font-weight:430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .instant-apps-header--standard .instant-apps-header__header-content #infoButton{margin-inline-start:10px}:host .instant-apps-header--standard .instant-apps-header__header-content--center{justify-content:center}:host .instant-apps-header--standard .instant-apps-header__header-content--right{justify-content:end}:host .instant-apps-header__logo-height--s{height:var(--instant-apps-header-height--logo-scale--s)}:host .instant-apps-header__logo-height--s .instant-apps-header__header-content h1{font-size:1.125rem}:host .instant-apps-header__logo-scale--s{width:var(--instant-apps-header-logo-width--logo-scale--s);height:var(--instant-apps-header-logo-height--logo-scale--s)}:host .instant-apps-header__logo-height--m{height:var(--instant-apps-header-height--logo-scale--m)}:host .instant-apps-header__logo-scale--m{width:var(--instant-apps-header-logo-width--logo-scale--m);height:var(--instant-apps-header-logo-height--logo-scale--m)}:host .instant-apps-header__logo-height--l{height:var(--instant-apps-header-height--logo-scale--l)}:host .instant-apps-header__logo-height--l .instant-apps-header__header-content h1{font-size:1.375rem}:host .instant-apps-header__logo-scale--l{width:var(--instant-apps-header-logo-width--logo-scale--l);height:var(--instant-apps-header-logo-height--logo-scale--l)}:host .instant-apps-header__actions-end-container{height:var(--instant-apps-header-actions-end-height);display:flex}:host .instant-apps-header__sign-in-container{height:inherit;display:flex;align-items:center}:host .instant-apps-header__sign-in-container calcite-dropdown,:host .instant-apps-header__sign-in-container calcite-navigation-user{height:100%}:host .instant-apps-header__sign-in-container calcite-button{margin:0 10px}:host .instant-apps-header__sign-in-container calcite-dropdown-group{min-width:140px}";export{p as instant_apps_header}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as e,f as t,h as i,g as n,c as a}from"./p-8c40bdec.js";import{g as s,m as l,s as o,i as c,a as d,z as r,n as p,l as h,o as v,u as g,p as u}from"./p-c223bd87.js";import{l as m}from"./p-08ad0b7a.js";import{g as f}from"./p-89fbc318.js";import"./p-fa639501.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";const y=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=!1,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){var e;this.expanded=!!(null===(e=this.layerCaption)||void 0===e?void 0:e.expanded)}async componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){return i("div",{key:"ab9a4911afa5f1021f3270c4fec409a708e2ec51",style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service esri-legend__group-layer"},i("instant-apps-interactive-legend-layer-element-caption",{key:"bc80abe473c1b47920a78b072033d5b214f7822c",ref:e=>this.layerCaption=e,class:s(this.el),legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:this.isChild}),i("div",{key:"cf6dc1620eb0a95430129b9d414a9f6b893b61c2",class:"esri-legend__group-content "+(!1===this.expanded?"hide":"show")},i("slot",{key:"f346b52020e3cf4e3a072fdfa17a3762676aba53",name:"content"})))}get el(){return n(this)}};y.style=".sc-instant-apps-interactive-legend-group-legend-element-h{display:block}.sc-instant-apps-interactive-legend-group-legend-element-h .esri-legend__service.sc-instant-apps-interactive-legend-group-legend-element{margin:0;padding:0}.sc-instant-apps-interactive-legend-group-legend-element-h .hide.sc-instant-apps-interactive-legend-group-legend-element{display:none}";const _=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=void 0,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){this.expanded=this.layerCaption.expanded}componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){var e,t;return i("div",{key:"45305a415db8ba0a08ab69de820ff6b8711e1cee",style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service"+(this.activeLayerInfo.parent?" esri-legend__group-layer-child":""),tabIndex:0},i("instant-apps-interactive-legend-layer-element-caption",{key:"7babce8571540883bca9e0ff07c0a152cbb30fbb",ref:e=>this.layerCaption=e,legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:!!this.isChild,class:s(this.el)}),i("div",{key:"c021d9c441c407d5fac6f246eb9f4b6ce76bcaa5",id:`${null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer)||void 0===t?void 0:t.id}-legend-layer`,class:"esri-legend__layer"+(!1===this.expanded?" hide":" show")},i("slot",{key:"761834066d924654c87a39601c1670625c88d863",name:"content"})))}get el(){return n(this)}};_.style=".sc-instant-apps-interactive-legend-layer-element-h{display:block}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__service.sc-instant-apps-interactive-legend-layer-element{padding:0}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-body.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__group-layer-child.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-child-table.sc-instant-apps-interactive-legend-layer-element{margin:0;overflow:hidden}.sc-instant-apps-interactive-legend-layer-element-h .hide.sc-instant-apps-interactive-legend-layer-element{display:none}";const b=class{constructor(t){e(this,t),this.activeLayerInfo=void 0,this.isSizeRamp=void 0,this.isChild=void 0,this.isColorRamp=void 0,this.isRelationshipRamp=void 0,this.isInteractive=void 0,this.zoomTo=void 0,this.legendElement=void 0,this.titleText=void 0,this.legendvm=void 0,this.legendElementIndex=void 0,this.messages=void 0,this.expanded=!0}legendLayerExpandUpdatedEmitted(){this.expanded=this.legendLayerCaption.expanded}render(){var e,t,n,a,s,c,d,r,p;const h=this.isChild?"esri-legend__layer-child-table":"esri-legend__layer-table",v=1===(null===(t=null===(e=this.legendElement)||void 0===e?void 0:e.infos)||void 0===t?void 0:t.length)&&!(null===(s=null===(a=null===(n=this.activeLayerInfo)||void 0===n?void 0:n.layer)||void 0===a?void 0:a.renderer)||void 0===s?void 0:s.field),g=!this.isSizeRamp&&this.isChild||this.isColorRamp?"":" esri-legend__layer-table--size-ramp",u=this.isInteractive?"":" instant-apps-interactive-legend__non-interactive",m=l(this.activeLayerInfo)?" instant-apps-interactive-legend__nested-unique-symbol":"";let f=!(!v||this.expanded||this.zoomTo)||this.expanded;return this.isRelationshipRamp&&(f=o.get("relationshipRampExpandStates")[this.activeLayerInfo.layer.id]),i("div",{key:"cd76a15dfd77c630708e61535a4d22d66385a4bf",class:`${h}${g}${u}${m}`},i("div",{key:"24eb28f5fa505d1d4471a750b5273b34af2f3428",id:`${null===(d=null===(c=this.activeLayerInfo)||void 0===c?void 0:c.layer)||void 0===d?void 0:d.id}-legend-element-caption`,class:this.isRelationshipRamp||!this.titleText&&!this.zoomTo&&v?"hide":"show"},i("instant-apps-interactive-legend-legend-element-caption",{key:"5ffd04439d1c99251e358afcf077628a780c8e40",ref:e=>this.legendLayerCaption=e,legendvm:this.legendvm,activeLayerInfo:this.activeLayerInfo,layer:this.activeLayerInfo.layer,titleText:this.titleText,legendElement:this.legendElement,legendElementIndex:this.legendElementIndex,zoomTo:this.zoomTo,isInteractive:this.isInteractive,messages:this.messages})),i("div",{key:"content",id:`${null===(p=null===(r=this.activeLayerInfo)||void 0===r?void 0:r.layer)||void 0===p?void 0:p.id}-legend-element-content-${this.legendElementIndex}`,class:!1===f?"hide":"show"},i("slot",{key:"c95e14737a003f85f7c494e6d30d9f946bef464a",name:"content"})))}};var L;b.style=".sc-instant-apps-interactive-legend-legend-element-h{display:block}.sc-instant-apps-interactive-legend-legend-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-legend-element,.sc-instant-apps-interactive-legend-legend-element-h .instant-apps-interactive-legend__nested-unique-symbol.sc-instant-apps-interactive-legend-legend-element{margin:0}.sc-instant-apps-interactive-legend-legend-element-h .hide.sc-instant-apps-interactive-legend-legend-element{display:none}",function(e){e.ZoomTo="magnifying-glass-plus",e.ShowAll="list-check-all"}(L||(L={}));const x=class{constructor(t){e(this,t),this.showAllSelectedEvent=a(this,"showAllSelected",7),this.legendLayerExpandUpdatedEvent=a(this,"legendLayerExpandUpdated",7),this.legendvm=void 0,this.activeLayerInfo=void 0,this.layer=void 0,this.titleText=void 0,this.legendElementIndex=void 0,this.zoomTo=void 0,this.isInteractive=void 0,this.legendElement=void 0,this.expanded=!0,this.messages=void 0}render(){var e,t,n,a;const s=l(this.activeLayerInfo),c=p(this.activeLayerInfo),{expanded:d}=this,r=o.get("compact"),h=r?" instant-apps-interactive-legend__layer-caption--compact":"";if(s&&!this.titleText)return null;const v=this.titleText&&i("span",{class:"instant-apps-interactive-legend__legend-layer-caption-text",title:this.titleText},this.titleText),g=(this.isInteractive||c)&&this.renderLegendElementCaptionControls();return i("div",{class:`esri-legend__layer-caption${h}`},i("calcite-action",{onClick:this.toggleExpanded(),icon:!1===d?"chevron-up":"chevron-down",appearance:"transparent",text:!1===d?null===(e=this.messages)||void 0===e?void 0:e.expand:null===(t=this.messages)||void 0===t?void 0:t.collapse,label:!1===d?null===(n=this.messages)||void 0===n?void 0:n.expand:null===(a=this.messages)||void 0===a?void 0:a.collapse,scale:"s"}),r?[v,g]:[g,v])}renderLegendElementCaptionControls(){return i("div",{key:"layer-caption-btn-container",class:"instant-apps-interactive-legend__layer-caption-btn-container"+(this.titleText?"":" instant-apps-interactive-legend__layer-caption-btn-container--no-text")},this.renderShowAllZoomToButtons())}renderShowAllZoomToButtons(){return o.get("compact")?this.renderCompactButtonUI():this.renderButtonUI()}renderCompactButtonUI(){var e,t,n,a,s,l;const{data:o}=c,{id:d}=this.layer||{},r=(null===(t=null===(e=null==o?void 0:o[d])||void 0===e?void 0:e.categories)||void 0===t?void 0:t.size)>1,p="zoomToCompact";return[this.zoomTo&&[i("calcite-action",{id:p,class:"instant-apps-interactive-legend__zoom-to-btn",onClick:this.handleZoomTo(),icon:L.ZoomTo,appearance:"transparent",scale:"s",text:null===(n=this.messages)||void 0===n?void 0:n.zoomTo}),i("calcite-tooltip",{"reference-element":p,placement:"top",label:null===(a=this.messages)||void 0===a?void 0:a.zoomTo},null===(s=this.messages)||void 0===s?void 0:s.zoomTo)],r&&i("button",{onClick:this.handleShowAll(),class:"instant-apps-interactive-legend__show-all-btn"},null===(l=this.messages)||void 0===l?void 0:l.showAll)]}renderButtonUI(){var e,t,n,a,s,l,o,d;const{data:r}=c,{id:p}=this.layer||{},h="showAll",v="zoomTo";return[(null===(t=null===(e=null==r?void 0:r[p])||void 0===e?void 0:e.categories)||void 0===t?void 0:t.size)>1&&[i("calcite-button",{key:"show-all-button",id:h,label:null===(n=this.messages)||void 0===n?void 0:n.showAll,onClick:this.handleShowAll(),iconStart:L.ShowAll,appearance:"outline",round:!0}),i("calcite-tooltip",{referenceElement:h,placement:"top",label:null===(a=this.messages)||void 0===a?void 0:a.showAll},null===(s=this.messages)||void 0===s?void 0:s.showAll)],this.zoomTo&&[i("calcite-button",{key:"zoom-to-button",id:v,label:null===(l=this.messages)||void 0===l?void 0:l.zoomTo,onClick:this.handleZoomTo(),iconStart:L.ZoomTo,appearance:"outline",round:!0}),i("calcite-tooltip",{"reference-element":v,placement:"top",label:null===(o=this.messages)||void 0===o?void 0:o.zoomTo},null===(d=this.messages)||void 0===d?void 0:d.zoomTo)]]}toggleExpanded(){return()=>{var e,t;this.expanded=!this.expanded,this.legendLayerExpandUpdatedEvent.emit(),(null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.legendElements)||void 0===t?void 0:t.filter((e=>"relationship-ramp"===e.type))).length>0&&o.set("relationshipRampExpandStates",Object.assign(Object.assign({},c.relationshipRampExpandStates),{[this.activeLayerInfo.layer.id]:this.expanded}))}}handleZoomTo(){return()=>{const e=h(this.layer),t=d(e,this.legendElement);r(e,this.legendvm.view,t)}}handleShowAll(){return()=>{var e,t;const i=null===(e=c.data)||void 0===e?void 0:e[null===(t=this.layer)||void 0===t?void 0:t.id];d(i,this.legendElement)?(()=>{const e=v(i,this.legendElement.title);g({intLegendLayerData:e,layerId:this.layer.id})})():((()=>{const e=u(i);g({intLegendLayerData:e,layerId:this.layer.id})})(),this.showAllSelectedEvent.emit())}}get el(){return n(this)}};x.style=".sc-instant-apps-interactive-legend-legend-element-caption-h{display:block;--instant-apps-interactive-legend-heading-font-size:1rem;--instant-apps-interactive-legend-heading-font-weight:normal;--instant-apps-interactive-legend-caption-font-weight:normal;--instant-apps-interactive-legend-secondary-color:var(--calcite-color-text-1);--instant-apps-interactive-legend-field-name-font-size:1rem;--instant-apps-interactive-legend-total-feature-count-font-size:0.875rem;--instant-apps-interactive-legend-info-font-size:0.875rem;--instant-apps-interactive-legend-info-item-background--selected:#c7ebff;--instant-apps-interactive-legend-info-item-color--selected:var(--calcite-color-text-2);--instant-apps-interactive-legend-secondary-background-color:var(--calcite-color-background);--instant-apps-interactive-legend-ui-padding:15px 10px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;align-items:center;font-size:var(--instant-apps-interactive-legend-field-name-font-size);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:20px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption{--instant-apps-interactive-legend-ui-padding:5px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;justify-content:flex-end;width:100%}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__show-all-btn.sc-instant-apps-interactive-legend-legend-element-caption{border:none;background-color:transparent;cursor:pointer;color:var(--calcite-ui-brand);font-weight:var(--calcite-font-weight-medium);font-size:0.75rem;padding-inline-start:20px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__zoom-to-btn.sc-instant-apps-interactive-legend-legend-element-caption{--calcite-icon-color:var(--calcite-ui-brand);--calcite-color-transparent-hover:transparent}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__legend-layer-caption-text.sc-instant-apps-interactive-legend-legend-element-caption{display:inline-block;font-size:0.75rem;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__legend-layer-caption-text.sc-instant-apps-interactive-legend-legend-element-caption{display:inline-block;margin-left:5px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:normal}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;white-space:nowrap}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption calcite-button.sc-instant-apps-interactive-legend-legend-element-caption{margin:2px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{font-weight:var(--instant-apps-interactive-legend-caption-font-weight);padding:var(--instant-apps-interactive-legend-ui-padding)}html[dir=rtl] .sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:unset;margin-right:20px}";const w=".esri-relationship-ramp--diamond__middle-column--ramp svg g",k=class{constructor(t){e(this,t),this.cellNodeCounter=0,this.filterMode=void 0,this.activeLayerInfo=void 0,this.legendElement=void 0,this.messages=void 0}applyInteractivity(){this.applyRelationshipRampInteractivity()}showAllSelectedEmitted(){const e=0===c.data[this.activeLayerInfo.layer.id].queryExpressions.length,t=this.relationshipRamp.querySelector(w).children,i=t?Array.from(t):null;e&&(null==i||i.forEach((e=>{e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),e.classList.remove("esri-interactive-legend--selected-cell")})))}async componentWillLoad(){const[e]=await m(["esri/symbols/support/symbolUtils"]);this.symbolUtils=e}render(){var e,t;return i("div",{key:"b24758bce1743ae91567e78df38854fddabf52fd",ref:e=>{if(!(null==e?void 0:e.querySelector("relationshipStyles"))){const t=document.createElement("style");t.id="relationshipStyles",t.innerHTML="\n rect:hover {\n cursor: pointer;\n opacity: 0.8;\n }\n ",null==e||e.appendChild(t)}}},i("span",{key:"e3f3bc2a4e7d423bb6aec2072252654b3ac77b2e",class:"instant-apps-interactive-legend-relationship__instructional-text"},null===(t=null===(e=this.messages)||void 0===e?void 0:e.relationship)||void 0===t?void 0:t.instructionalText),this.renderRelationshipRamp())}renderRelationshipRamp(){var e;const t=(null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer).renderer,n=this.symbolUtils.renderRelationshipRampPreviewHTML(t);return i("div",{ref:e=>{this.relationshipRamp=e,this.applyRelationshipRampInteractivity()},key:"relationship-ramp-diamond",innerHTML:`${null==n?void 0:n.outerHTML}`})}applyRelationshipRampInteractivity(){if(!(this.relationshipRamp&&this.activeLayerInfo&&this.legendElement&&c.data))return;let e=setInterval((()=>{const t=this.relationshipRamp.querySelector(w);t&&(clearInterval(e),this.setupRelationshipDrawingStyle(t.children))}),10)}setupRelationshipDrawingStyle(e){const t=e?Array.from(e):null;if(!t)return;t.map(((e,t)=>{var i,n,a,s,l,o,c,d,r;const p=(null===(n=null===(i=this.activeLayerInfo)||void 0===i?void 0:i.layer)||void 0===n?void 0:n.renderer).uniqueValueInfos;if(p[t]){const i=null===(c=null===(o=null===(l=null===(s=null===(a=null==p?void 0:p[t])||void 0===a?void 0:a.symbol)||void 0===s?void 0:s.data)||void 0===l?void 0:l.symbol)||void 0===o?void 0:o.symbolLayers)||void 0===c?void 0:c[1].color,n=null===(r=null===(d=null==p?void 0:p[t])||void 0===d?void 0:d.symbol)||void 0===r?void 0:r.color;p.forEach(((t,a)=>{var s,l,o,c,d;const r=null===(s=null==t?void 0:t.symbol)||void 0===s?void 0:s.color,p=null===(d=null===(c=null===(o=null===(l=null==t?void 0:t.symbol)||void 0===l?void 0:l.data)||void 0===o?void 0:o.symbol)||void 0===c?void 0:c.symbolLayers)||void 0===d?void 0:d[1].color;let h=!1;h=p?p.every(((e,t)=>e===i[t])):r.r===n.r&&r.g===n.g&&r.b===n.b&&r.a===n.a,h&&this.setCellAttributes(e,a)})),e.classList.add("esri-interactive-legend__svg-rect-element")}}));const i=this.reorderCellNodes(t);this.attachFeatureIndexes(i),this.applyEventHandlers()}setCellAttributes(e,t){const i=this.activeLayerInfo.layer.renderer.uniqueValueInfos,n=this.generateIndexPattern(t);i[n]&&(e.setAttribute("data-color",`${i[n].symbol.color}`),e.setAttribute("data-cell-index",`${n}`),e.setAttribute("tabindex","0"))}generateIndexPattern(e){const{focus:t,numClasses:i}=this.legendElement;return"HL"===t?e:2===i?this.twoClasses(e,t):3===i?this.threeClasses(e,t):4===i?this.fourClasses(e,t):null}twoClasses(e,t){return"HH"===t||null===t?0===e||2===e?e+1:1===e||3===e?e-1:null:"LH"===t?0===e?e+3:1===e?e+1:2===e?e-1:3===e?e-3:4===e?e+0:null:"LL"===t?0===e||1===e?e+2:2===e||3===e?e-2:null:void 0}threeClasses(e,t){return"HH"===t||null===t?0===e||3===e||6===e?e+2:2===e||5===e||8===e?e-2:e:"LH"===t?0===e?e+8:1===e?e+6:2===e?e+4:3===e?e+2:5===e?e-2:6===e?e-4:7===e?e-6:8===e?e-8:e:"LL"===t?0===e||1===e||2===e?e+6:6===e||7===e||8===e?e-6:e:void 0}fourClasses(e,t){return"HH"===t||null===t?0===e||4===e||8===e||12===e?e+3:1===e||5===e||9===e||13===e?e+1:2===e||6===e||10===e||14===e?e-1:3===e||7===e||11===e||15===e?e-3:null:"LH"===t?0===e?e+15:1===e?e+13:2===e?e+11:3===e?e+9:4===e?e+7:5===e?e+5:6===e?e+3:7===e?e+1:8===e?e-1:9===e?e-3:10===e?e-5:11===e?e-7:12===e?e-9:13===e?e-11:14===e?e-13:15===e?e-15:null:"LL"===t?0===e||1===e||2===e||3===e?e+12:4===e||5===e||6===e||7===e?e+4:8===e||9===e||10===e||11===e?e-4:12===e||13===e||14===e||15===e?e-12:null:void 0}reorderCellNodes(e){const t=[];for(;this.cellNodeCounter<=e.length-1;)e.map((e=>{parseInt(e.getAttribute("data-cell-index"))===this.cellNodeCounter&&t.push(e)})),this.cellNodeCounter++;return this.cellNodeCounter=0,t}attachFeatureIndexes(e){const{focus:t,numClasses:i}=this.legendElement;"HH"===t||null===t?this.relationshipFocusIsHighHigh(e,i):"LL"===t?this.relationshipFocusIsLowLow(e,i):"LH"===t?this.relationshipFocusIsLowHigh(e,i):"HL"===t&&this.relationshipFocusIsHighLow(e,i),this.cellNodeCounter=0}relationshipFocusIsHighHigh(e,t){for(let i=t-1;i>=0;i--)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowLow(e,t){for(let i=0;i<t;i++)for(let n=0;n<t;n++)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowHigh(e,t){for(let i=0;i<t;i++)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsHighLow(e,t){for(let i=t-1;i>=0;i--)for(let n=0;n<t;n++)this.setDataAttributes(e,n,i,t),this.cellNodeCounter++}setDataAttributes(e,t,i,n){const a=e[this.cellNodeCounter];2===n?this.twoClassAttributes(a,t,i):3===n?this.threeClassAttributes(a,t,i):this.fourClassAttributes(a,t,i)}twoClassAttributes(e,t,i){const{legendElement:n}=this;"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i)}threeClassAttributes(e,t,i){const{legendElement:n}=this;1===this.cellNodeCounter||3===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter?"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==n.focus?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}fourClassAttributes(e,t,i){const{legendElement:n}=this,{focus:a}=n;1===this.cellNodeCounter||2===this.cellNodeCounter||4===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter||8===this.cellNodeCounter||10===this.cellNodeCounter||11===this.cellNodeCounter||13===this.cellNodeCounter||14===this.cellNodeCounter?"HL"===a?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==a?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}setDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${t}`),e.setAttribute("data-feature-j",`${i}`),this.setDataCellFocus(e,t,i)}swapDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${i}`),e.setAttribute("data-feature-j",`${t}`),this.setDataCellFocus(e,i,t)}setDataCellFocus(e,t,i){const{numClasses:n}=this.legendElement;2===n?this.setDataCellFocusForTwoClasses(e,t,i):3===n?this.setDataCellFocusForThreeClasses(e,t,i):4===n&&this.setDataCellFocusForFourClasses(e,t,i)}setDataCellFocusForTwoClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","HL"):1===t&&1===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForThreeClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM"):0===t&&2===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","ML"):1===t&&1===i?e.setAttribute("data-cell-focus","MM"):1===t&&2===i?e.setAttribute("data-cell-focus","MH"):2===t&&0===i?e.setAttribute("data-cell-focus","HL"):2===t&&1===i?e.setAttribute("data-cell-focus","HM"):2===t&&2===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForFourClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM1"):0===t&&2===i?e.setAttribute("data-cell-focus","LM2"):0===t&&3===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","M1L"):1===t&&1===i?e.setAttribute("data-cell-focus","M1M1"):1===t&&2===i?e.setAttribute("data-cell-focus","M1M2"):1===t&&3===i?e.setAttribute("data-cell-focus","M1H"):2===t&&0===i?e.setAttribute("data-cell-focus","M2L"):2===t&&1===i?e.setAttribute("data-cell-focus","M2M1"):2===t&&2===i?e.setAttribute("data-cell-focus","M2M2"):2===t&&3===i?e.setAttribute("data-cell-focus","M2H"):3===t&&0===i?e.setAttribute("data-cell-focus","HL"):3===t&&1===i?e.setAttribute("data-cell-focus","HM1"):3===t&&2===i?e.setAttribute("data-cell-focus","HM2"):3===t&&3===i&&e.setAttribute("data-cell-focus","HH")}applyEventHandlers(){const e=document.querySelectorAll(".esri-interactive-legend__svg-rect-element");Array.from(e).map((e=>{const t=e.getAttribute("data-feature-i"),i=e.getAttribute("data-feature-j"),n=e.getAttribute("data-cell-focus");e.onclick=()=>{this.handleFilter(t,i,n),this.handleSelectedElement(e)},e.onkeydown=a=>{const{key:s}=a;("Enter"===s||"Space"===s)&&(this.handleFilter(t,i,n),this.handleSelectedElement(e))}}))}async handleFilter(e,t,i){var n,a,s,l,o;const d=this.activeLayerInfo.layer,{authoringInfo:r}=d.renderer,{field1:p,field2:h}=r,{queryExpressions:v,fLayerView:g}=c.data[this.activeLayerInfo.layer.id];if("relationship-ramp"===this.legendElement.type&&r&&p&&h){const c=this.generateExpressionParams(p,h,r,e,t,i),d=this.generateExpressionForRelationship(c);0===v.length?v[0]=d:-1===v.indexOf(d)?v.push(d):v.splice(v.indexOf(d),1);const u=v.join(" OR "),y=null!==(a=null===(n=null==g?void 0:g.filter)||void 0===n?void 0:n.timeExtent)&&void 0!==a?a:null,[_,b]=await m(["esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);if("filter"===(null===(s=this.filterMode)||void 0===s?void 0:s.type))g.filter=new _({where:u,timeExtent:(null===(l=null==g?void 0:g.filter)||void 0===l?void 0:l.timeExtent)?g.filter.timeExtent:null});else if(null===(o=this.filterMode)||void 0===o?void 0:o.effect){const{includedEffect:e,excludedEffect:t}=this.filterMode.effect,i=await f(t,g,"excludedEffect"),n=await f(e,g,"includedEffect");g.featureEffect=new b({filter:new _({where:u,timeExtent:y}),includedEffect:n,excludedEffect:i})}}}generateExpressionParams(e,t,i,n,a,s){const l=[],o=e.field,c=t.field,d=e.classBreakInfos,r=t.classBreakInfos,p=i.field1.hasOwnProperty("normalizationField")?i.field1.normalizationField:null,h=i.field2.hasOwnProperty("normalizationField")?i.field2.normalizationField:null;return d.forEach(((e,t)=>{const i=[];r.forEach(((e,n)=>{i.push([d[t],r[n]])})),l.push(i)})),{data:l,i:n,j:a,field1:p?`(${o}/${p})`:`${o}`,field2:h?`(${c}/${h})`:`${c}`,focus:s}}generateExpressionForRelationship(e){const{focus:t,field1:i,field2:n,data:a,i:s,j:l}=e;return"LL"===t?`${i} >= ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} >= ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:"LM"===t||"LM1"===t||"LM2"===t||"LH"===t?`${i} >= ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} > ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:"ML"===t||"M1L"===t||"M2L"===t||"HL"===t?`${i} > ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} >= ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:`${i} > ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} > ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`}handleSelectedElement(e){const t=e.classList;t.contains("esri-interactive-legend--selected-cell")?(e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),t.remove("esri-interactive-legend--selected-cell")):(t.add("esri-interactive-legend--selected-cell"),e.setAttribute("stroke","black"),e.setAttribute("stroke-width","3px"),e.setAttribute("stroke-opacity","1"))}};k.style=".sc-instant-apps-interactive-legend-relationship-h{display:block}.sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{display:inline-block;width:100%;text-align:center;margin-bottom:10px;background-color:#d2e9f9}.calcite-mode-dark .sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{background-color:var(--calcite-color-brand);color:#151515}";export{y as instant_apps_interactive_legend_group_legend_element,_ as instant_apps_interactive_legend_layer_element,b as instant_apps_interactive_legend_legend_element,x as instant_apps_interactive_legend_legend_element_caption,k as instant_apps_interactive_legend_relationship}
6
+ import{r as e,f as t,h as i,g as n,c as a}from"./p-8c40bdec.js";import{g as s,m as l,s as o,i as c,a as d,z as r,n as p,l as h,o as v,u as g,p as u}from"./p-ea6440fd.js";import{l as m}from"./p-a4bd7b09.js";import{g as f}from"./p-78051ff1.js";import"./p-fa639501.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";const y=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=!1,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){var e;this.expanded=!!(null===(e=this.layerCaption)||void 0===e?void 0:e.expanded)}async componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){return i("div",{key:"ab9a4911afa5f1021f3270c4fec409a708e2ec51",style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service esri-legend__group-layer"},i("instant-apps-interactive-legend-layer-element-caption",{key:"bc80abe473c1b47920a78b072033d5b214f7822c",ref:e=>this.layerCaption=e,class:s(this.el),legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:this.isChild}),i("div",{key:"cf6dc1620eb0a95430129b9d414a9f6b893b61c2",class:"esri-legend__group-content "+(!1===this.expanded?"hide":"show")},i("slot",{key:"f346b52020e3cf4e3a072fdfa17a3762676aba53",name:"content"})))}get el(){return n(this)}};y.style=".sc-instant-apps-interactive-legend-group-legend-element-h{display:block}.sc-instant-apps-interactive-legend-group-legend-element-h .esri-legend__service.sc-instant-apps-interactive-legend-group-legend-element{margin:0;padding:0}.sc-instant-apps-interactive-legend-group-legend-element-h .hide.sc-instant-apps-interactive-legend-group-legend-element{display:none}";const _=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=void 0,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){this.expanded=this.layerCaption.expanded}componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){var e,t;return i("div",{key:"45305a415db8ba0a08ab69de820ff6b8711e1cee",style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service"+(this.activeLayerInfo.parent?" esri-legend__group-layer-child":""),tabIndex:0},i("instant-apps-interactive-legend-layer-element-caption",{key:"7babce8571540883bca9e0ff07c0a152cbb30fbb",ref:e=>this.layerCaption=e,legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:!!this.isChild,class:s(this.el)}),i("div",{key:"c021d9c441c407d5fac6f246eb9f4b6ce76bcaa5",id:`${null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer)||void 0===t?void 0:t.id}-legend-layer`,class:"esri-legend__layer"+(!1===this.expanded?" hide":" show")},i("slot",{key:"761834066d924654c87a39601c1670625c88d863",name:"content"})))}get el(){return n(this)}};_.style=".sc-instant-apps-interactive-legend-layer-element-h{display:block}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__service.sc-instant-apps-interactive-legend-layer-element{padding:0}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-body.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__group-layer-child.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-child-table.sc-instant-apps-interactive-legend-layer-element{margin:0;overflow:hidden}.sc-instant-apps-interactive-legend-layer-element-h .hide.sc-instant-apps-interactive-legend-layer-element{display:none}";const b=class{constructor(t){e(this,t),this.activeLayerInfo=void 0,this.isSizeRamp=void 0,this.isChild=void 0,this.isColorRamp=void 0,this.isRelationshipRamp=void 0,this.isInteractive=void 0,this.zoomTo=void 0,this.legendElement=void 0,this.titleText=void 0,this.legendvm=void 0,this.legendElementIndex=void 0,this.messages=void 0,this.expanded=!0}legendLayerExpandUpdatedEmitted(){this.expanded=this.legendLayerCaption.expanded}render(){var e,t,n,a,s,c,d,r,p;const h=this.isChild?"esri-legend__layer-child-table":"esri-legend__layer-table",v=1===(null===(t=null===(e=this.legendElement)||void 0===e?void 0:e.infos)||void 0===t?void 0:t.length)&&!(null===(s=null===(a=null===(n=this.activeLayerInfo)||void 0===n?void 0:n.layer)||void 0===a?void 0:a.renderer)||void 0===s?void 0:s.field),g=!this.isSizeRamp&&this.isChild||this.isColorRamp?"":" esri-legend__layer-table--size-ramp",u=this.isInteractive?"":" instant-apps-interactive-legend__non-interactive",m=l(this.activeLayerInfo)?" instant-apps-interactive-legend__nested-unique-symbol":"";let f=!(!v||this.expanded||this.zoomTo)||this.expanded;return this.isRelationshipRamp&&(f=o.get("relationshipRampExpandStates")[this.activeLayerInfo.layer.id]),i("div",{key:"cd76a15dfd77c630708e61535a4d22d66385a4bf",class:`${h}${g}${u}${m}`},i("div",{key:"24eb28f5fa505d1d4471a750b5273b34af2f3428",id:`${null===(d=null===(c=this.activeLayerInfo)||void 0===c?void 0:c.layer)||void 0===d?void 0:d.id}-legend-element-caption`,class:this.isRelationshipRamp||!this.titleText&&!this.zoomTo&&v?"hide":"show"},i("instant-apps-interactive-legend-legend-element-caption",{key:"5ffd04439d1c99251e358afcf077628a780c8e40",ref:e=>this.legendLayerCaption=e,legendvm:this.legendvm,activeLayerInfo:this.activeLayerInfo,layer:this.activeLayerInfo.layer,titleText:this.titleText,legendElement:this.legendElement,legendElementIndex:this.legendElementIndex,zoomTo:this.zoomTo,isInteractive:this.isInteractive,messages:this.messages})),i("div",{key:"content",id:`${null===(p=null===(r=this.activeLayerInfo)||void 0===r?void 0:r.layer)||void 0===p?void 0:p.id}-legend-element-content-${this.legendElementIndex}`,class:!1===f?"hide":"show"},i("slot",{key:"c95e14737a003f85f7c494e6d30d9f946bef464a",name:"content"})))}};var L;b.style=".sc-instant-apps-interactive-legend-legend-element-h{display:block}.sc-instant-apps-interactive-legend-legend-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-legend-element,.sc-instant-apps-interactive-legend-legend-element-h .instant-apps-interactive-legend__nested-unique-symbol.sc-instant-apps-interactive-legend-legend-element{margin:0}.sc-instant-apps-interactive-legend-legend-element-h .hide.sc-instant-apps-interactive-legend-legend-element{display:none}",function(e){e.ZoomTo="magnifying-glass-plus",e.ShowAll="list-check-all"}(L||(L={}));const x=class{constructor(t){e(this,t),this.showAllSelectedEvent=a(this,"showAllSelected",7),this.legendLayerExpandUpdatedEvent=a(this,"legendLayerExpandUpdated",7),this.legendvm=void 0,this.activeLayerInfo=void 0,this.layer=void 0,this.titleText=void 0,this.legendElementIndex=void 0,this.zoomTo=void 0,this.isInteractive=void 0,this.legendElement=void 0,this.expanded=!0,this.messages=void 0}render(){var e,t,n,a;const s=l(this.activeLayerInfo),c=p(this.activeLayerInfo),{expanded:d}=this,r=o.get("compact"),h=r?" instant-apps-interactive-legend__layer-caption--compact":"";if(s&&!this.titleText)return null;const v=this.titleText&&i("span",{class:"instant-apps-interactive-legend__legend-layer-caption-text",title:this.titleText},this.titleText),g=(this.isInteractive||c)&&this.renderLegendElementCaptionControls();return i("div",{class:`esri-legend__layer-caption${h}`},i("calcite-action",{onClick:this.toggleExpanded(),icon:!1===d?"chevron-up":"chevron-down",appearance:"transparent",text:!1===d?null===(e=this.messages)||void 0===e?void 0:e.expand:null===(t=this.messages)||void 0===t?void 0:t.collapse,label:!1===d?null===(n=this.messages)||void 0===n?void 0:n.expand:null===(a=this.messages)||void 0===a?void 0:a.collapse,scale:"s"}),r?[v,g]:[g,v])}renderLegendElementCaptionControls(){return i("div",{key:"layer-caption-btn-container",class:"instant-apps-interactive-legend__layer-caption-btn-container"+(this.titleText?"":" instant-apps-interactive-legend__layer-caption-btn-container--no-text")},this.renderShowAllZoomToButtons())}renderShowAllZoomToButtons(){return o.get("compact")?this.renderCompactButtonUI():this.renderButtonUI()}renderCompactButtonUI(){var e,t,n,a,s,l;const{data:o}=c,{id:d}=this.layer||{},r=(null===(t=null===(e=null==o?void 0:o[d])||void 0===e?void 0:e.categories)||void 0===t?void 0:t.size)>1,p="zoomToCompact";return[this.zoomTo&&[i("calcite-action",{id:p,class:"instant-apps-interactive-legend__zoom-to-btn",onClick:this.handleZoomTo(),icon:L.ZoomTo,appearance:"transparent",scale:"s",text:null===(n=this.messages)||void 0===n?void 0:n.zoomTo}),i("calcite-tooltip",{"reference-element":p,placement:"top",label:null===(a=this.messages)||void 0===a?void 0:a.zoomTo},null===(s=this.messages)||void 0===s?void 0:s.zoomTo)],r&&i("button",{onClick:this.handleShowAll(),class:"instant-apps-interactive-legend__show-all-btn"},null===(l=this.messages)||void 0===l?void 0:l.showAll)]}renderButtonUI(){var e,t,n,a,s,l,o,d;const{data:r}=c,{id:p}=this.layer||{},h="showAll",v="zoomTo";return[(null===(t=null===(e=null==r?void 0:r[p])||void 0===e?void 0:e.categories)||void 0===t?void 0:t.size)>1&&[i("calcite-button",{key:"show-all-button",id:h,label:null===(n=this.messages)||void 0===n?void 0:n.showAll,onClick:this.handleShowAll(),iconStart:L.ShowAll,appearance:"outline",round:!0}),i("calcite-tooltip",{referenceElement:h,placement:"top",label:null===(a=this.messages)||void 0===a?void 0:a.showAll},null===(s=this.messages)||void 0===s?void 0:s.showAll)],this.zoomTo&&[i("calcite-button",{key:"zoom-to-button",id:v,label:null===(l=this.messages)||void 0===l?void 0:l.zoomTo,onClick:this.handleZoomTo(),iconStart:L.ZoomTo,appearance:"outline",round:!0}),i("calcite-tooltip",{"reference-element":v,placement:"top",label:null===(o=this.messages)||void 0===o?void 0:o.zoomTo},null===(d=this.messages)||void 0===d?void 0:d.zoomTo)]]}toggleExpanded(){return()=>{var e,t;this.expanded=!this.expanded,this.legendLayerExpandUpdatedEvent.emit(),(null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.legendElements)||void 0===t?void 0:t.filter((e=>"relationship-ramp"===e.type))).length>0&&o.set("relationshipRampExpandStates",Object.assign(Object.assign({},c.relationshipRampExpandStates),{[this.activeLayerInfo.layer.id]:this.expanded}))}}handleZoomTo(){return()=>{const e=h(this.layer),t=d(e,this.legendElement);r(e,this.legendvm.view,t)}}handleShowAll(){return()=>{var e,t;const i=null===(e=c.data)||void 0===e?void 0:e[null===(t=this.layer)||void 0===t?void 0:t.id];d(i,this.legendElement)?(()=>{const e=v(i,this.legendElement.title);g({intLegendLayerData:e,layerId:this.layer.id})})():((()=>{const e=u(i);g({intLegendLayerData:e,layerId:this.layer.id})})(),this.showAllSelectedEvent.emit())}}get el(){return n(this)}};x.style=".sc-instant-apps-interactive-legend-legend-element-caption-h{display:block;--instant-apps-interactive-legend-heading-font-size:1rem;--instant-apps-interactive-legend-heading-font-weight:normal;--instant-apps-interactive-legend-caption-font-weight:normal;--instant-apps-interactive-legend-secondary-color:var(--calcite-color-text-1);--instant-apps-interactive-legend-field-name-font-size:1rem;--instant-apps-interactive-legend-total-feature-count-font-size:0.875rem;--instant-apps-interactive-legend-info-font-size:0.875rem;--instant-apps-interactive-legend-info-item-background--selected:#c7ebff;--instant-apps-interactive-legend-info-item-color--selected:var(--calcite-color-text-2);--instant-apps-interactive-legend-secondary-background-color:var(--calcite-color-background);--instant-apps-interactive-legend-ui-padding:15px 10px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;align-items:center;font-size:var(--instant-apps-interactive-legend-field-name-font-size);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:20px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption{--instant-apps-interactive-legend-ui-padding:5px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;justify-content:flex-end;width:100%}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__show-all-btn.sc-instant-apps-interactive-legend-legend-element-caption{border:none;background-color:transparent;cursor:pointer;color:var(--calcite-ui-brand);font-weight:var(--calcite-font-weight-medium);font-size:0.75rem;padding-inline-start:20px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__zoom-to-btn.sc-instant-apps-interactive-legend-legend-element-caption{--calcite-icon-color:var(--calcite-ui-brand);--calcite-color-transparent-hover:transparent}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption--compact.sc-instant-apps-interactive-legend-legend-element-caption .instant-apps-interactive-legend__legend-layer-caption-text.sc-instant-apps-interactive-legend-legend-element-caption{display:inline-block;font-size:0.75rem;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__legend-layer-caption-text.sc-instant-apps-interactive-legend-legend-element-caption{display:inline-block;margin-left:5px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:normal}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;white-space:nowrap}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption calcite-button.sc-instant-apps-interactive-legend-legend-element-caption{margin:2px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{font-weight:var(--instant-apps-interactive-legend-caption-font-weight);padding:var(--instant-apps-interactive-legend-ui-padding)}html[dir=rtl] .sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:unset;margin-right:20px}";const w=".esri-relationship-ramp--diamond__middle-column--ramp svg g",k=class{constructor(t){e(this,t),this.cellNodeCounter=0,this.filterMode=void 0,this.activeLayerInfo=void 0,this.legendElement=void 0,this.messages=void 0}applyInteractivity(){this.applyRelationshipRampInteractivity()}showAllSelectedEmitted(){const e=0===c.data[this.activeLayerInfo.layer.id].queryExpressions.length,t=this.relationshipRamp.querySelector(w).children,i=t?Array.from(t):null;e&&(null==i||i.forEach((e=>{e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),e.classList.remove("esri-interactive-legend--selected-cell")})))}async componentWillLoad(){const[e]=await m(["esri/symbols/support/symbolUtils"]);this.symbolUtils=e}render(){var e,t;return i("div",{key:"b24758bce1743ae91567e78df38854fddabf52fd",ref:e=>{if(!(null==e?void 0:e.querySelector("relationshipStyles"))){const t=document.createElement("style");t.id="relationshipStyles",t.innerHTML="\n rect:hover {\n cursor: pointer;\n opacity: 0.8;\n }\n ",null==e||e.appendChild(t)}}},i("span",{key:"e3f3bc2a4e7d423bb6aec2072252654b3ac77b2e",class:"instant-apps-interactive-legend-relationship__instructional-text"},null===(t=null===(e=this.messages)||void 0===e?void 0:e.relationship)||void 0===t?void 0:t.instructionalText),this.renderRelationshipRamp())}renderRelationshipRamp(){var e;const t=(null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer).renderer,n=this.symbolUtils.renderRelationshipRampPreviewHTML(t);return i("div",{ref:e=>{this.relationshipRamp=e,this.applyRelationshipRampInteractivity()},key:"relationship-ramp-diamond",innerHTML:`${null==n?void 0:n.outerHTML}`})}applyRelationshipRampInteractivity(){if(!(this.relationshipRamp&&this.activeLayerInfo&&this.legendElement&&c.data))return;let e=setInterval((()=>{const t=this.relationshipRamp.querySelector(w);t&&(clearInterval(e),this.setupRelationshipDrawingStyle(t.children))}),10)}setupRelationshipDrawingStyle(e){const t=e?Array.from(e):null;if(!t)return;t.map(((e,t)=>{var i,n,a,s,l,o,c,d,r;const p=(null===(n=null===(i=this.activeLayerInfo)||void 0===i?void 0:i.layer)||void 0===n?void 0:n.renderer).uniqueValueInfos;if(p[t]){const i=null===(c=null===(o=null===(l=null===(s=null===(a=null==p?void 0:p[t])||void 0===a?void 0:a.symbol)||void 0===s?void 0:s.data)||void 0===l?void 0:l.symbol)||void 0===o?void 0:o.symbolLayers)||void 0===c?void 0:c[1].color,n=null===(r=null===(d=null==p?void 0:p[t])||void 0===d?void 0:d.symbol)||void 0===r?void 0:r.color;p.forEach(((t,a)=>{var s,l,o,c,d;const r=null===(s=null==t?void 0:t.symbol)||void 0===s?void 0:s.color,p=null===(d=null===(c=null===(o=null===(l=null==t?void 0:t.symbol)||void 0===l?void 0:l.data)||void 0===o?void 0:o.symbol)||void 0===c?void 0:c.symbolLayers)||void 0===d?void 0:d[1].color;let h=!1;h=p?p.every(((e,t)=>e===i[t])):r.r===n.r&&r.g===n.g&&r.b===n.b&&r.a===n.a,h&&this.setCellAttributes(e,a)})),e.classList.add("esri-interactive-legend__svg-rect-element")}}));const i=this.reorderCellNodes(t);this.attachFeatureIndexes(i),this.applyEventHandlers()}setCellAttributes(e,t){const i=this.activeLayerInfo.layer.renderer.uniqueValueInfos,n=this.generateIndexPattern(t);i[n]&&(e.setAttribute("data-color",`${i[n].symbol.color}`),e.setAttribute("data-cell-index",`${n}`),e.setAttribute("tabindex","0"))}generateIndexPattern(e){const{focus:t,numClasses:i}=this.legendElement;return"HL"===t?e:2===i?this.twoClasses(e,t):3===i?this.threeClasses(e,t):4===i?this.fourClasses(e,t):null}twoClasses(e,t){return"HH"===t||null===t?0===e||2===e?e+1:1===e||3===e?e-1:null:"LH"===t?0===e?e+3:1===e?e+1:2===e?e-1:3===e?e-3:4===e?e+0:null:"LL"===t?0===e||1===e?e+2:2===e||3===e?e-2:null:void 0}threeClasses(e,t){return"HH"===t||null===t?0===e||3===e||6===e?e+2:2===e||5===e||8===e?e-2:e:"LH"===t?0===e?e+8:1===e?e+6:2===e?e+4:3===e?e+2:5===e?e-2:6===e?e-4:7===e?e-6:8===e?e-8:e:"LL"===t?0===e||1===e||2===e?e+6:6===e||7===e||8===e?e-6:e:void 0}fourClasses(e,t){return"HH"===t||null===t?0===e||4===e||8===e||12===e?e+3:1===e||5===e||9===e||13===e?e+1:2===e||6===e||10===e||14===e?e-1:3===e||7===e||11===e||15===e?e-3:null:"LH"===t?0===e?e+15:1===e?e+13:2===e?e+11:3===e?e+9:4===e?e+7:5===e?e+5:6===e?e+3:7===e?e+1:8===e?e-1:9===e?e-3:10===e?e-5:11===e?e-7:12===e?e-9:13===e?e-11:14===e?e-13:15===e?e-15:null:"LL"===t?0===e||1===e||2===e||3===e?e+12:4===e||5===e||6===e||7===e?e+4:8===e||9===e||10===e||11===e?e-4:12===e||13===e||14===e||15===e?e-12:null:void 0}reorderCellNodes(e){const t=[];for(;this.cellNodeCounter<=e.length-1;)e.map((e=>{parseInt(e.getAttribute("data-cell-index"))===this.cellNodeCounter&&t.push(e)})),this.cellNodeCounter++;return this.cellNodeCounter=0,t}attachFeatureIndexes(e){const{focus:t,numClasses:i}=this.legendElement;"HH"===t||null===t?this.relationshipFocusIsHighHigh(e,i):"LL"===t?this.relationshipFocusIsLowLow(e,i):"LH"===t?this.relationshipFocusIsLowHigh(e,i):"HL"===t&&this.relationshipFocusIsHighLow(e,i),this.cellNodeCounter=0}relationshipFocusIsHighHigh(e,t){for(let i=t-1;i>=0;i--)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowLow(e,t){for(let i=0;i<t;i++)for(let n=0;n<t;n++)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowHigh(e,t){for(let i=0;i<t;i++)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsHighLow(e,t){for(let i=t-1;i>=0;i--)for(let n=0;n<t;n++)this.setDataAttributes(e,n,i,t),this.cellNodeCounter++}setDataAttributes(e,t,i,n){const a=e[this.cellNodeCounter];2===n?this.twoClassAttributes(a,t,i):3===n?this.threeClassAttributes(a,t,i):this.fourClassAttributes(a,t,i)}twoClassAttributes(e,t,i){const{legendElement:n}=this;"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i)}threeClassAttributes(e,t,i){const{legendElement:n}=this;1===this.cellNodeCounter||3===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter?"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==n.focus?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}fourClassAttributes(e,t,i){const{legendElement:n}=this,{focus:a}=n;1===this.cellNodeCounter||2===this.cellNodeCounter||4===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter||8===this.cellNodeCounter||10===this.cellNodeCounter||11===this.cellNodeCounter||13===this.cellNodeCounter||14===this.cellNodeCounter?"HL"===a?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==a?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}setDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${t}`),e.setAttribute("data-feature-j",`${i}`),this.setDataCellFocus(e,t,i)}swapDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${i}`),e.setAttribute("data-feature-j",`${t}`),this.setDataCellFocus(e,i,t)}setDataCellFocus(e,t,i){const{numClasses:n}=this.legendElement;2===n?this.setDataCellFocusForTwoClasses(e,t,i):3===n?this.setDataCellFocusForThreeClasses(e,t,i):4===n&&this.setDataCellFocusForFourClasses(e,t,i)}setDataCellFocusForTwoClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","HL"):1===t&&1===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForThreeClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM"):0===t&&2===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","ML"):1===t&&1===i?e.setAttribute("data-cell-focus","MM"):1===t&&2===i?e.setAttribute("data-cell-focus","MH"):2===t&&0===i?e.setAttribute("data-cell-focus","HL"):2===t&&1===i?e.setAttribute("data-cell-focus","HM"):2===t&&2===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForFourClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM1"):0===t&&2===i?e.setAttribute("data-cell-focus","LM2"):0===t&&3===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","M1L"):1===t&&1===i?e.setAttribute("data-cell-focus","M1M1"):1===t&&2===i?e.setAttribute("data-cell-focus","M1M2"):1===t&&3===i?e.setAttribute("data-cell-focus","M1H"):2===t&&0===i?e.setAttribute("data-cell-focus","M2L"):2===t&&1===i?e.setAttribute("data-cell-focus","M2M1"):2===t&&2===i?e.setAttribute("data-cell-focus","M2M2"):2===t&&3===i?e.setAttribute("data-cell-focus","M2H"):3===t&&0===i?e.setAttribute("data-cell-focus","HL"):3===t&&1===i?e.setAttribute("data-cell-focus","HM1"):3===t&&2===i?e.setAttribute("data-cell-focus","HM2"):3===t&&3===i&&e.setAttribute("data-cell-focus","HH")}applyEventHandlers(){const e=document.querySelectorAll(".esri-interactive-legend__svg-rect-element");Array.from(e).map((e=>{const t=e.getAttribute("data-feature-i"),i=e.getAttribute("data-feature-j"),n=e.getAttribute("data-cell-focus");e.onclick=()=>{this.handleFilter(t,i,n),this.handleSelectedElement(e)},e.onkeydown=a=>{const{key:s}=a;("Enter"===s||"Space"===s)&&(this.handleFilter(t,i,n),this.handleSelectedElement(e))}}))}async handleFilter(e,t,i){var n,a,s,l,o;const d=this.activeLayerInfo.layer,{authoringInfo:r}=d.renderer,{field1:p,field2:h}=r,{queryExpressions:v,fLayerView:g}=c.data[this.activeLayerInfo.layer.id];if("relationship-ramp"===this.legendElement.type&&r&&p&&h){const c=this.generateExpressionParams(p,h,r,e,t,i),d=this.generateExpressionForRelationship(c);0===v.length?v[0]=d:-1===v.indexOf(d)?v.push(d):v.splice(v.indexOf(d),1);const u=v.join(" OR "),y=null!==(a=null===(n=null==g?void 0:g.filter)||void 0===n?void 0:n.timeExtent)&&void 0!==a?a:null,[_,b]=await m(["esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);if("filter"===(null===(s=this.filterMode)||void 0===s?void 0:s.type))g.filter=new _({where:u,timeExtent:(null===(l=null==g?void 0:g.filter)||void 0===l?void 0:l.timeExtent)?g.filter.timeExtent:null});else if(null===(o=this.filterMode)||void 0===o?void 0:o.effect){const{includedEffect:e,excludedEffect:t}=this.filterMode.effect,i=await f(t,g,"excludedEffect"),n=await f(e,g,"includedEffect");g.featureEffect=new b({filter:new _({where:u,timeExtent:y}),includedEffect:n,excludedEffect:i})}}}generateExpressionParams(e,t,i,n,a,s){const l=[],o=e.field,c=t.field,d=e.classBreakInfos,r=t.classBreakInfos,p=i.field1.hasOwnProperty("normalizationField")?i.field1.normalizationField:null,h=i.field2.hasOwnProperty("normalizationField")?i.field2.normalizationField:null;return d.forEach(((e,t)=>{const i=[];r.forEach(((e,n)=>{i.push([d[t],r[n]])})),l.push(i)})),{data:l,i:n,j:a,field1:p?`(${o}/${p})`:`${o}`,field2:h?`(${c}/${h})`:`${c}`,focus:s}}generateExpressionForRelationship(e){const{focus:t,field1:i,field2:n,data:a,i:s,j:l}=e;return"LL"===t?`${i} >= ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} >= ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:"LM"===t||"LM1"===t||"LM2"===t||"LH"===t?`${i} >= ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} > ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:"ML"===t||"M1L"===t||"M2L"===t||"HL"===t?`${i} > ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} >= ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`:`${i} > ${a[s][l][0].minValue} AND ${i} <= ${a[s][l][0].maxValue} AND ${n} > ${a[s][l][1].minValue} AND ${n} <= ${a[s][l][1].maxValue}`}handleSelectedElement(e){const t=e.classList;t.contains("esri-interactive-legend--selected-cell")?(e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),t.remove("esri-interactive-legend--selected-cell")):(t.add("esri-interactive-legend--selected-cell"),e.setAttribute("stroke","black"),e.setAttribute("stroke-width","3px"),e.setAttribute("stroke-opacity","1"))}};k.style=".sc-instant-apps-interactive-legend-relationship-h{display:block}.sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{display:inline-block;width:100%;text-align:center;margin-bottom:10px;background-color:#d2e9f9}.calcite-mode-dark .sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{background-color:var(--calcite-color-brand);color:#151515}";export{y as instant_apps_interactive_legend_group_legend_element,_ as instant_apps_interactive_legend_layer_element,b as instant_apps_interactive_legend_legend_element,x as instant_apps_interactive_legend_legend_element_caption,k as instant_apps_interactive_legend_relationship}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as t,c as i,g as s,h as e,F as a}from"./p-8c40bdec.js";import{l as h,g as c,f as n}from"./p-075979ef.js";import{b as o,d as l,a as r,c as d}from"./p-d572627c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";const p=class{constructor(s){t(this,s),this.success=i(this,"success",7),this.fail=i(this,"fail",7),this.isActionPending=i(this,"isActionPending",7),this.formReady=i(this,"formReady",7)}get el(){return s(this)}locale;mapView;table;selectedFeature;customizeSubmit=!1;showGuidingMsg=!0;_editorLoading=!1;_translations;Editor;_editor;reactiveUtils;_container;_addingAttachment;_isSubmitBtnClicked=!1;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.init()}))}async _editorLoadingWatchHandler(t){t&&(this._container?.classList.add("display-none"),await this.startCreate(),this._container?.classList.remove("display-none"),this._editorLoading=!1)}async submit(){this._editor&&(this._isSubmitBtnClicked=!0,this._editor.viewModel.featureFormViewModel.submit())}success;fail;isActionPending;formReady;async componentWillLoad(){await this._getTranslations(),await this.initModules()}async init(){this.mapView&&await this.createEditorWidget()}async initModules(){const[t,i]=await h(["esri/widgets/Editor","esri/core/reactiveUtils"]);this.Editor=t,this.reactiveUtils=i}render(){const t=this._editorLoading?"":"display-none";return e(a,{key:"261308f81b5bbed3e136efbb2100db9c1e5994a4"},this.showGuidingMsg&&e("calcite-notice",{key:"3aca1d3f48e46208ce07f2ccdd76ac4af752162d",class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},e("div",{key:"f449d7dcde1cc75bf7470a75ae0ce915ef457459",slot:"message"},this._translations.provideDetailsMsg)),e("calcite-loader",{key:"e94e971b96ddba0ab36f27ffd4e37b820bb2432f",class:t,label:"",scale:"s"}))}async componentDidLoad(){await this.init()}disconnectedCallback(){this._editor&&this._editor.destroy()}async createEditorWidget(){this._editor&&this._editor.destroy(),this._container=document.createElement("div"),this._container?.classList.add("display-none"),this._editor=new this.Editor({view:this.mapView,visibleElements:{snappingControls:!1},container:this._container}),this.el.appendChild(this._container);const t=this.reactiveUtils.watch((()=>this._editor.viewModel.featureTemplatesViewModel.state),(t=>{"ready"===t&&(this._editorLoading=!0)}));this._editor.viewModel.addHandles(t);const i=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"adding-attachment"===t||"editing-attachment"===t?(this._addingAttachment=!0,this.isActionPending.emit(!0)):this._addingAttachment&&(this.isActionPending.emit(!1),this._addingAttachment=!1)}));this._editor.viewModel.addHandles(i);const s=this.reactiveUtils.watch((()=>this._editor.viewModel.featureFormViewModel?.state),(t=>{"ready"===t&&this.formReady.emit()}));this._editor.viewModel.addHandles(s)}async startCreate(){const t=this.selectedFeature.layer,i=this.table,s=t.relationships[0],e=i.relationships.find((i=>t.layerId===i.relatedTableId)),a=await t.queryFeatures({objectIds:[this.selectedFeature.getObjectId()],outFields:[t.objectIdField,s.keyField]}),h=i.templates[0],c={attributeOverrides:this.makeAttributesForRelatedFeature(a.features[0],s,e),layer:i,template:h};await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(c),await this.hideEditorsElements(),this._editor.viewModel.featureFormViewModel.on("submit",this.submitted.bind(this))}async hideEditorsElements(){this.customizeSubmit&&(await this.timeout(700),this.el.querySelector(".esri-editor")?.querySelectorAll("calcite-flow-item")?.forEach((t=>{const i=t.shadowRoot?.querySelector("calcite-panel")?.shadowRoot?.querySelector("article");i?.querySelector("header")?.setAttribute("style","display: none"),i?.querySelector("footer")?.setAttribute("style","display: none")})))}makeAttributesForRelatedFeature(t,i,s){const e=i.keyField;let a;t.attributes.hasOwnProperty(e)?a=t.getAttribute(e):t.attributes.hasOwnProperty(e.toLowerCase())?a=t.getAttribute(e.toLowerCase()):t.attributes.hasOwnProperty(e.toUpperCase())&&(a=t.getAttribute(e.toUpperCase()));let h=s.keyField;const c=this.table.fields.find((t=>t.name.toLocaleLowerCase()===h.toLocaleLowerCase()));return h=c.name,{[h]:a}}async submitted(t){if(t.invalid.length)this._isSubmitBtnClicked=!1;else if(t.valid.length&&this._isSubmitBtnClicked){this._isSubmitBtnClicked=!1;try{await this._editor.activeWorkflow.commit(),this._editor.viewModel.failures?.length&&this._editor.viewModel.failures.some((t=>{if(t.error)throw t.error}))}catch(t){return void this.fail.emit(t)}this.success.emit()}}timeout(t){return new Promise((i=>setTimeout(i,t)))}async _getTranslations(){const t=await c(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],_editorLoading:["_editorLoadingWatchHandler"]}}};p.style=":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)}";const b=class{constructor(s){t(this,s),this.loadingStatus=i(this,"loadingStatus",7),this.commentSelect=i(this,"commentSelect",7),this.addComment=i(this,"addComment",7),this.likeOrDislikeClicked=i(this,"likeOrDislikeClicked",7),this.featureSelectionChange=i(this,"featureSelectionChange",7)}get el(){return s(this)}mapView;graphics;reportingOptions;layerItemsHash;locale;showUserImageInCommentsList=!1;_likeFieldAvailable=!1;_likeCount=0;_disLikeCount=0;_dislikeFieldAvailable=!1;_commentsAvailable=!1;_isLikeBtnClicked=!1;_isDislikeBtnClicked=!1;_relatedFeaturesOIDs;_updating=!1;_infoCard;_commentsList;_selectedGraphic;_likeField;_dislikeField;Graphic;RelationshipQuery;_validFieldTypes=["small-integer","integer","big-integer","single","long"];relatedTableId;async graphicsWatchHandler(){await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}async refresh(t){await this.getCompleteGraphic(t),await this.processComments(),this.isLikeDislikeConfigured(t.layer)?t&&this.graphics.length>1&&this.checkLikeDislikeFields():(this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1)}async back(){this._infoCard.back()}async next(){this._infoCard.next()}async toggleListView(){this._infoCard.toggleListView()}loadingStatus;commentSelect;addComment;likeOrDislikeClicked;featureSelectionChange;async componentWillLoad(){await this._initModules(),await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}render(){const t=this._relatedFeaturesOIDs?.length>0?`objectId in(${this._relatedFeaturesOIDs})`:"1=0";return e("calcite-panel",{key:"be7bebe9da698d963a2602fcacb95ac7206ac1e9","full-height":!0},e("info-card",{key:"1e069f52d59d42f3e2b88463ea7c536c65a0a6b5",allowEditing:!1,graphics:this.graphics,highlightEnabled:!1,isLoading:!1,isMobile:!1,locale:this.locale,mapView:this.mapView,onSelectionChanged:t=>{this.featureSelectionChange.emit(t.detail)},paginationEnabled:!1,position:"relative",ref:t=>this._infoCard=t}),(this._likeFieldAvailable||this._dislikeFieldAvailable||this._commentsAvailable)&&e("div",{key:"d53f5a1726e4c6299ffd04e266d84005181645f6",class:"buttons-container"},this._commentsAvailable&&e("calcite-button",{key:"4c2616cc9e0107258f5313b66ae96fa31fe582c5",appearance:"transparent",iconEnd:"speech-bubble",kind:"neutral",onClick:()=>{this.addComment.emit()},scale:"m"},this._relatedFeaturesOIDs.length),this._likeFieldAvailable&&e("calcite-button",{key:"7c87aa085df04a8b58625097c2ce70e5853b82f9",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&&e("calcite-button",{key:"59eb48b91fc2a394cafdcbeeebf5baafae9a8c9b",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&&e("feature-list",{key:"f34ee203202944666c40e14bdfdc59265414fbe1",class:"height-full",locale:this.locale,mapView:this.mapView,onFeatureSelect:t=>{this.commentSelect.emit(t.detail)},pageSize:5,ref:t=>this._commentsList=t,selectedLayerId:this.relatedTableId,showErrorWhenNoFeatures:!1,showInitialLoading:!1,showUserImageInList:this.showUserImageInCommentsList,textSize:"small",whereClause:t}))}async _initModules(){const[t,i]=await h(["esri/rest/support/RelationshipQuery","esri/Graphic"]);this.RelationshipQuery=t,this.Graphic=i}async getCompleteGraphic(t){if(t){const i=t.layer,s=i.createQuery();s.objectIds=[t.getObjectId()];const e=await i.queryFeatures(s);this._selectedGraphic=e.features[0]}}async processComments(){const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]&&this.reportingOptions[t.id].comment&&t.relationships?.length>0){const i=await o(this.mapView);let s=null,e=null;if(t.relationships.some((a=>{const h=i.filter((i=>t.url===i.url&&i.layerId===a.relatedTableId));if(h&&h.length>0)return s=h[0],e=a.id,!0})),this.relatedTableId=s?.id??"",this.relatedTableId){const i=this._selectedGraphic.attributes[t.objectIdField],a=new this.RelationshipQuery({objectIds:[i],outFields:["*"],relationshipId:e}),h=await t.queryRelatedFeatures(a).catch((t=>{console.error(t)})),c=[];h[i]&&h[i].features.forEach((t=>{c.push(t.attributes[s.objectIdField])})),this._relatedFeaturesOIDs=c,this._commentsAvailable=!0}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1,this.relatedTableId=""}isLikeDislikeConfigured(t){let i=!1,s=!1;if(this.reportingOptions&&this.reportingOptions[t.id]){if(!this.reportingOptions[t.id].like&&!this.reportingOptions[t.id].dislike)return!1;const e=this.reportingOptions[t.id].likeField,a=this.reportingOptions[t.id].dislikeField;if(!e&&!a)return!1;t.fields.forEach((h=>{this._validFieldTypes.indexOf(h.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(h.name===e&&this.reportingOptions[t.id].like?i=!0:h.name===a&&this.reportingOptions[t.id].dislike&&(s=!0))}))}return i||s}checkLikeDislikeFields(){this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1,this._isLikeBtnClicked=!1,this._isDislikeBtnClicked=!1,this._likeCount=0,this._disLikeCount=0;const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]){if(this._likeField=this.reportingOptions[t.id].likeField,this._dislikeField=this.reportingOptions[t.id].dislikeField,!this._likeField&&!this._dislikeField)return;t.fields.forEach((i=>{this._validFieldTypes.indexOf(i.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(i.name===this._likeField&&this.reportingOptions[t.id].like?(this._likeFieldAvailable=!0,this._likeCount=this._selectedGraphic.attributes[i.name]):i.name===this._dislikeField&&this.reportingOptions[t.id].dislike&&(this._dislikeFieldAvailable=!0,this._disLikeCount=this._selectedGraphic.attributes[i.name]))})),this.getFromLocalStorage()}}onLikeButtonClick(){this._isDislikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].dislike&&this.onDislikeButtonClick(),this._isLikeBtnClicked=!this._isLikeBtnClicked,this._isLikeBtnClicked?this._likeCount++:this._likeCount--,this.updateFeaturesLikeDislikeField(this._likeField,this._isLikeBtnClicked)}onDislikeButtonClick(){this._isLikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].like&&this.onLikeButtonClick(),this._isDislikeBtnClicked=!this._isDislikeBtnClicked,this._isDislikeBtnClicked?this._disLikeCount++:this._disLikeCount--,this.updateFeaturesLikeDislikeField(this._dislikeField,this._isDislikeBtnClicked)}async updateFeaturesLikeDislikeField(t,i){const s={},e=this._selectedGraphic.layer;this._updating=!0;const a=this._selectedGraphic;a.attributes[t]=Number(a.attributes[t])+(i?1:-1),s[e.objectIdField]=a.attributes[e.objectIdField],s[t]=a.attributes[t];const h=new this.Graphic;h.attributes=s;const c={updateFeatures:[h]};await e.applyEdits(c).then((()=>{this._selectedGraphic=a,this.setInLocalStorage(),this._updating=!1,this.likeOrDislikeClicked.emit()}),(t=>{this._updating=!1,console.log(t)}))}getFromLocalStorage(){const t=localStorage[this._selectedGraphic.layer.id];if(t){const i=JSON.parse(t).filter((t=>t.id===this._selectedGraphic.getObjectId()));i.length>0&&(this._isLikeBtnClicked=i[0].like,this._isDislikeBtnClicked=i[0].dislike)}}setInLocalStorage(){const t=this._selectedGraphic.layer.id,i=localStorage[t];let s=[];if(i){s=JSON.parse(i);const t=s.findIndex((t=>t.id===this._selectedGraphic.getObjectId()));t>=0&&s.splice(t,1)}s.push({id:this._selectedGraphic.getObjectId(),like:this._isLikeBtnClicked&&0!==this._likeCount,dislike:this._isDislikeBtnClicked&&0!==this._disLikeCount}),localStorage.setItem(t,JSON.stringify(s))}static get watchers(){return{graphics:["graphicsWatchHandler"]}}};b.style=":host{display:block}.buttons-container{align-items:center;display:flex;padding:4px;color:var(--calcite-color-text-1) !important;background-color:var(--calcite-color-foreground-1) !important;border-block-start:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3)}";const y=class{constructor(s){t(this,s),this.layerSelect=i(this,"layerSelect",7),this.layersListLoaded=i(this,"layersListLoaded",7)}get el(){return s(this)}mapView;layers;locale;showFeatureCount=!0;showNextIcon=!1;applyLayerViewFilter=!1;_noLayersToDisplay=!1;_mapLayerIds=[];_isLoading=!1;_translations;_layerItemsHash;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async refresh(){await this.setLayers()}layerSelect;layersListLoaded;async componentWillLoad(){await this._getTranslations()}async componentDidLoad(){await this.setLayers()}render(){return e(a,{key:"a151c8fd65c50aacb23dcd0c858e52c0c7cd7e5e"},this._isLoading&&e("calcite-loader",{key:"544a134bccc29048ca80b996844cc944bcd97a24",label:"",scale:"m"}),!this._isLoading&&this.mapView&&this._noLayersToDisplay&&e("calcite-notice",{key:"7557f91c8c3349c120c043ea59458b4c834dce2e",class:"error-msg",icon:"layers-reference",kind:"danger",open:!0},e("div",{key:"ea8b20f8c7da5053641cfad56e3395ae3c6286f5",slot:"title"},this._translations.error),e("div",{key:"38aaed7b456aba0b1dd70183be03e9133834dfb4",slot:"message"},this._translations.noLayerToDisplayErrorMsg)),!this._isLoading&&this.mapView&&e("calcite-list",{key:"547b0681145fd8d8663b786472be9e5161cbd693",label:"","selection-appearance":"border","selection-mode":"none"},this.renderLayerList()))}async setLayers(){this.mapView&&(this._isLoading=!0,await this.initLayerHash(),this._isLoading=!1)}async initLayerHash(){const t=[];this._layerItemsHash=await l(this.mapView,!0);const i=await r(this.mapView);for(const s of i)if("feature"===s?.type&&this.showFeatureCount){const i=s.createQuery();if(s?.definitionExpression&&(i.where=i.where+" AND "+s.definitionExpression),this.applyLayerViewFilter){const t=await d(this.mapView,s.id);t?.filter?.where&&(i.where=i.where?i.where+" AND "+t.filter.where:t.filter.where)}const e=s.queryFeatureCount(i);t.push(e),e.then((async t=>{const i=isNaN(t)?"":await n(t,{places:0,api:4,type:"decimal"});this._layerItemsHash[s.id].formattedFeatureCount=i}))}await Promise.all(t).then((()=>{const t=this.getLayersToBeShownInList(this._layerItemsHash);this._mapLayerIds=t.reverse(),this.handleNoLayersToDisplay()}),(()=>{this._mapLayerIds=[],this.handleNoLayersToDisplay()}))}handleNoLayersToDisplay(){this._noLayersToDisplay=!(this._mapLayerIds.length>0),this.layersListLoaded.emit(this._mapLayerIds)}getLayersToBeShownInList(t){const i=this.layers?.length>0?this.layers:[];return Object.keys(t).reduce(((t,s)=>(i.indexOf(s)>-1&&t.push(s),t)),[])}renderLayerList(){return this._mapLayerIds.length>0&&this._mapLayerIds.reduce(((t,i)=>(this._layerItemsHash[i]&&t.push(this.getLayerListItem(i)),t)),[])}getLayerListItem(t){const i=this._layerItemsHash[t].formattedFeatureCount;return e("calcite-list-item",{onCalciteListItemSelect:()=>{this.onLayerItemSelected(t)}},e("div",{class:"layer-name",slot:"content-start"},this._layerItemsHash[t].name),this.showFeatureCount&&void 0!==i&&""!==i&&e("div",{class:this.showNextIcon?"":"feature-count",slot:"content-end"},"("+i+")"),this.showNextIcon&&e("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}onLayerItemSelected(t){this.layerSelect.emit({layerId:t,layerName:this._layerItemsHash[t].name})}async _getTranslations(){const t=await c(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"]}}};y.style=":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";export{p as create_related_feature,b as feature_details,y as layer_list}
6
+ import{r as t,c as i,g as s,h as e,F as a}from"./p-8c40bdec.js";import{l as h,g as c,f as n}from"./p-a23de3b0.js";import{b as o,d as l,a as r,c as d}from"./p-d572627c.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";const p=class{constructor(s){t(this,s),this.success=i(this,"success",7),this.fail=i(this,"fail",7),this.isActionPending=i(this,"isActionPending",7),this.formReady=i(this,"formReady",7)}get el(){return s(this)}locale;mapView;table;selectedFeature;customizeSubmit=!1;showGuidingMsg=!0;_editorLoading=!1;_translations;Editor;_editor;reactiveUtils;_container;_addingAttachment;_isSubmitBtnClicked=!1;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.init()}))}async _editorLoadingWatchHandler(t){t&&(this._container?.classList.add("display-none"),await this.startCreate(),this._container?.classList.remove("display-none"),this._editorLoading=!1)}async submit(){this._editor&&(this._isSubmitBtnClicked=!0,this._editor.viewModel.featureFormViewModel.submit())}success;fail;isActionPending;formReady;async componentWillLoad(){await this._getTranslations(),await this.initModules()}async init(){this.mapView&&await this.createEditorWidget()}async initModules(){const[t,i]=await h(["esri/widgets/Editor","esri/core/reactiveUtils"]);this.Editor=t,this.reactiveUtils=i}render(){const t=this._editorLoading?"":"display-none";return e(a,{key:"261308f81b5bbed3e136efbb2100db9c1e5994a4"},this.showGuidingMsg&&e("calcite-notice",{key:"3aca1d3f48e46208ce07f2ccdd76ac4af752162d",class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},e("div",{key:"f449d7dcde1cc75bf7470a75ae0ce915ef457459",slot:"message"},this._translations.provideDetailsMsg)),e("calcite-loader",{key:"e94e971b96ddba0ab36f27ffd4e37b820bb2432f",class:t,label:"",scale:"s"}))}async componentDidLoad(){await this.init()}disconnectedCallback(){this._editor&&this._editor.destroy()}async createEditorWidget(){this._editor&&this._editor.destroy(),this._container=document.createElement("div"),this._container?.classList.add("display-none"),this._editor=new this.Editor({view:this.mapView,visibleElements:{snappingControls:!1},container:this._container}),this.el.appendChild(this._container);const t=this.reactiveUtils.watch((()=>this._editor.viewModel.featureTemplatesViewModel.state),(t=>{"ready"===t&&(this._editorLoading=!0)}));this._editor.viewModel.addHandles(t);const i=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"adding-attachment"===t||"editing-attachment"===t?(this._addingAttachment=!0,this.isActionPending.emit(!0)):this._addingAttachment&&(this.isActionPending.emit(!1),this._addingAttachment=!1)}));this._editor.viewModel.addHandles(i);const s=this.reactiveUtils.watch((()=>this._editor.viewModel.featureFormViewModel?.state),(t=>{"ready"===t&&this.formReady.emit()}));this._editor.viewModel.addHandles(s)}async startCreate(){const t=this.selectedFeature.layer,i=this.table,s=t.relationships[0],e=i.relationships.find((i=>t.layerId===i.relatedTableId)),a=await t.queryFeatures({objectIds:[this.selectedFeature.getObjectId()],outFields:[t.objectIdField,s.keyField]}),h=i.templates[0],c={attributeOverrides:this.makeAttributesForRelatedFeature(a.features[0],s,e),layer:i,template:h};await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(c),await this.hideEditorsElements(),this._editor.viewModel.featureFormViewModel.on("submit",this.submitted.bind(this))}async hideEditorsElements(){this.customizeSubmit&&(await this.timeout(700),this.el.querySelector(".esri-editor")?.querySelectorAll("calcite-flow-item")?.forEach((t=>{const i=t.shadowRoot?.querySelector("calcite-panel")?.shadowRoot?.querySelector("article");i?.querySelector("header")?.setAttribute("style","display: none"),i?.querySelector("footer")?.setAttribute("style","display: none")})))}makeAttributesForRelatedFeature(t,i,s){const e=i.keyField;let a;t.attributes.hasOwnProperty(e)?a=t.getAttribute(e):t.attributes.hasOwnProperty(e.toLowerCase())?a=t.getAttribute(e.toLowerCase()):t.attributes.hasOwnProperty(e.toUpperCase())&&(a=t.getAttribute(e.toUpperCase()));let h=s.keyField;const c=this.table.fields.find((t=>t.name.toLocaleLowerCase()===h.toLocaleLowerCase()));return h=c.name,{[h]:a}}async submitted(t){if(t.invalid.length)this._isSubmitBtnClicked=!1;else if(t.valid.length&&this._isSubmitBtnClicked){this._isSubmitBtnClicked=!1;try{await this._editor.activeWorkflow.commit(),this._editor.viewModel.failures?.length&&this._editor.viewModel.failures.some((t=>{if(t.error)throw t.error}))}catch(t){return void this.fail.emit(t)}this.success.emit()}}timeout(t){return new Promise((i=>setTimeout(i,t)))}async _getTranslations(){const t=await c(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],_editorLoading:["_editorLoadingWatchHandler"]}}};p.style=":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)}";const b=class{constructor(s){t(this,s),this.loadingStatus=i(this,"loadingStatus",7),this.commentSelect=i(this,"commentSelect",7),this.addComment=i(this,"addComment",7),this.likeOrDislikeClicked=i(this,"likeOrDislikeClicked",7),this.featureSelectionChange=i(this,"featureSelectionChange",7)}get el(){return s(this)}mapView;graphics;reportingOptions;layerItemsHash;locale;showUserImageInCommentsList=!1;_likeFieldAvailable=!1;_likeCount=0;_disLikeCount=0;_dislikeFieldAvailable=!1;_commentsAvailable=!1;_isLikeBtnClicked=!1;_isDislikeBtnClicked=!1;_relatedFeaturesOIDs;_updating=!1;_infoCard;_commentsList;_selectedGraphic;_likeField;_dislikeField;Graphic;RelationshipQuery;_validFieldTypes=["small-integer","integer","big-integer","single","long"];relatedTableId;async graphicsWatchHandler(){await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}async refresh(t){await this.getCompleteGraphic(t),await this.processComments(),this.isLikeDislikeConfigured(t.layer)?t&&this.graphics.length>1&&this.checkLikeDislikeFields():(this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1)}async back(){this._infoCard.back()}async next(){this._infoCard.next()}async toggleListView(){this._infoCard.toggleListView()}loadingStatus;commentSelect;addComment;likeOrDislikeClicked;featureSelectionChange;async componentWillLoad(){await this._initModules(),await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}render(){const t=this._relatedFeaturesOIDs?.length>0?`objectId in(${this._relatedFeaturesOIDs})`:"1=0";return e("calcite-panel",{key:"be7bebe9da698d963a2602fcacb95ac7206ac1e9","full-height":!0},e("info-card",{key:"1e069f52d59d42f3e2b88463ea7c536c65a0a6b5",allowEditing:!1,graphics:this.graphics,highlightEnabled:!1,isLoading:!1,isMobile:!1,locale:this.locale,mapView:this.mapView,onSelectionChanged:t=>{this.featureSelectionChange.emit(t.detail)},paginationEnabled:!1,position:"relative",ref:t=>this._infoCard=t}),(this._likeFieldAvailable||this._dislikeFieldAvailable||this._commentsAvailable)&&e("div",{key:"d53f5a1726e4c6299ffd04e266d84005181645f6",class:"buttons-container"},this._commentsAvailable&&e("calcite-button",{key:"4c2616cc9e0107258f5313b66ae96fa31fe582c5",appearance:"transparent",iconEnd:"speech-bubble",kind:"neutral",onClick:()=>{this.addComment.emit()},scale:"m"},this._relatedFeaturesOIDs.length),this._likeFieldAvailable&&e("calcite-button",{key:"7c87aa085df04a8b58625097c2ce70e5853b82f9",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&&e("calcite-button",{key:"59eb48b91fc2a394cafdcbeeebf5baafae9a8c9b",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&&e("feature-list",{key:"f34ee203202944666c40e14bdfdc59265414fbe1",class:"height-full",locale:this.locale,mapView:this.mapView,onFeatureSelect:t=>{this.commentSelect.emit(t.detail)},pageSize:5,ref:t=>this._commentsList=t,selectedLayerId:this.relatedTableId,showErrorWhenNoFeatures:!1,showInitialLoading:!1,showUserImageInList:this.showUserImageInCommentsList,textSize:"small",whereClause:t}))}async _initModules(){const[t,i]=await h(["esri/rest/support/RelationshipQuery","esri/Graphic"]);this.RelationshipQuery=t,this.Graphic=i}async getCompleteGraphic(t){if(t){const i=t.layer,s=i.createQuery();s.objectIds=[t.getObjectId()];const e=await i.queryFeatures(s);this._selectedGraphic=e.features[0]}}async processComments(){const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]&&this.reportingOptions[t.id].comment&&t.relationships?.length>0){const i=await o(this.mapView);let s=null,e=null;if(t.relationships.some((a=>{const h=i.filter((i=>t.url===i.url&&i.layerId===a.relatedTableId));if(h&&h.length>0)return s=h[0],e=a.id,!0})),this.relatedTableId=s?.id??"",this.relatedTableId){const i=this._selectedGraphic.attributes[t.objectIdField],a=new this.RelationshipQuery({objectIds:[i],outFields:["*"],relationshipId:e}),h=await t.queryRelatedFeatures(a).catch((t=>{console.error(t)})),c=[];h[i]&&h[i].features.forEach((t=>{c.push(t.attributes[s.objectIdField])})),this._relatedFeaturesOIDs=c,this._commentsAvailable=!0}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1,this.relatedTableId=""}isLikeDislikeConfigured(t){let i=!1,s=!1;if(this.reportingOptions&&this.reportingOptions[t.id]){if(!this.reportingOptions[t.id].like&&!this.reportingOptions[t.id].dislike)return!1;const e=this.reportingOptions[t.id].likeField,a=this.reportingOptions[t.id].dislikeField;if(!e&&!a)return!1;t.fields.forEach((h=>{this._validFieldTypes.indexOf(h.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(h.name===e&&this.reportingOptions[t.id].like?i=!0:h.name===a&&this.reportingOptions[t.id].dislike&&(s=!0))}))}return i||s}checkLikeDislikeFields(){this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1,this._isLikeBtnClicked=!1,this._isDislikeBtnClicked=!1,this._likeCount=0,this._disLikeCount=0;const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]){if(this._likeField=this.reportingOptions[t.id].likeField,this._dislikeField=this.reportingOptions[t.id].dislikeField,!this._likeField&&!this._dislikeField)return;t.fields.forEach((i=>{this._validFieldTypes.indexOf(i.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(i.name===this._likeField&&this.reportingOptions[t.id].like?(this._likeFieldAvailable=!0,this._likeCount=this._selectedGraphic.attributes[i.name]):i.name===this._dislikeField&&this.reportingOptions[t.id].dislike&&(this._dislikeFieldAvailable=!0,this._disLikeCount=this._selectedGraphic.attributes[i.name]))})),this.getFromLocalStorage()}}onLikeButtonClick(){this._isDislikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].dislike&&this.onDislikeButtonClick(),this._isLikeBtnClicked=!this._isLikeBtnClicked,this._isLikeBtnClicked?this._likeCount++:this._likeCount--,this.updateFeaturesLikeDislikeField(this._likeField,this._isLikeBtnClicked)}onDislikeButtonClick(){this._isLikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].like&&this.onLikeButtonClick(),this._isDislikeBtnClicked=!this._isDislikeBtnClicked,this._isDislikeBtnClicked?this._disLikeCount++:this._disLikeCount--,this.updateFeaturesLikeDislikeField(this._dislikeField,this._isDislikeBtnClicked)}async updateFeaturesLikeDislikeField(t,i){const s={},e=this._selectedGraphic.layer;this._updating=!0;const a=this._selectedGraphic;a.attributes[t]=Number(a.attributes[t])+(i?1:-1),s[e.objectIdField]=a.attributes[e.objectIdField],s[t]=a.attributes[t];const h=new this.Graphic;h.attributes=s;const c={updateFeatures:[h]};await e.applyEdits(c).then((()=>{this._selectedGraphic=a,this.setInLocalStorage(),this._updating=!1,this.likeOrDislikeClicked.emit()}),(t=>{this._updating=!1,console.log(t)}))}getFromLocalStorage(){const t=localStorage[this._selectedGraphic.layer.id];if(t){const i=JSON.parse(t).filter((t=>t.id===this._selectedGraphic.getObjectId()));i.length>0&&(this._isLikeBtnClicked=i[0].like,this._isDislikeBtnClicked=i[0].dislike)}}setInLocalStorage(){const t=this._selectedGraphic.layer.id,i=localStorage[t];let s=[];if(i){s=JSON.parse(i);const t=s.findIndex((t=>t.id===this._selectedGraphic.getObjectId()));t>=0&&s.splice(t,1)}s.push({id:this._selectedGraphic.getObjectId(),like:this._isLikeBtnClicked&&0!==this._likeCount,dislike:this._isDislikeBtnClicked&&0!==this._disLikeCount}),localStorage.setItem(t,JSON.stringify(s))}static get watchers(){return{graphics:["graphicsWatchHandler"]}}};b.style=":host{display:block}.buttons-container{align-items:center;display:flex;padding:4px;color:var(--calcite-color-text-1) !important;background-color:var(--calcite-color-foreground-1) !important;border-block-start:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3)}";const y=class{constructor(s){t(this,s),this.layerSelect=i(this,"layerSelect",7),this.layersListLoaded=i(this,"layersListLoaded",7)}get el(){return s(this)}mapView;layers;locale;showFeatureCount=!0;showNextIcon=!1;applyLayerViewFilter=!1;_noLayersToDisplay=!1;_mapLayerIds=[];_isLoading=!1;_translations;_layerItemsHash;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async refresh(){await this.setLayers()}layerSelect;layersListLoaded;async componentWillLoad(){await this._getTranslations()}async componentDidLoad(){await this.setLayers()}render(){return e(a,{key:"a151c8fd65c50aacb23dcd0c858e52c0c7cd7e5e"},this._isLoading&&e("calcite-loader",{key:"544a134bccc29048ca80b996844cc944bcd97a24",label:"",scale:"m"}),!this._isLoading&&this.mapView&&this._noLayersToDisplay&&e("calcite-notice",{key:"7557f91c8c3349c120c043ea59458b4c834dce2e",class:"error-msg",icon:"layers-reference",kind:"danger",open:!0},e("div",{key:"ea8b20f8c7da5053641cfad56e3395ae3c6286f5",slot:"title"},this._translations.error),e("div",{key:"38aaed7b456aba0b1dd70183be03e9133834dfb4",slot:"message"},this._translations.noLayerToDisplayErrorMsg)),!this._isLoading&&this.mapView&&e("calcite-list",{key:"547b0681145fd8d8663b786472be9e5161cbd693",label:"","selection-appearance":"border","selection-mode":"none"},this.renderLayerList()))}async setLayers(){this.mapView&&(this._isLoading=!0,await this.initLayerHash(),this._isLoading=!1)}async initLayerHash(){const t=[];this._layerItemsHash=await l(this.mapView,!0);const i=await r(this.mapView);for(const s of i)if("feature"===s?.type&&this.showFeatureCount){const i=s.createQuery();if(s?.definitionExpression&&(i.where=i.where+" AND "+s.definitionExpression),this.applyLayerViewFilter){const t=await d(this.mapView,s.id);t?.filter?.where&&(i.where=i.where?i.where+" AND "+t.filter.where:t.filter.where)}const e=s.queryFeatureCount(i);t.push(e),e.then((async t=>{const i=isNaN(t)?"":await n(t,{places:0,api:4,type:"decimal"});this._layerItemsHash[s.id].formattedFeatureCount=i}))}await Promise.all(t).then((()=>{const t=this.getLayersToBeShownInList(this._layerItemsHash);this._mapLayerIds=t.reverse(),this.handleNoLayersToDisplay()}),(()=>{this._mapLayerIds=[],this.handleNoLayersToDisplay()}))}handleNoLayersToDisplay(){this._noLayersToDisplay=!(this._mapLayerIds.length>0),this.layersListLoaded.emit(this._mapLayerIds)}getLayersToBeShownInList(t){const i=this.layers?.length>0?this.layers:[];return Object.keys(t).reduce(((t,s)=>(i.indexOf(s)>-1&&t.push(s),t)),[])}renderLayerList(){return this._mapLayerIds.length>0&&this._mapLayerIds.reduce(((t,i)=>(this._layerItemsHash[i]&&t.push(this.getLayerListItem(i)),t)),[])}getLayerListItem(t){const i=this._layerItemsHash[t].formattedFeatureCount;return e("calcite-list-item",{onCalciteListItemSelect:()=>{this.onLayerItemSelected(t)}},e("div",{class:"layer-name",slot:"content-start"},this._layerItemsHash[t].name),this.showFeatureCount&&void 0!==i&&""!==i&&e("div",{class:this.showNextIcon?"":"feature-count",slot:"content-end"},"("+i+")"),this.showNextIcon&&e("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}onLayerItemSelected(t){this.layerSelect.emit({layerId:t,layerName:this._layerItemsHash[t].name})}async _getTranslations(){const t=await c(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"]}}};y.style=":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";export{p as create_related_feature,b as feature_details,y as layer_list}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as t,h as i,H as e,g as n}from"./p-8c40bdec.js";import{c as l}from"./p-fa639501.js";import{l as o}from"./p-08ad0b7a.js";import{g as r}from"./p-89fbc318.js";import{g as a}from"./p-ea19f91b.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const{state:d,onChange:s}=l({timeInfoConfigItems:[],filterMode:{type:"filter"},view:null,timeSlider:null,timeInfoItems:[],selectedTimeInfoItem:null,loading:!0,timeSliderConfig:{},autoPlay:!1}),u="time-slider-watch",v=new class{constructor(){this.initializeModules()}async initializeModules(){try{const[t,i,e,n,l,r,a]=await o(["esri/core/Handles","esri/core/reactiveUtils","esri/widgets/TimeSlider","esri/time/TimeExtent","esri/time/TimeInterval","esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);this.reactiveUtils=i,this.handles=new t,this.TimeSlider=e,this.TimeExtent=n,this.TimeInterval=l,this.FeatureFilter=r,this.FeatureEffect=a}catch(t){}}async init(t){var i,e,n;t&&(t.innerHTML=""),"playing"===(null===(e=null===(i=null==d?void 0:d.timeSlider)||void 0===i?void 0:i.viewModel)||void 0===e?void 0:e.state)&&d.timeSlider.stop();const{view:l,timeInfoConfigItems:o}=d;if(l)try{if(await l.when(),1===o.length&&"map"===(null===(n=o[0])||void 0===n?void 0:n.type))this.initTimeSlider(t,o[0]);else{const i=await this.getTimeLayerViews(l,o);d.timeInfoItems=this.generateTimeInfoItems(i,o),this.initTimeSlider(t)}return Promise.resolve()}catch(t){}finally{this.setupFilterModeWatcher()}}destroy(){var t,i;null===(t=this.handles)||void 0===t||t.removeAll(),this.handles=null,null===(i=d.timeSlider)||void 0===i||i.destroy()}async getTimeLayerViews(t,i){const{allLayers:e}=t.map,n=i.map((({id:t})=>{return i=t,e.find((({id:t})=>i===t));var i})).map((i=>t.whenLayerView(i)));return await Promise.all(n)}generateTimeInfoItems(t,i){return[...i].map((i=>{const e=t.find((({layer:t})=>t.id===i.id));return this.generateTimeInfoItem(e,i)}))}generateTimeInfoItem(t,{increments:i,rangeStart:e,rangeEnd:n,timeIntervalValue:l}){var o;const r=null==t?void 0:t.layer,a=null===(o=null==r?void 0:r.timeInfo)||void 0===o?void 0:o.fullTimeExtent;return{layerView:t,unit:i,timeIntervalValue:null!=l?l:1,rangeStart:new Date(e),rangeEnd:new Date(n),timeExtent:a,previousTimeExtent:null}}initTimeSlider(t,i){var e,n;const{TimeSlider:l}=this,o=t=>{d.timeSlider=new l(t),d.autoPlay&&d.timeSlider.play()};if(i)o(this.getTimeSliderConfig(t,i));else{const i=null===(e=null==d?void 0:d.timeInfoItems)||void 0===e?void 0:e[0];if(!i)return;d.selectedTimeInfoItem=i,o(this.getTimeSliderConfig(t))}"2d"===(null===(n=d.view)||void 0===n?void 0:n.type)&&this.initialize2DView()}setupFilterModeWatcher(){s("filterMode",(t=>d.timeInfoItems.forEach((i=>{var e,n,l;const o=i.layerView;this.applyTimeExtent(o,(null===(n=null===(e=null==o?void 0:o.featureEffect)||void 0===e?void 0:e.filter)||void 0===n?void 0:n.timeExtent)||(null===(l=o.filter)||void 0===l?void 0:l.timeExtent),t)}))))}getTimeSliderConfig(t,i){var e,n,l,o,r,a,s,u;const{TimeExtent:v,TimeInterval:c}=this,h=Object.assign({container:t,mode:"time-window",view:"3d"===(null===(e=d.view)||void 0===e?void 0:e.type)?d.view:null},d.timeSliderConfig);if(i){const t=null===(o=null===(l=null===(n=d.view)||void 0===n?void 0:n.map)||void 0===l?void 0:l.widgets)||void 0===o?void 0:o.timeSlider,i=Object.assign(Object.assign({},h),{fullTimeExtent:null==t?void 0:t.fullTimeExtent,timeExtent:null==t?void 0:t.currentTimeExtent});return(null===(r=null==t?void 0:t.stopInterval)||void 0===r?void 0:r.unit)&&(null===(a=null==t?void 0:t.stopInterval)||void 0===a?void 0:a.value)&&(i.stops={interval:new c({unit:null===(s=null==t?void 0:t.stopInterval)||void 0===s?void 0:s.unit,value:null===(u=null==t?void 0:t.stopInterval)||void 0===u?void 0:u.value})}),i}{const[{timeExtent:t,rangeStart:i,rangeEnd:e,unit:n,timeIntervalValue:l}]=d.timeInfoItems;return Object.assign(Object.assign({},h),{fullTimeExtent:t,timeExtent:new v({start:i,end:e}),stops:{interval:new c({unit:n,value:l})}})}}initialize2DView(){d.timeInfoItems.forEach((t=>this.applyTimeExtent(t.layerView,new this.TimeExtent({start:t.rangeStart,end:t.rangeEnd})))),this.setupTimeExtentWatcher()}applyTimeExtent(t,i,e){var n;"effect"===(null===(n=d.filterMode)||void 0===n?void 0:n.type)?this.applyFeatureEffect(t,i,e):this.applyFeatureFilter(t,i)}applyFeatureEffect(t,i,e){var n;t&&(t.filter&&t.set("filter",null),(null==t?void 0:t.featureEffect)&&(null===(n=null==t?void 0:t.featureEffect)||void 0===n?void 0:n.filter)&&!e?t.featureEffect.filter.timeExtent=i:this.handleUpdatedFeatureEffect(t,i))}async handleUpdatedFeatureEffect(t,i){var e,n,l,o;const{FeatureEffect:a}=this;t.featureEffect=new a({filter:{timeExtent:i},includedEffect:await r(null===(n=null===(e=d.filterMode)||void 0===e?void 0:e.effect)||void 0===n?void 0:n.includedEffect,t,"includedEffect"),excludedEffect:await r(null===(o=null===(l=d.filterMode)||void 0===l?void 0:l.effect)||void 0===o?void 0:o.excludedEffect,t,"excludedEffect")})}applyFeatureFilter(t,i){t.featureEffect&&t.set("featureEffect",null),t.filter?t.filter.timeExtent=i:t.filter=new this.FeatureFilter({timeExtent:i})}setupTimeExtentWatcher(){var t,i,e,n;(null===(t=this.handles)||void 0===t?void 0:t.has(u))&&(null===(i=this.handles)||void 0===i||i.remove(u)),null===(e=this.handles)||void 0===e||e.add(null===(n=null==d?void 0:d.timeSlider)||void 0===n?void 0:n.watch("timeExtent",(t=>{var i;return this.applyTimeExtent(null===(i=d.selectedTimeInfoItem)||void 0===i?void 0:i.layerView,t)})),u)}updateSelectedTimeInfoItem(t){d.timeSlider&&(d.selectedTimeInfoItem&&(d.selectedTimeInfoItem.previousTimeExtent=d.timeSlider.timeExtent),d.selectedTimeInfoItem=t,this.reconfigureTimeSlider(t),this.applyTimeExtent(t.layerView,d.timeSlider.timeExtent),this.setupTimeExtentWatcher())}reconfigureTimeSlider(t){d.timeSlider&&(d.timeSlider.fullTimeExtent=t.timeExtent,d.timeSlider.timeExtent=this.getTimeExtent(t),d.timeSlider.stops={interval:this.getTimeInterval(t)})}getTimeExtent({rangeStart:t,rangeEnd:i,previousTimeExtent:e}){const{TimeExtent:n}=this;return null!=e?e:new n({start:t,end:i})}getTimeInterval(t){var i,e,n,l,o;const{TimeInterval:r}=this;return new r({unit:null!==(i=t.unit)&&void 0!==i?i:null===(o=null===(l=null===(n=null===(e=t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.timeInfo)||void 0===l?void 0:l.interval)||void 0===o?void 0:o.unit,value:1})}getLabel(t){var i,e;return(null===(e=null===(i=null==t?void 0:t.layerView)||void 0===i?void 0:i.layer)||void 0===e?void 0:e.title)||""}},c=class{constructor(i){t(this,i),this.timeSliderRef=void 0,this.timeInfoConfigItems=[],this.filterMode=void 0,this.view=void 0,this.timeSliderConfig=void 0,this.autoPlay=!1}async updateTimeInfoConfigItems(){d.timeInfoConfigItems=this.timeInfoConfigItems,await v.init(this.timeSliderRef)}async updateFilterMode(){d.filterMode=this.filterMode}async updateTimeSliderConfig(){d.timeSliderConfig=this.timeSliderConfig,await v.init(this.timeSliderRef)}async updateAutoPlay(){d.autoPlay=this.autoPlay,d.timeSlider&&(d.autoPlay?d.timeSlider.play():d.timeSlider.stop())}async componentWillLoad(){try{d.view=this.view,d.timeInfoConfigItems=this.timeInfoConfigItems,d.autoPlay=!!this.autoPlay,this.timeSliderConfig&&(d.timeSliderConfig=this.timeSliderConfig),this.filterMode&&(d.filterMode=this.filterMode),await a(this)}catch(t){}}async componentDidLoad(){try{await v.init(this.timeSliderRef)}catch(t){}finally{d.loading=!1}}disconnectedcallback(){v.destroy()}render(){return i(e,{key:"70cc1da4bf2334962b6034fe79383ae016e5738e"},this._renderBase())}_renderBase(){return i("div",{class:"instant-apps-time-filter"+("2d"!==this.view.type?" instant-apps-time-filter--3d":"")},this._renderLoader(),"2d"===this.view.type&&this._renderTopEl(),i("div",{key:"time-slider",ref:t=>this.timeSliderRef=t}))}_renderLoader(){var t,e;return d.loading&&i("div",null,i("div",{class:"instant-apps-time-filter__background"}),i("div",{class:"instant-apps-time-filter__loading-container"},i("calcite-loader",{scale:"m",label:null===(t=this.messages)||void 0===t?void 0:t.loading,text:null===(e=this.messages)||void 0===e?void 0:e.loading})))}_renderTopEl(){return this.timeInfoConfigItems.length>1?this._renderDropdown():this._renderLayerTitle()}_renderLayerTitle(){var t,e,n;const l=null===(n=null===(e=null===(t=d.selectedTimeInfoItem)||void 0===t?void 0:t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.title;return i("span",{class:"instant-apps-time-filter__layer-title"},l)}_renderDropdown(){return d.selectedTimeInfoItem&&i("calcite-dropdown",null,this._renderDropdownButton(),this._renderDropdownItems())}_renderDropdownButton(){return i("calcite-button",{slot:"trigger",appearance:"transparent",iconEnd:"chevron-down",width:"full",alignment:"space-between"},v.getLabel(d.selectedTimeInfoItem))}_renderDropdownItems(){return d.timeInfoItems.map((t=>this._renderDropdownItem(t)))}_renderDropdownItem(t){var e,n,l,o,r;const a=null===(l=null===(n=null===(e=d.selectedTimeInfoItem)||void 0===e?void 0:e.layerView)||void 0===n?void 0:n.layer)||void 0===l?void 0:l.id,s=null===(r=null===(o=null==t?void 0:t.layerView)||void 0===o?void 0:o.layer)||void 0===r?void 0:r.id;return i("calcite-dropdown-item",{onCalciteDropdownItemSelect:()=>v.updateSelectedTimeInfoItem(t),selected:a===s},v.getLabel(t))}get el(){return n(this)}static get watchers(){return{timeInfoConfigItems:["updateTimeInfoConfigItems"],filterMode:["updateFilterMode"],timeSliderConfig:["updateTimeSliderConfig"],autoPlay:["updateAutoPlay"]}}};c.style=".instant-apps-time-filter{position:relative;display:block;min-width:375px;min-height:200px}.instant-apps-time-filter__background{background-color:var(--calcite-ui-background);position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.instant-apps-time-filter calcite-dropdown{width:100%}.instant-apps-time-filter calcite-dropdown calcite-button{--calcite-color-brand:var(--calcite-ui-text-1);--calcite-ui-brand:var(--calcite-ui-text-1)}.instant-apps-time-filter__layer-title{font-weight:550;display:inline-block;padding:10px}.instant-apps-time-filter__loading-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.instant-apps-time-filter--3d{min-height:160px}";export{c as instant_apps_time_filter}
6
+ import{r as t,h as i,H as e,g as n}from"./p-8c40bdec.js";import{c as l}from"./p-fa639501.js";import{l as o}from"./p-a4bd7b09.js";import{g as r}from"./p-78051ff1.js";import{g as a}from"./p-1e364924.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";import"./p-af2c8aa9.js";const{state:d,onChange:s}=l({timeInfoConfigItems:[],filterMode:{type:"filter"},view:null,timeSlider:null,timeInfoItems:[],selectedTimeInfoItem:null,loading:!0,timeSliderConfig:{},autoPlay:!1}),u="time-slider-watch",v=new class{constructor(){this.initializeModules()}async initializeModules(){try{const[t,i,e,n,l,r,a]=await o(["esri/core/Handles","esri/core/reactiveUtils","esri/widgets/TimeSlider","esri/time/TimeExtent","esri/time/TimeInterval","esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);this.reactiveUtils=i,this.handles=new t,this.TimeSlider=e,this.TimeExtent=n,this.TimeInterval=l,this.FeatureFilter=r,this.FeatureEffect=a}catch(t){}}async init(t){var i,e,n;t&&(t.innerHTML=""),"playing"===(null===(e=null===(i=null==d?void 0:d.timeSlider)||void 0===i?void 0:i.viewModel)||void 0===e?void 0:e.state)&&d.timeSlider.stop();const{view:l,timeInfoConfigItems:o}=d;if(l)try{if(await l.when(),1===o.length&&"map"===(null===(n=o[0])||void 0===n?void 0:n.type))this.initTimeSlider(t,o[0]);else{const i=await this.getTimeLayerViews(l,o);d.timeInfoItems=this.generateTimeInfoItems(i,o),this.initTimeSlider(t)}return Promise.resolve()}catch(t){}finally{this.setupFilterModeWatcher()}}destroy(){var t,i;null===(t=this.handles)||void 0===t||t.removeAll(),this.handles=null,null===(i=d.timeSlider)||void 0===i||i.destroy()}async getTimeLayerViews(t,i){const{allLayers:e}=t.map,n=i.map((({id:t})=>{return i=t,e.find((({id:t})=>i===t));var i})).map((i=>t.whenLayerView(i)));return await Promise.all(n)}generateTimeInfoItems(t,i){return[...i].map((i=>{const e=t.find((({layer:t})=>t.id===i.id));return this.generateTimeInfoItem(e,i)}))}generateTimeInfoItem(t,{increments:i,rangeStart:e,rangeEnd:n,timeIntervalValue:l}){var o;const r=null==t?void 0:t.layer,a=null===(o=null==r?void 0:r.timeInfo)||void 0===o?void 0:o.fullTimeExtent;return{layerView:t,unit:i,timeIntervalValue:null!=l?l:1,rangeStart:new Date(e),rangeEnd:new Date(n),timeExtent:a,previousTimeExtent:null}}initTimeSlider(t,i){var e,n;const{TimeSlider:l}=this,o=t=>{d.timeSlider=new l(t),d.autoPlay&&d.timeSlider.play()};if(i)o(this.getTimeSliderConfig(t,i));else{const i=null===(e=null==d?void 0:d.timeInfoItems)||void 0===e?void 0:e[0];if(!i)return;d.selectedTimeInfoItem=i,o(this.getTimeSliderConfig(t))}"2d"===(null===(n=d.view)||void 0===n?void 0:n.type)&&this.initialize2DView()}setupFilterModeWatcher(){s("filterMode",(t=>d.timeInfoItems.forEach((i=>{var e,n,l;const o=i.layerView;this.applyTimeExtent(o,(null===(n=null===(e=null==o?void 0:o.featureEffect)||void 0===e?void 0:e.filter)||void 0===n?void 0:n.timeExtent)||(null===(l=o.filter)||void 0===l?void 0:l.timeExtent),t)}))))}getTimeSliderConfig(t,i){var e,n,l,o,r,a,s,u;const{TimeExtent:v,TimeInterval:c}=this,h=Object.assign({container:t,mode:"time-window",view:"3d"===(null===(e=d.view)||void 0===e?void 0:e.type)?d.view:null},d.timeSliderConfig);if(i){const t=null===(o=null===(l=null===(n=d.view)||void 0===n?void 0:n.map)||void 0===l?void 0:l.widgets)||void 0===o?void 0:o.timeSlider,i=Object.assign(Object.assign({},h),{fullTimeExtent:null==t?void 0:t.fullTimeExtent,timeExtent:null==t?void 0:t.currentTimeExtent});return(null===(r=null==t?void 0:t.stopInterval)||void 0===r?void 0:r.unit)&&(null===(a=null==t?void 0:t.stopInterval)||void 0===a?void 0:a.value)&&(i.stops={interval:new c({unit:null===(s=null==t?void 0:t.stopInterval)||void 0===s?void 0:s.unit,value:null===(u=null==t?void 0:t.stopInterval)||void 0===u?void 0:u.value})}),i}{const[{timeExtent:t,rangeStart:i,rangeEnd:e,unit:n,timeIntervalValue:l}]=d.timeInfoItems;return Object.assign(Object.assign({},h),{fullTimeExtent:t,timeExtent:new v({start:i,end:e}),stops:{interval:new c({unit:n,value:l})}})}}initialize2DView(){d.timeInfoItems.forEach((t=>this.applyTimeExtent(t.layerView,new this.TimeExtent({start:t.rangeStart,end:t.rangeEnd})))),this.setupTimeExtentWatcher()}applyTimeExtent(t,i,e){var n;"effect"===(null===(n=d.filterMode)||void 0===n?void 0:n.type)?this.applyFeatureEffect(t,i,e):this.applyFeatureFilter(t,i)}applyFeatureEffect(t,i,e){var n;t&&(t.filter&&t.set("filter",null),(null==t?void 0:t.featureEffect)&&(null===(n=null==t?void 0:t.featureEffect)||void 0===n?void 0:n.filter)&&!e?t.featureEffect.filter.timeExtent=i:this.handleUpdatedFeatureEffect(t,i))}async handleUpdatedFeatureEffect(t,i){var e,n,l,o;const{FeatureEffect:a}=this;t.featureEffect=new a({filter:{timeExtent:i},includedEffect:await r(null===(n=null===(e=d.filterMode)||void 0===e?void 0:e.effect)||void 0===n?void 0:n.includedEffect,t,"includedEffect"),excludedEffect:await r(null===(o=null===(l=d.filterMode)||void 0===l?void 0:l.effect)||void 0===o?void 0:o.excludedEffect,t,"excludedEffect")})}applyFeatureFilter(t,i){t.featureEffect&&t.set("featureEffect",null),t.filter?t.filter.timeExtent=i:t.filter=new this.FeatureFilter({timeExtent:i})}setupTimeExtentWatcher(){var t,i,e,n;(null===(t=this.handles)||void 0===t?void 0:t.has(u))&&(null===(i=this.handles)||void 0===i||i.remove(u)),null===(e=this.handles)||void 0===e||e.add(null===(n=null==d?void 0:d.timeSlider)||void 0===n?void 0:n.watch("timeExtent",(t=>{var i;return this.applyTimeExtent(null===(i=d.selectedTimeInfoItem)||void 0===i?void 0:i.layerView,t)})),u)}updateSelectedTimeInfoItem(t){d.timeSlider&&(d.selectedTimeInfoItem&&(d.selectedTimeInfoItem.previousTimeExtent=d.timeSlider.timeExtent),d.selectedTimeInfoItem=t,this.reconfigureTimeSlider(t),this.applyTimeExtent(t.layerView,d.timeSlider.timeExtent),this.setupTimeExtentWatcher())}reconfigureTimeSlider(t){d.timeSlider&&(d.timeSlider.fullTimeExtent=t.timeExtent,d.timeSlider.timeExtent=this.getTimeExtent(t),d.timeSlider.stops={interval:this.getTimeInterval(t)})}getTimeExtent({rangeStart:t,rangeEnd:i,previousTimeExtent:e}){const{TimeExtent:n}=this;return null!=e?e:new n({start:t,end:i})}getTimeInterval(t){var i,e,n,l,o;const{TimeInterval:r}=this;return new r({unit:null!==(i=t.unit)&&void 0!==i?i:null===(o=null===(l=null===(n=null===(e=t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.timeInfo)||void 0===l?void 0:l.interval)||void 0===o?void 0:o.unit,value:1})}getLabel(t){var i,e;return(null===(e=null===(i=null==t?void 0:t.layerView)||void 0===i?void 0:i.layer)||void 0===e?void 0:e.title)||""}},c=class{constructor(i){t(this,i),this.timeSliderRef=void 0,this.timeInfoConfigItems=[],this.filterMode=void 0,this.view=void 0,this.timeSliderConfig=void 0,this.autoPlay=!1}async updateTimeInfoConfigItems(){d.timeInfoConfigItems=this.timeInfoConfigItems,await v.init(this.timeSliderRef)}async updateFilterMode(){d.filterMode=this.filterMode}async updateTimeSliderConfig(){d.timeSliderConfig=this.timeSliderConfig,await v.init(this.timeSliderRef)}async updateAutoPlay(){d.autoPlay=this.autoPlay,d.timeSlider&&(d.autoPlay?d.timeSlider.play():d.timeSlider.stop())}async componentWillLoad(){try{d.view=this.view,d.timeInfoConfigItems=this.timeInfoConfigItems,d.autoPlay=!!this.autoPlay,this.timeSliderConfig&&(d.timeSliderConfig=this.timeSliderConfig),this.filterMode&&(d.filterMode=this.filterMode),await a(this)}catch(t){}}async componentDidLoad(){try{await v.init(this.timeSliderRef)}catch(t){}finally{d.loading=!1}}disconnectedcallback(){v.destroy()}render(){return i(e,{key:"70cc1da4bf2334962b6034fe79383ae016e5738e"},this._renderBase())}_renderBase(){return i("div",{class:"instant-apps-time-filter"+("2d"!==this.view.type?" instant-apps-time-filter--3d":"")},this._renderLoader(),"2d"===this.view.type&&this._renderTopEl(),i("div",{key:"time-slider",ref:t=>this.timeSliderRef=t}))}_renderLoader(){var t,e;return d.loading&&i("div",null,i("div",{class:"instant-apps-time-filter__background"}),i("div",{class:"instant-apps-time-filter__loading-container"},i("calcite-loader",{scale:"m",label:null===(t=this.messages)||void 0===t?void 0:t.loading,text:null===(e=this.messages)||void 0===e?void 0:e.loading})))}_renderTopEl(){return this.timeInfoConfigItems.length>1?this._renderDropdown():this._renderLayerTitle()}_renderLayerTitle(){var t,e,n;const l=null===(n=null===(e=null===(t=d.selectedTimeInfoItem)||void 0===t?void 0:t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.title;return i("span",{class:"instant-apps-time-filter__layer-title"},l)}_renderDropdown(){return d.selectedTimeInfoItem&&i("calcite-dropdown",null,this._renderDropdownButton(),this._renderDropdownItems())}_renderDropdownButton(){return i("calcite-button",{slot:"trigger",appearance:"transparent",iconEnd:"chevron-down",width:"full",alignment:"space-between"},v.getLabel(d.selectedTimeInfoItem))}_renderDropdownItems(){return d.timeInfoItems.map((t=>this._renderDropdownItem(t)))}_renderDropdownItem(t){var e,n,l,o,r;const a=null===(l=null===(n=null===(e=d.selectedTimeInfoItem)||void 0===e?void 0:e.layerView)||void 0===n?void 0:n.layer)||void 0===l?void 0:l.id,s=null===(r=null===(o=null==t?void 0:t.layerView)||void 0===o?void 0:o.layer)||void 0===r?void 0:r.id;return i("calcite-dropdown-item",{onCalciteDropdownItemSelect:()=>v.updateSelectedTimeInfoItem(t),selected:a===s},v.getLabel(t))}get el(){return n(this)}static get watchers(){return{timeInfoConfigItems:["updateTimeInfoConfigItems"],filterMode:["updateFilterMode"],timeSliderConfig:["updateTimeSliderConfig"],autoPlay:["updateAutoPlay"]}}};c.style=".instant-apps-time-filter{position:relative;display:block;min-width:375px;min-height:200px}.instant-apps-time-filter__background{background-color:var(--calcite-ui-background);position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.instant-apps-time-filter calcite-dropdown{width:100%}.instant-apps-time-filter calcite-dropdown calcite-button{--calcite-color-brand:var(--calcite-ui-text-1);--calcite-ui-brand:var(--calcite-ui-text-1)}.instant-apps-time-filter__layer-title{font-weight:550;display:inline-block;padding:10px}.instant-apps-time-filter__loading-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.instant-apps-time-filter--3d{min-height:160px}";export{c as instant_apps_time_filter}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as e,c as t,g as s,h as i,H as a}from"./p-8c40bdec.js";import{g as l}from"./p-075979ef.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";const o=class{constructor(s){e(this,s),this.editsComplete=t(this,"editsComplete",7),this.deleteDialogClose=t(this,"deleteDialogClose",7)}get el(){return s(this)}ids=[];layer;locale;open=!1;_isDeleting=!1;_translations;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}editsComplete;deleteDialogClose;async componentWillLoad(){await this._getTranslations()}render(){const e=1===this.ids.length?this._translations?.confirmSingle:this._translations?.confirmMultiple;return i(a,{key:"d672a7218bc19c762c89b519b5d12c8d0122f770"},i("calcite-dialog",{key:"c43ba38dd9477869ae9797f98e3daafce09c5eae",heading:this._translations?.deleteFeature,kind:"danger",modal:!0,onCalciteDialogClose:()=>this._close(),open:this.open,widthScale:"s"},i("div",{key:"481710981431c3bb10b8ec221604f0740f3f8772"},e),i("calcite-button",{key:"8f1fc8a1a66fbd25edbb8d7f99f223b5bfea0517",appearance:"outline",kind:"danger",onClick:()=>this._close(),slot:"footer-end",width:"full"},this._translations?.cancel),i("calcite-button",{key:"46830e28586f1d345de2b19a2d8198f36ae74f15",kind:"danger",loading:this._isDeleting,onClick:()=>{this._deleteFeatures()},slot:"footer-end",width:"full"},this._translations?.delete)))}async _deleteFeatures(){this._isDeleting=!0;const e=this.ids.map((e=>({objectId:e})));await this.layer.applyEdits({deleteFeatures:e}),this._isDeleting=!1,this._close(),this.editsComplete.emit("delete")}_close(){this.open=!1,this.deleteDialogClose.emit()}async _getTranslations(){const e=await l(this.el);this._translations=e[0]}static get watchers(){return{locale:["localeWatchHandler"]}}};o.style=":host{display:block}.delete-modal{position:fixed}";export{o as delete_dialog}
6
+ import{r as e,c as t,g as s,h as i,H as a}from"./p-8c40bdec.js";import{g as l}from"./p-a23de3b0.js";import"./p-6a68306c.js";import"./p-d4056c1c.js";const o=class{constructor(s){e(this,s),this.editsComplete=t(this,"editsComplete",7),this.deleteDialogClose=t(this,"deleteDialogClose",7)}get el(){return s(this)}ids=[];layer;locale;open=!1;_isDeleting=!1;_translations;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}editsComplete;deleteDialogClose;async componentWillLoad(){await this._getTranslations()}render(){const e=1===this.ids.length?this._translations?.confirmSingle:this._translations?.confirmMultiple;return i(a,{key:"d672a7218bc19c762c89b519b5d12c8d0122f770"},i("calcite-dialog",{key:"c43ba38dd9477869ae9797f98e3daafce09c5eae",heading:this._translations?.deleteFeature,kind:"danger",modal:!0,onCalciteDialogClose:()=>this._close(),open:this.open,widthScale:"s"},i("div",{key:"481710981431c3bb10b8ec221604f0740f3f8772"},e),i("calcite-button",{key:"8f1fc8a1a66fbd25edbb8d7f99f223b5bfea0517",appearance:"outline",kind:"danger",onClick:()=>this._close(),slot:"footer-end",width:"full"},this._translations?.cancel),i("calcite-button",{key:"46830e28586f1d345de2b19a2d8198f36ae74f15",kind:"danger",loading:this._isDeleting,onClick:()=>{this._deleteFeatures()},slot:"footer-end",width:"full"},this._translations?.delete)))}async _deleteFeatures(){this._isDeleting=!0;const e=this.ids.map((e=>({objectId:e})));await this.layer.applyEdits({deleteFeatures:e}),this._isDeleting=!1,this._close(),this.editsComplete.emit("delete")}_close(){this.open=!1,this.deleteDialogClose.emit()}async _getTranslations(){const e=await l(this.el);this._translations=e[0]}static get watchers(){return{locale:["localeWatchHandler"]}}};o.style=":host{display:block}.delete-modal{position:fixed}";export{o as delete_dialog}