@esri/solutions-components 5.1.0 → 5.1.2

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 (173) hide show
  1. package/dist/cdn/{NXX22DHX.js → 3CSSTWYC.js} +1 -1
  2. package/dist/cdn/{BT6SXXE2.js → 3DNEBMT3.js} +1 -1
  3. package/dist/cdn/{4SORDX5Z.js → 3FIRDPVD.js} +1 -1
  4. package/dist/cdn/{5UW2NTSN.js → 3KYCZII7.js} +1 -1
  5. package/dist/cdn/{MIV34H66.js → 3NI2BJYO.js} +1 -1
  6. package/dist/cdn/{G2H3X6NS.js → 3W7ANZME.js} +1 -1
  7. package/dist/cdn/{CVXDL2AT.js → 4MAH5ULJ.js} +1 -1
  8. package/dist/cdn/{SWY74BKB.js → 4RH7N22O.js} +1 -1
  9. package/dist/cdn/{RCWYHGZ5.js → 5F6WBFDO.js} +1 -1
  10. package/dist/cdn/{TWN7DOAU.js → 5FW45CM6.js} +1 -1
  11. package/dist/cdn/{5FWKODDH.js → 5IO4VX4R.js} +1 -1
  12. package/dist/cdn/{463CZQF6.js → 5Q64VY2E.js} +1 -1
  13. package/dist/cdn/{TWJ6DAY5.js → 65I4AUS4.js} +1 -1
  14. package/dist/cdn/{54A4C4RG.js → 65OXHGCN.js} +1 -1
  15. package/dist/cdn/{LGWAEUZM.js → 6F6YFDOY.js} +1 -1
  16. package/dist/cdn/{KTW6BSEC.js → 6KBY56R4.js} +1 -1
  17. package/dist/cdn/{6HZBPFHA.js → 6L6JOGWD.js} +1 -1
  18. package/dist/cdn/{MDWJ6JLF.js → 6OKLCUSH.js} +1 -1
  19. package/dist/cdn/{LV5KMTCD.js → 6RQBPR56.js} +1 -1
  20. package/dist/cdn/{Y6JJY3IC.js → 74Z5A6E2.js} +1 -1
  21. package/dist/cdn/{JHOJZDXC.js → 7AHZBLTM.js} +1 -1
  22. package/dist/cdn/{KSIYOSLP.js → 7EJXZVSX.js} +1 -1
  23. package/dist/cdn/{BOFA5RH7.js → 7NQYBMRX.js} +1 -1
  24. package/dist/cdn/{HIB4BVGK.js → 7XPOQHB4.js} +1 -1
  25. package/dist/cdn/A4KEZALJ.js +2 -0
  26. package/dist/cdn/{OYRMCWNZ.js → AS7PVOU3.js} +1 -1
  27. package/dist/cdn/{TZHRYPII.js → B7CVHLVL.js} +1 -1
  28. package/dist/cdn/{LO35PCP7.js → BFFHQBDI.js} +1 -1
  29. package/dist/cdn/{MKSUYITL.js → BKIKLE4Z.js} +1 -1
  30. package/dist/cdn/{WNVC3PSY.js → BWNEUQZZ.js} +1 -1
  31. package/dist/cdn/{KFRHOPZY.js → BZWJ3KFS.js} +129 -129
  32. package/dist/cdn/{SEG43OPO.js → C2GWD5VP.js} +1 -1
  33. package/dist/cdn/{KRP5SGSU.js → C3SIGIJC.js} +1 -1
  34. package/dist/cdn/CC7JGR5Q.js +2 -0
  35. package/dist/cdn/{KDDHPA54.js → CKPQTIAF.js} +1 -1
  36. package/dist/cdn/{VUXNHQGR.js → CRTJERAB.js} +1 -1
  37. package/dist/cdn/{5X43GK3C.js → CVKCFLNY.js} +1 -1
  38. package/dist/cdn/{VPXGD2H4.js → CVNW2AU2.js} +1 -1
  39. package/dist/cdn/{X3YRR4BO.js → CXTHIJOC.js} +65 -73
  40. package/dist/cdn/{RLYEATAS.js → DE7GSGUB.js} +1 -1
  41. package/dist/cdn/{YUI2MSOK.js → DEVAXAP7.js} +1 -1
  42. package/dist/cdn/{2TEBTKD4.js → DF2U7HIU.js} +1 -1
  43. package/dist/cdn/{7P57UVVG.js → DLV7AZZ6.js} +1 -1
  44. package/dist/cdn/DQJ36YEL.js +2 -0
  45. package/dist/cdn/{ZHCAZ2TH.js → DXI5HEQM.js} +1 -1
  46. package/dist/cdn/E3O6DPAL.js +2 -0
  47. package/dist/cdn/{X257ACPD.js → E5YZOOW3.js} +1 -1
  48. package/dist/cdn/{I4QWYULN.js → EBDDUQNC.js} +1 -1
  49. package/dist/cdn/{47FRMYZ4.js → ECUD4NU6.js} +1 -1
  50. package/dist/cdn/{EUI2Y6R4.js → EHIUCEAX.js} +1 -1
  51. package/dist/cdn/{AIM7NSD3.js → EJRV6YWD.js} +1 -1
  52. package/dist/cdn/EX4K4RKP.js +2 -0
  53. package/dist/cdn/{M6AOD7GG.js → FDNEF4QD.js} +1 -1
  54. package/dist/cdn/{Y2MAVMNV.js → FSFVH74N.js} +1 -1
  55. package/dist/cdn/{XYKQ6M25.js → GHVPHEOH.js} +1 -1
  56. package/dist/cdn/GPIIJWNM.js +2 -0
  57. package/dist/cdn/{BHLMO6KY.js → GRVDJVOF.js} +1 -1
  58. package/dist/cdn/{2AWUR4ZA.js → GSI62QHB.js} +1 -1
  59. package/dist/cdn/{O4DB2EXV.js → GSLDFLWZ.js} +1 -1
  60. package/dist/cdn/{3A3CPQX4.js → GWIC6C6P.js} +1 -1
  61. package/dist/cdn/{2R7Y2ZVX.js → GZZMHIFA.js} +1 -1
  62. package/dist/cdn/{G4V4JPFI.js → HOSSEVH5.js} +1 -1
  63. package/dist/cdn/{6WNKGSHD.js → HQFL3NGM.js} +1 -1
  64. package/dist/cdn/{IXRFWVBT.js → IGY23J7D.js} +1 -1
  65. package/dist/cdn/{FQTDRS3G.js → INFZEU32.js} +1 -1
  66. package/dist/cdn/{56DNSWXG.js → IVMHEGLY.js} +1 -1
  67. package/dist/cdn/{SGQEHPTT.js → J7DTCWOP.js} +1 -1
  68. package/dist/cdn/{F4MS4NQL.js → JB5XLSNA.js} +1 -1
  69. package/dist/cdn/{IAEFPE3L.js → JF2ASXUT.js} +1 -1
  70. package/dist/cdn/{6GBSXKKJ.js → KB7CXY4N.js} +1 -1
  71. package/dist/cdn/{5IDPOFIN.js → KLZWOBGK.js} +1 -1
  72. package/dist/cdn/{UIZL3C3H.js → KMY4AVEA.js} +1 -1
  73. package/dist/cdn/{XQ7SXIHI.js → KPEPW4QL.js} +1 -1
  74. package/dist/cdn/{3JCHYXHA.js → KPKJ2OVD.js} +1 -1
  75. package/dist/cdn/{SJLSYFK3.js → L6XSVTY3.js} +1 -1
  76. package/dist/cdn/LCDURBN6.js +3 -0
  77. package/dist/cdn/{D22STVK5.js → LFIP5DV3.js} +1 -1
  78. package/dist/cdn/{5N4KGIIY.js → LK6WQCXQ.js} +1 -1
  79. package/dist/cdn/{XKFX43FE.js → LKVPVQIC.js} +1 -1
  80. package/dist/cdn/{GUSPFJUQ.js → LQFA6HOT.js} +1 -1
  81. package/dist/cdn/{UCYR537P.js → LRGW6G5E.js} +1 -1
  82. package/dist/cdn/{ZZZPISEE.js → LSDYUCCZ.js} +1 -1
  83. package/dist/cdn/{H4LZV33O.js → LSMP2ZCO.js} +1 -1
  84. package/dist/cdn/{376KPQCJ.js → LXJI7FYN.js} +1 -1
  85. package/dist/cdn/{NX7HKBFH.js → MHMM4RFR.js} +1 -1
  86. package/dist/cdn/{2RL6H5TB.js → MVSQRD5M.js} +1 -1
  87. package/dist/cdn/{PIAGRMMB.js → MVXK7UGO.js} +47 -47
  88. package/dist/cdn/MXPZF4RB.js +2 -0
  89. package/dist/cdn/{HOCCKT72.js → MZ5XI2CY.js} +1 -1
  90. package/dist/cdn/{3BG6WS6Q.js → NIUKLQOT.js} +1 -1
  91. package/dist/cdn/{BI3I22IR.js → NJSQ3NUT.js} +3 -3
  92. package/dist/cdn/{SXEL7KTE.js → NVNB4L52.js} +1 -1
  93. package/dist/cdn/{CLHUIZMU.js → NWOPIQFN.js} +1 -1
  94. package/dist/cdn/{5LSNDSHW.js → O6HS2AMH.js} +1 -1
  95. package/dist/cdn/{HM2QALUN.js → O6IGMQN7.js} +1 -1
  96. package/dist/cdn/{RRWG2OJP.js → OPWMEQVM.js} +1 -1
  97. package/dist/cdn/{FSF3T3OT.js → OVAQRVFG.js} +1 -1
  98. package/dist/cdn/{PM4EFNB2.js → P2FSR5OV.js} +1 -1
  99. package/dist/cdn/{BIX5DRQP.js → PQVA7SKB.js} +1 -1
  100. package/dist/cdn/{4CSMWYIO.js → PSM4UX7K.js} +1 -1
  101. package/dist/cdn/{SXTON3QW.js → Q5N7I65T.js} +1 -1
  102. package/dist/cdn/{BWWX52HV.js → Q6CXYCV6.js} +1 -1
  103. package/dist/cdn/{PLQEDCUG.js → QMQAQSIA.js} +1 -1
  104. package/dist/cdn/{GFBJLNEH.js → QODVIACF.js} +1 -1
  105. package/dist/cdn/{FFZ2XVRE.js → QTCXH2O3.js} +1 -1
  106. package/dist/cdn/{FYJMHXWV.js → QVD3AXIP.js} +1 -1
  107. package/dist/cdn/{6FY64JKN.js → RAL6IXW5.js} +1 -1
  108. package/dist/cdn/{NNY2YF2L.js → RJLEYL7O.js} +1 -1
  109. package/dist/cdn/{7QKF26VG.js → RNNEZRGA.js} +1 -1
  110. package/dist/cdn/{77753TPX.js → RPL5Q7IL.js} +1 -1
  111. package/dist/cdn/{4PDT6TEX.js → RQVXDCWL.js} +1 -1
  112. package/dist/cdn/{GSR2GEY7.js → SD3DV4KO.js} +1 -1
  113. package/dist/cdn/SQEPSAKG.js +2 -0
  114. package/dist/cdn/{V5UJ5VTY.js → T7O4WZGU.js} +1 -1
  115. package/dist/cdn/{7O4E4IAA.js → UDWEFNJE.js} +1 -1
  116. package/dist/cdn/{AZKNC2SR.js → UILBHLN7.js} +1 -1
  117. package/dist/cdn/{BXSBR2GT.js → V24CDHGH.js} +1 -1
  118. package/dist/cdn/{DIBK4RSG.js → VSRNGZ43.js} +1 -1
  119. package/dist/cdn/{R27S3IDW.js → WNYAZ4ME.js} +1 -1
  120. package/dist/cdn/{PUYJYHQM.js → WRMREY3V.js} +1 -1
  121. package/dist/cdn/{EWS72RFR.js → WVCL5OUK.js} +1 -1
  122. package/dist/cdn/{VKHBBAXO.js → XA6ZDTKA.js} +1 -1
  123. package/dist/cdn/{37P3IMFV.js → XIUYVZYL.js} +1 -1
  124. package/dist/cdn/{ARFBMFQW.js → XXRBPKMI.js} +1 -1
  125. package/dist/cdn/{INLWMPGE.js → XYAVR2MM.js} +1 -1
  126. package/dist/cdn/{743J2ZUC.js → Y2KRCLNN.js} +1 -1
  127. package/dist/cdn/{4RCC4KA2.js → Y7Z6LFBH.js} +1 -1
  128. package/dist/cdn/{GMAAQEP7.js → YBJ6AHAG.js} +1 -1
  129. package/dist/cdn/{QEUKNYOL.js → YHF3Q7QB.js} +1 -1
  130. package/dist/cdn/{HKFXHTYU.js → YVNBCXBJ.js} +1 -1
  131. package/dist/cdn/{Q4UI3ZGH.js → Z6CZ7GFZ.js} +1 -1
  132. package/dist/cdn/ZB5UCRCG.js +2 -0
  133. package/dist/cdn/{SSCE4O7V.js → ZHVO477V.js} +1 -1
  134. package/dist/cdn/{A6ZTIX3P.js → ZSATEDPE.js} +1 -1
  135. package/dist/cdn/{NIYY6XUQ.js → ZXGNDW3R.js} +1 -1
  136. package/dist/cdn/index.js +1 -1
  137. package/dist/chunks/converter.js +88 -88
  138. package/dist/chunks/interfaces.js +19 -19
  139. package/dist/chunks/runtime.js +2 -2
  140. package/dist/chunks/solution-builder-assistant.js +1 -1
  141. package/dist/components/arcgis-solutions-assistant/customElement.js +374 -358
  142. package/dist/components/create-feature/customElement.js +23 -18
  143. package/dist/components/create-related-feature/customElement.js +8 -6
  144. package/dist/components/crowdsource-manager/customElement.d.ts +0 -6
  145. package/dist/components/crowdsource-manager/customElement.js +14 -11
  146. package/dist/components/layer-table/customElement.js +3 -3
  147. package/dist/components/map-tools/customElement.js +1 -1
  148. package/dist/docs/api.json +1 -1
  149. package/dist/docs/docs.json +1 -1
  150. package/dist/docs/vscode.html-custom-data.json +1 -1
  151. package/dist/docs/web-types.json +1 -1
  152. package/dist/loader.js +1 -1
  153. package/dist/solutions-components_commit.txt +6 -6
  154. package/dist/types/lumina.d.ts +1 -1
  155. package/dist/types/preact.d.ts +1 -1
  156. package/dist/types/react.d.ts +1 -1
  157. package/dist/types/stencil.d.ts +1 -1
  158. package/dist/utils/interfaces.d.ts +1 -0
  159. package/package.json +5 -7
  160. package/dist/cdn/E3F63VW4.js +0 -2
  161. package/dist/cdn/F7XCLL7U.js +0 -3
  162. package/dist/cdn/FSHV53TK.js +0 -2
  163. package/dist/cdn/HIPZRG2Q.js +0 -2
  164. package/dist/cdn/IXPNZCW6.js +0 -2
  165. package/dist/cdn/J3SDL3LR.js +0 -2
  166. package/dist/cdn/JO6WZKYF.js +0 -2
  167. package/dist/cdn/KR2PPIBX.js +0 -2
  168. package/dist/cdn/OGH565H7.js +0 -3
  169. package/dist/cdn/QH343537.js +0 -56
  170. package/dist/cdn/QPHNKFC6.js +0 -2
  171. package/dist/cdn/S4GBMN37.js +0 -2
  172. package/dist/cdn/UUKV62PY.js +0 -109
  173. package/dist/cdn/ZPEVEBJD.js +0 -121
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as x}from"./YUWXPLTE.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./TWJ6DAY5.js";import{b as I}from"./S4GBMN37.js";import"./QMAV4UTN.js";import"./Y2AUIXNK.js";import{F as $,G as v,H as k,J as p,h as F,i as l,l as h,q as b}from"./T3EPRHTT.js";import"./EXBEKVP5.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function w(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:var(--calcite-color-surface-2);color:var(--calcite-color-text-1)}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:var(--calcite-color-surface-1)}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${w(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${w(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${w(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${v(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${v(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
2
+ import{a as L}from"./2D6XDWYA.js";import{a as x}from"./YUWXPLTE.js";import{a as S}from"./65I4AUS4.js";import{b as I}from"./MXPZF4RB.js";import"./QMAV4UTN.js";import"./Y2AUIXNK.js";import{F as $,G as v,H as k,J as p,h as F,i as l,l as h,q as b}from"./T3EPRHTT.js";import"./EXBEKVP5.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function w(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:var(--calcite-color-surface-2);color:var(--calcite-color-text-1)}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:var(--calcite-color-surface-1)}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${w(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${w(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${w(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${v(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${v(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
@@ -0,0 +1,3 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{a as ee}from"./HYQVSB6C.js";import{a as D}from"./YUWXPLTE.js";import{a as q,b as C,c as x}from"./NQH7ZZWD.js";import{e as K,f as T,g as f,h as U,i as R,j as J,k as $}from"./BSIPKI63.js";import b from"./DQJ36YEL.js";import a from"./TK5EXRZL.js";import{b as O,c as Z}from"./2B4SGB3I.js";import{b as I}from"./RLSY4VUQ.js";import{ta as j}from"./CGQALCTZ.js";import{a as z}from"./VSRNGZ43.js";import{b as k}from"./ZB5UCRCG.js";import{F as V,G as N,H as P,J as X,L as d,h as Y,i as r,q as S}from"./T3EPRHTT.js";export default $arcgis.t(([{h:b,l:W,m:_,q:H,r:L},{b:Q,d:G,q:p,r:A}])=>{var te=Y`:host{display:block;block-size:100%;min-block-size:0}calcite-panel.builder-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);block-size:100%}calcite-panel.builder-panel::part(content){display:flex;flex-direction:column;overflow:hidden;min-height:0}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-relative-md);font-weight:500;color:var(--calcite-color-text-1);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:0 1 auto;min-width:0;line-height:1.3}.section-header{font-size:var(--calcite-font-size-1);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-color-text-1);display:block}.section-title{font-weight:500;color:var(--calcite-color-text-1)}calcite-input-text,calcite-input-number,calcite-text-area,calcite-combobox{font-weight:500}.textarea-wrapper{display:flex;flex-direction:column;align-items:stretch;flex-shrink:1;min-height:0}.textarea-wrapper calcite-text-area{flex:0 0 auto;min-height:0;--calcite-text-area-min-height: 5.5rem;--calcite-text-area-max-height: 5.5rem;align-self:stretch;width:100%}.textarea-wrapper calcite-text-area::part(textarea){block-size:5.5rem;min-block-size:5.5rem;max-block-size:5.5rem}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;overflow:auto}.builder-content-flow{display:flex;flex-direction:column;overflow:hidden;min-block-size:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.content-container{display:flex;flex-direction:row;margin:var(--calcite-space-lg)}.solution-item-action-group{display:flex;flex-direction:row;width:100%}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0 0}.solution-item-inputs{display:flex;flex-direction:column}.solution-inputs-row{display:flex;align-items:flex-start}.thumbnail-container{flex-shrink:0;flex-grow:0;overflow:hidden;width:300px}.thumbnail-container img{display:block;width:100%;height:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;gap:var(--calcite-space-md);min-width:0}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0 var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg)}.action-buttons>calcite-button:first-child{margin-top:1.4rem}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.solution-item-content-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg);padding-inline:var(--calcite-space-lg);padding-bottom:var(--calcite-space-lg)}.section-header{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2);margin:0 0 var(--calcite-space-md) 0}@media(max-width:1024px){.content-container{display:flex;flex-direction:column;margin:var(--calcite-space-3xl)}.solution-item-section{width:100%;padding:var(--calcite-space-lg) var(--calcite-space-xxl) 0 var(--calcite-space-xxl)}.solution-item-action-group{display:flex;flex-direction:column}.actions-section{width:100%;flex:0;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-xxl) 0 var(--calcite-space-xxl)}.solution-item-thumbnail{display:flex;justify-content:center;align-items:center;height:100%;width:100%}}@media(min-width:1025px)and (max-width:1366px){.content-container{display:flex;flex-direction:column;margin:var(--calcite-space-lg)}.solution-item-section{width:100%;padding:var(--calcite-space-lg) var(--calcite-space-lg) 0 var(--calcite-space-lg)}.actions-section{width:100%;flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0 var(--calcite-space-lg)}.solution-item-thumbnail{display:flex;justify-content:center;align-items:center;height:100%;width:100%}}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.layer-form-content{padding:var(--calcite-space-3xl)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);flex:1 1 auto;min-block-size:0;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;flex-direction:column;align-items:stretch}.new-layer-button{padding-right:var(--calcite-space-2xl)}.layer-selector-row{display:flex;gap:var(--calcite-space-md);align-items:center}.layer-selector-label{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);white-space:nowrap}.layer-selector-row calcite-combobox{flex:1;min-width:0}.layer-selector-row>calcite-button{flex-shrink:0}.layer-selector-container calcite-combobox{width:100%}.layer-properties-container{display:flex;gap:var(--calcite-space-md);margin-top:var(--calcite-space-lg)}.flow-details-container>.layer-properties-container:first-of-type{margin-top:0}.layer-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg)}.flow-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg);margin:var(--calcite-space-3xl)}.layer-properties-section{display:flex;flex-direction:column;gap:var(--calcite-space-md)}.layer-properties-row{display:flex;gap:var(--calcite-space-md);align-items:flex-start}.layer-properties-row>*{flex:1;min-width:0}.layer-type-control-row{display:flex;gap:var(--calcite-space-md);align-items:flex-end}.layer-type-control-row calcite-combobox{flex:1;min-width:0}.layer-type-control-row>calcite-button{flex-shrink:0}.layer-properties-container>*{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;display:block}.fields-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.info-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.info-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.info-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.field-description-tooltip{--calcite-tooltip-max-size-x: 24rem}.field-description-tooltip-content{white-space:normal;overflow-wrap:anywhere}.edit-cell-content{display:flex;justify-content:center;align-items:center}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section .section-title{margin-bottom:var(--calcite-space-sm)}.domain-section>div{width:100%}.domain-actions-row{display:flex;justify-content:space-between;align-items:center;width:100%}.content-item-flow-heading{display:flex;align-items:center;gap:var(--calcite-space-sm);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium)}.popover-content{padding:var(--calcite-space-lg);min-width:420px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}.padding-1{padding:var(--calcite-spacing-lg)}.padding-top-sm{padding-top:var(--calcite-space-sm)}.padding-top-lg{padding-top:var(--calcite-space-lg)}.padding-bottom-1{padding-bottom:var(--calcite-spacing-lg)}.padding-top-1-2{padding-top:var(--calcite-spacing-sm)}.discard-changes-button{display:flex;flex-direction:row;gap:var(--calcite-space-md)}.display-flex{display:flex}.display-none{display:none}.flex-direction-column{flex-direction:column}.margin-inline-unset{margin-inline:unset}.flow-footer-center{display:flex;justify-content:center}`,se="data:image/png;base64,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",ae="data:image/png;base64,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",le="data:image/png;base64,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",B=class extends P{constructor(){super(),this.design=null,this.readOnlyNotice="",this._design=null,this._translations=z({name:"solution-builder-assistant",blocking:!0}),this._isDirty=!1,this._solutionTitleInput="",this._solutionDescriptionInput="",this._titleValidationError=null,this._deployAlertMessage=null,this._layerNameAlertMessage=null,this._itemContentAlertMessage=null,this._editFieldAlertMessage=null,this._descriptionValidationError=null,this._undoStack=[],this._redoStack=[],this._isEditingContentItem=!1,this._editingContentItemId=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._layerNameValidationError=null,this._layerDescriptionValidationError=null,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null,this._selectedLayerIndex=0,this._isAddingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._isEditingField=!1,this._editingFieldIndex=-1,this._editingFieldType=null,this._editingFieldDisplayName="",this._editingFieldName="",this._editingFieldDescription="",this._editingFieldTypeValue="string",this._editingFieldLength=p,this._editingFieldChoiceList=null,this._isAddingNewField=!1,this._isCustomizingLayer=!1,this._selectedFieldCount=0,this._hasRequiredFieldSelected=!1,this._fieldTableKey=0,this._selectedFieldRows=[],this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=p,this._newFieldChoiceList=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._editingFieldChoiceListVersion=0,this._newFieldChoiceListVersion=0,this._userOptions=[],this._designContextValue=null,this._isProcessing=!1,this._isDiscarding=!1,this._isDiscardingFlowChanges=!1,this._isCheckingPermissions=!1,this._permisssionErrorMessages={leadingMessages:[],bulletedMessages:[],trailingMessages:[]},this._pendingFlowDiscardAction=null,this._suppressNextEditFieldLengthChangeCommit=!1,this._lastPushedDesign=null,this._hasLoggedFirstOpen=!1,this._deployDialogRef=V(),this._deployingDialogRef=V(),this._deployFlow=new ee({deployDialogRef:this._deployDialogRef,deployingDialogRef:this._deployingDialogRef,getCard:()=>this._card,onDeployStarted:()=>{this._deploymentStartTime=Date.now();let e=this._getBuilderTelemetryMetadata(),i=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],t=_(i);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Started",dimensions:[e.patternName,e.solutionId,e.version,"",t]})},onDeployCancelled:()=>{let e=this._getBuilderTelemetryMetadata(),i=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],t=_(i);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Dialog Canceled",dimensions:[e.patternName,e.solutionId,e.version,"",t]})},onDeploySuccess:()=>{let e=L(this._deploymentStartTime);this._deploymentStartTime=null;let i=this._getBuilderTelemetryMetadata(),t=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],s=_(t);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Success",dimensions:[i.patternName,i.solutionId,i.version,"",s],metrics:[e]})},onDeployFailedReal:e=>{let i=L(this._deploymentStartTime);this._deploymentStartTime=null;let t=H(e),s=t.length>200?t.slice(-200):t;console.error("Deployment failed:",e);let l=this._getBuilderTelemetryMetadata(),a=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],n=_(a);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Failure",dimensions:[l.patternName,l.solutionId,l.version,s,n],metrics:[i]})},onDeploymentProcessCancelled:()=>{this._cancellationStartTime=Date.now(),this._deployToCancelDuration=L(this._deploymentStartTime),this._deploymentStartTime=null},onCloseAfterCancel:()=>{let e=L(this._cancellationStartTime),i=this._getBuilderTelemetryMetadata(),t=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],s=_(t);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Canceled",dimensions:[i.patternName,i.solutionId,i.version,"",s],metrics:[this._deployToCancelDuration,e]}),this._cancellationStartTime=null,this._deployToCancelDuration=0},onDeployedCardReady:e=>{this._clearBuilderAfterDeployment(),window.dispatchEvent(new CustomEvent("displayDeployedCard",{detail:e}))},onDeploymentFallback:()=>{this._clearBuilderAfterDeployment(),window.dispatchEvent(new CustomEvent("navTabSelected",{detail:"deployments"}))}}),this._designContextConsumer=I({context:Z,subscribe:!0,callback:e=>{this._designContextValue=e,e?.design&&e.design!==this._lastPushedDesign&&this._pushDesign(e.design,!1)}}),this._configContextConsumer=I({context:O,subscribe:!0}),this._deploymentStartTime=null,this._cancellationStartTime=null,this._deployToCancelDuration=0,this.discardBuilder=S(),this._handleBeforeUnload=e=>{this._design&&e.preventDefault()},this._handleUndo=async()=>{if(this._undoStack.length===0||!this._design)return;let e=this._undoStack[this._undoStack.length-1];this._undoStack=this._undoStack.slice(0,-1),this._redoStack=[...this._redoStack,structuredClone(this._design)],this._design=e,this._lastPushedDesign=e,this._notifyDesignChanged(e),await this._revalidateForm()},this._handleRedo=async()=>{if(this._redoStack.length===0||!this._design)return;let e=this._redoStack[this._redoStack.length-1];this._redoStack=this._redoStack.slice(0,-1),this._undoStack=[...this._undoStack,structuredClone(this._design)],this._design=e,this._lastPushedDesign=e,this._notifyDesignChanged(e),await this._revalidateForm()},this._handleHideBuilder=()=>{window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"))},this._handleOpenCustomizeLayer=e=>{this._selectedLayerIndex=e,this._isCustomizingLayer=!0},this._handleCloseCustomizeLayer=()=>{if(this._layerNameValidationError||this._layerDescriptionValidationError){this._layerNameAlertMessage=null,setTimeout(()=>{this._layerNameAlertMessage=this._layerNameValidationError||this._layerDescriptionValidationError},0);return}this._isCustomizingLayer=!1,this._isAddingLayer=!1,this._isEditingField=!1,this._isAddingNewField=!1},this._handleTitleInput=async e=>{this._solutionTitleInput=e,this._titleValidationError=await this._validateSolutionName(e)},this._handleTitleBlur=async e=>{if(this._design&&(this._titleValidationError=await this._validateSolutionName(e),e!==this._design.solution?.title)){let i={...this._design,solution:{...this._design.solution,title:e}};this._pushDesign(i),this._logEditTelemetry("Solution Name")}},this._handleDescriptionInput=e=>{this._solutionDescriptionInput=e,this._descriptionValidationError=this._validateSolutionDescription(e)},this._handleDescriptionBlur=e=>{if(this._design&&(this._descriptionValidationError=this._validateSolutionDescription(e),e!==this._design.solution?.description)){let i={...this._design,solution:{...this._design.solution,description:e}};this._pushDesign(i),this._logEditTelemetry("Solution Description")}},this._handleEditingItemTitleInput=e=>{this._editingItemTitle=e,this._editingItemTitleError=this._validateItemName(e)},this._handleEditingItemTitleChange=e=>{if(!this._design||!this._editingContentItemId)return;let i=this._design.items.find(t=>t.id===this._editingContentItemId);if(i&&e!==i.title){let t=this._design.items.map(l=>l.id===this._editingContentItemId?{...l,title:e}:l),s={...this._design,items:t};this._pushDesign(s),this._logEditTelemetry("Item Title")}},this._handleEditingItemDescriptionInput=e=>{this._editingItemDescription=e,this._editingItemDescriptionError=this._validateItemDescription(e)},this._handleEditingItemDescriptionChange=e=>{if(!this._design||!this._editingContentItemId)return;let i=this._design.items.find(t=>t.id===this._editingContentItemId);if(i&&e!==i.description){let t=this._design.items.map(l=>l.id===this._editingContentItemId?{...l,description:e}:l),s={...this._design,items:t};this._pushDesign(s),this._logEditTelemetry("Item Description")}},this._handleOpenContentItemFlow=e=>{this._editingContentItemId=e.id,this._editingItemTitle=e.title||"",this._editingItemDescription=e.description||"",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._isEditingContentItem=!0},this._handleCloseContentItemFlow=()=>{if(this._editingItemTitleError||this._editingItemDescriptionError){this._itemContentAlertMessage=null,setTimeout(()=>{this._itemContentAlertMessage=this._editingItemTitleError||this._editingItemDescriptionError},0);return}this._doContentItemBack()},this._doContentItemBack=()=>{this._isEditingContentItem=!1,this._editingContentItemId=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null},this._handleAddLayer=()=>{this._isCustomizingLayer=!0,this._isAddingLayer=!0,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleAddLayerFlowItemBack=e=>{if(e.preventDefault(),!this._hasAddLayerChanges()){(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doAddLayerBack());return}this._pendingFlowDiscardAction=this._doAddLayerBack,this._isDiscardingFlowChanges=!0},this._hasAddLayerChanges=()=>this._newLayerName.trim()!==""||this._newLayerDescription.trim()!=="",this._doAddLayerBack=()=>{this._isAddingLayer=!1,this._isCustomizingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleAddLayerDone=()=>{if(!this._design||(this._newLayerNameValidationError=this._validateLayerName(this._newLayerName),this._newLayerDescriptionValidationError=this._validateLayerDescription(this._newLayerDescription),this._newLayerNameValidationError||this._newLayerDescriptionValidationError))return;let e=this._design.featureLayer?.layers||[],i=e.map(s=>s.id!=null?parseInt(s.id,10):0).filter(s=>!isNaN(s)),t={id:(i.length>0?Math.max(...i):0)+1,type:this._newLayerType,typeMutable:!0,name:this._newLayerName,description:this._newLayerDescription,customFields:[],requiredFields:[],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record.",choiceList:null,length:p},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record.",choiceList:null,length:p}]};this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:[...e,t]}}),this._logEditTelemetry("Add Layer"),this._selectedLayerIndex=e.length,this._isAddingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleNewLayerNameChange=e=>{this._newLayerName=e;let i=(this._design?.featureLayer?.layers||[]).map(t=>t.name);this._newLayerNameValidationError=this._validateLayerName(e,i)},this._handleNewLayerTypeChange=e=>{let i=e.target.selectedItems[0];i&&(this._newLayerType=i.value)},this._handleNewLayerDescriptionChange=e=>{this._newLayerDescription=e,this._newLayerDescriptionValidationError=this._validateLayerDescription(e)},this._handleAddField=()=>{this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=p,this._newFieldChoiceList=null,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._isAddingNewField=!0,this._scrollCustomizeLayerFlowToTop()},this._handleAddFieldFlowItemBack=e=>{if(e.preventDefault(),!this._hasAddFieldChanges()){(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doAddFieldBack());return}this._pendingFlowDiscardAction=this._doAddFieldBack,this._isDiscardingFlowChanges=!0},this._hasAddFieldChanges=()=>this._newFieldDisplayName.trim()!==""||this._newFieldName.trim()!==""||this._newFieldDescription.trim()!==""||this._newFieldChoiceList!=null&&this._newFieldChoiceList.length>0,this._doAddFieldBack=()=>{this._isAddingNewField=!1,this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=p,this._newFieldChoiceList=null,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map},this._handleAddFieldDone=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[],i=e[this._selectedLayerIndex];if(!i||!this._newFieldName.trim())return;let t={name:this._newFieldName,type:this._newFieldType,alias:this._newFieldDisplayName||this._newFieldName,description:this._newFieldDescription,choiceList:this._newFieldChoiceList&&this._newFieldChoiceList.length>0?this._newFieldChoiceList:null};this._newFieldType==="string"&&(t.length=this._newFieldLength);let s=[...i.customFields||[],t],l=e.map((a,n)=>n===this._selectedLayerIndex?{...a,customFields:s}:a);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:l}}),this._logEditTelemetry("Add Field"),this._doAddFieldBack()},this._handleNewFieldTypeChange=e=>{let i=e.target.selectedItems[0];if(!i)return;let t=this._newFieldType,s=i.value;this._shouldClearChoiceList(t,s)&&(this._newFieldChoiceList=null,this._newFieldChoiceListErrors=new Map),this._newFieldType=s},this._handleNewFieldDisplayNameChange=e=>{this._newFieldDisplayName=e,this._newFieldDisplayNameError=this._validateFieldDisplayName(e)},this._handleNewFieldNameChange=e=>{this._newFieldName=e,this._newFieldNameError=this._validateFieldName(e,this._selectedLayerIndex,!1)},this._handleNewFieldDescriptionChange=e=>{this._newFieldDescription=e,this._newFieldDescriptionError=this._validateFieldDescription(e)},this._handleNewFieldLengthChange=e=>{if(this._newFieldLengthError=this._validateFieldLength(e),!(e===null||isNaN(e))&&(this._newFieldLength=e,this._newFieldChoiceList?.length)){let i=new Map(this._newFieldChoiceListErrors);this._newFieldChoiceList.forEach((t,s)=>{let l=this._validateDomainValue(t,e,!1,this._newFieldChoiceList,s);l?i.set(s,l):i.delete(s)}),this._newFieldChoiceListErrors=i}},this._handleEditField=(e,i)=>{let t=(this._design?.featureLayer?.layers||[])[this._selectedLayerIndex];if(!t)return;let s=t.customFields||[],l=t.requiredFields||[];if(e<s.length)this._editingFieldType="custom",this._editingFieldIndex=e;else{let a=e-s.length;if(a>=l.length)return;this._editingFieldType="required",this._editingFieldIndex=a}this._editingFieldDisplayName=i.alias||"",this._editingFieldName=i.name||"",this._editingFieldDescription=i.description||"",this._editingFieldTypeValue=i.type||"string",this._editingFieldLength=i.length||p,this._editingFieldChoiceList=i.choiceList?[...i.choiceList]:null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._isEditingField=!0,this._scrollCustomizeLayerFlowToTop()},this._handleEditFieldFlowItemBack=e=>{if(e.preventDefault(),!!this._editingFieldDisplayNameError||!!this._editingFieldNameError||!!this._editingFieldDescriptionError||!!this._editingFieldLengthError||this._editingFieldChoiceListErrors.size>0){this._editFieldAlertMessage=null,setTimeout(()=>{this._editFieldAlertMessage=this._editingFieldDisplayNameError||this._editingFieldNameError||this._editingFieldDescriptionError||this._editingFieldLengthError||Array.from(this._editingFieldChoiceListErrors.values())[0]||""},0);return}(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doEditFieldBack())},this._doEditFieldBack=()=>{this._isEditingField=!1,this._editingFieldIndex=-1,this._editingFieldType=null,this._editingFieldDisplayName="",this._editingFieldName="",this._editingFieldDescription="",this._editingFieldTypeValue="string",this._editingFieldLength=p,this._editingFieldChoiceList=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map},this._handleEditFieldTypeChange=e=>{let i=e.target.selectedItems[0];if(!i)return;let t=this._editingFieldTypeValue,s=i.value;this._shouldClearChoiceList(t,s)&&(this._editingFieldChoiceList=null,this._editingFieldChoiceListErrors=new Map),this._editingFieldTypeValue=s,this._commitEditFieldChanges()},this._handleEditFieldDisplayNameChange=e=>{this._editingFieldDisplayName=e,this._editingFieldDisplayNameError=this._validateFieldDisplayName(e)},this._handleEditFieldNameChange=e=>{this._editingFieldName=e,this._editingFieldNameError=this._validateFieldName(e,this._selectedLayerIndex,!0,this._editingFieldIndex,this._editingFieldType)},this._handleEditFieldDescriptionChange=e=>{this._editingFieldDescription=e,this._editingFieldDescriptionError=this._validateFieldDescription(e)},this._handleEditFieldLengthChange=e=>{e===null||isNaN(e)||(this._editingFieldLength=e)},this._handleClearEditFieldChoiceList=()=>{this._editingFieldChoiceList=null,this._editingFieldChoiceListErrors=new Map,this._commitEditFieldChanges()},this._handleAddEditFieldChoice=()=>{this._editingFieldChoiceList?this._editingFieldChoiceList=[...this._editingFieldChoiceList,""]:this._editingFieldChoiceList=[""];let e=this._editingFieldChoiceList.length-1;this._editingFieldChoiceListErrors.set(e,this._translations.domainValueErrorEmpty),this._editingFieldChoiceListErrors=new Map(this._editingFieldChoiceListErrors),this._commitEditFieldChanges()},this._handleRemoveEditFieldChoice=e=>{if(!this._editingFieldChoiceList)return;this._editingFieldChoiceList=this._editingFieldChoiceList.filter((t,s)=>s!==e);let i=new Map;this._editingFieldChoiceListErrors.forEach((t,s)=>{s<e?i.set(s,t):s>e&&i.set(s-1,t)}),this._editingFieldChoiceListErrors=i,this._editingFieldChoiceList.length===0&&(this._editingFieldChoiceList=null,this._editingFieldChoiceListErrors=new Map),this._editingFieldChoiceListVersion++,this._commitEditFieldChanges()},this._handleUpdateEditFieldChoice=(e,i)=>{if(!this._editingFieldChoiceList)return;let t=[...this._editingFieldChoiceList];t[e]=i,this._editingFieldChoiceList=t;let s=this._validateDomainValue(i,this._editingFieldLength,!1,t,e);s?this._editingFieldChoiceListErrors.set(e,s):this._editingFieldChoiceListErrors.delete(e),this._editingFieldChoiceListErrors=new Map(this._editingFieldChoiceListErrors)},this._handleEditFieldChoiceOrderChange=e=>{if(!this._editingFieldChoiceList)return;let{oldIndex:i,newIndex:t}=e.detail;if(i===t)return;let s=[...this._editingFieldChoiceList],[l]=s.splice(i,1);s.splice(t,0,l),this._editingFieldChoiceList=s,this._editingFieldChoiceListVersion++,this._commitEditFieldChanges()},this._handleEditFieldDisplayNameBlur=()=>{!this._design||!this._editingFieldType||this._commitEditFieldChanges()},this._handleEditFieldNameBlur=()=>{!this._design||this._editingFieldType!=="custom"||this._commitEditFieldChanges()},this._handleEditFieldDescriptionBlur=()=>{!this._design||!this._editingFieldType||this._commitEditFieldChanges()},this._handleEditFieldLengthInputNumberChange=()=>{if(this._suppressNextEditFieldLengthChangeCommit){this._suppressNextEditFieldLengthChangeCommit=!1;return}this._handleEditFieldLengthBlur()},this._handleEditFieldLengthStepInput=e=>{let i=e.target.value===""?null:parseInt(e.target.value);this._handleEditFieldLengthChange(i),this._suppressNextEditFieldLengthChangeCommit=!0,requestAnimationFrame(()=>this._handleEditFieldLengthBlur())},this._handleEditFieldLengthBlur=()=>{if(!(!this._design||this._editingFieldType!=="custom")){if(this._editingFieldLengthError=this._validateFieldLength(this._editingFieldLength),this._editingFieldChoiceList?.length){let e=new Map(this._editingFieldChoiceListErrors);this._editingFieldChoiceList.forEach((i,t)=>{let s=this._validateDomainValue(i,this._editingFieldLength,!1,this._editingFieldChoiceList,t);s?e.set(t,s):e.delete(t)}),this._editingFieldChoiceListErrors=e}this._commitEditFieldChanges()}},this._handleEditFieldDomainValueBlur=()=>{!this._design||this._editingFieldType!=="custom"||this._commitEditFieldChanges()},this._commitEditFieldChanges=()=>{if(!this._design||!this._editingFieldType)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e[this._selectedLayerIndex];if(this._editingFieldType==="custom"){let t=[...i.customFields||[]];t[this._editingFieldIndex]={...t[this._editingFieldIndex],alias:this._editingFieldDisplayName,name:this._editingFieldName,description:this._editingFieldDescription,type:this._editingFieldTypeValue,choiceList:this._editingFieldChoiceList&&this._editingFieldChoiceList.length>0?this._editingFieldChoiceList:null,length:this._editingFieldTypeValue==="string"?this._editingFieldLength:void 0};let s=e.map((l,a)=>a===this._selectedLayerIndex?{...l,customFields:t}:l);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}}),this._logEditTelemetry("Edit Field")}else if(this._editingFieldType==="required"){let t=[...i.requiredFields||[]];t[this._editingFieldIndex]={...t[this._editingFieldIndex],alias:this._editingFieldDisplayName,description:this._editingFieldDescription};let s=e.map((l,a)=>a===this._selectedLayerIndex?{...l,requiredFields:t}:l);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}})}},this._handleClearNewFieldChoiceList=()=>{this._newFieldChoiceList=null,this._newFieldChoiceListErrors=new Map},this._handleAddNewFieldChoice=()=>{this._newFieldChoiceList?this._newFieldChoiceList=[...this._newFieldChoiceList,""]:this._newFieldChoiceList=[""];let e=this._newFieldChoiceList.length-1;this._newFieldChoiceListErrors.set(e,this._translations.domainValueErrorEmpty),this._newFieldChoiceListErrors=new Map(this._newFieldChoiceListErrors)},this._handleRemoveNewFieldChoice=e=>{if(!this._newFieldChoiceList)return;this._newFieldChoiceList=this._newFieldChoiceList.filter((t,s)=>s!==e);let i=new Map;this._newFieldChoiceListErrors.forEach((t,s)=>{s<e?i.set(s,t):s>e&&i.set(s-1,t)}),this._newFieldChoiceListErrors=i,this._newFieldChoiceList.length===0&&(this._newFieldChoiceList=null,this._newFieldChoiceListErrors=new Map),this._newFieldChoiceListVersion++},this._handleUpdateNewFieldChoice=(e,i)=>{if(!this._newFieldChoiceList)return;let t=[...this._newFieldChoiceList];t[e]=i,this._newFieldChoiceList=t;let s=this._validateDomainValue(i,this._newFieldLength,!1,t,e);s?this._newFieldChoiceListErrors.set(e,s):this._newFieldChoiceListErrors.delete(e),this._newFieldChoiceListErrors=new Map(this._newFieldChoiceListErrors)},this._handleNewFieldChoiceOrderChange=e=>{if(!this._newFieldChoiceList)return;let{oldIndex:i,newIndex:t}=e.detail;if(i===t)return;let s=[...this._newFieldChoiceList],[l]=s.splice(i,1);s.splice(t,0,l),this._newFieldChoiceList=s,this._newFieldChoiceListVersion++},this._handleDeleteField=()=>{if(!this._design||this._editingFieldType!=="custom")return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=[...e[this._selectedLayerIndex].customFields||[]];i.splice(this._editingFieldIndex,1);let t=e.map((s,l)=>l===this._selectedLayerIndex?{...s,customFields:i}:s);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:t}}),this._logEditTelemetry("Delete Field"),this._doEditFieldBack()},this._handleFieldTableSelect=e=>{let i=e.target.selectedItems??[];this._selectedFieldRows=i,this._selectedFieldCount=i.length,this._hasRequiredFieldSelected=i.some(t=>!t.dataset.fieldIndex)},this._handleDeleteSelectedFields=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e[this._selectedLayerIndex],t=this._selectedFieldRows;if(!t?.length)return;let s=new Set(t.map(n=>parseInt(n.dataset.fieldIndex??"-1")).filter(n=>n>=0)),l=(i.customFields||[]).filter((n,o)=>!s.has(o)),a=e.map((n,o)=>o===this._selectedLayerIndex?{...n,customFields:l}:n);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:a}}),this._logEditTelemetry("Delete Field"),this._selectedFieldCount=0,this._hasRequiredFieldSelected=!1,this._selectedFieldRows=[],this._fieldTableKey+=1},this._handleLayerNameInput=e=>{if(!this._design)return;let i=(this._design.featureLayer?.layers||[]).map((t,s)=>s!==this._selectedLayerIndex?t.name:null).filter(t=>t!==null);this._layerNameValidationError=this._validateLayerName(e,i)},this._handleLayerNameBlur=e=>{if(!this._design)return;let i=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=i.length)return;let t=i[this._selectedLayerIndex];if(t&&e!==t.name){let s=i.map((l,a)=>a===this._selectedLayerIndex?{...l,name:e}:l);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}}),this._logEditTelemetry("Update Layer")}},this._handleLayerTypeChange=e=>{if(!this._design)return;let i=e.target.selectedItems[0];if(!i)return;let t=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=t.length)return;let s=t[this._selectedLayerIndex],l=i.value;if(l==="Table"&&this._shouldDisableTableTypeOption(s))return;let a=t.map((n,o)=>o===this._selectedLayerIndex?{...n,type:l}:n);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:a}}),this._logEditTelemetry("Update Layer")},this._handleLayerDescriptionInput=e=>{this._layerDescriptionValidationError=this._validateLayerDescription(e)},this._handleLayerDescriptionBlur=e=>{if(!this._design)return;let i=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=i.length)return;let t=i[this._selectedLayerIndex];if(t&&e!==t.description){let s=i.map((l,a)=>a===this._selectedLayerIndex?{...l,description:e}:l);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}}),this._logEditTelemetry("Update Layer")}},this._revalidateForm=async()=>{if(!this._design)return;this._titleValidationError=await this._validateSolutionName(this._design.solution?.title||""),this._descriptionValidationError=this._validateSolutionDescription(this._design.solution?.description||"");let e=(this._design.featureLayer?.layers||[])[this._selectedLayerIndex];this._layerNameValidationError=this._validateLayerName(e.name),e.description&&(this._layerDescriptionValidationError=this._validateLayerDescription(e.description))},this._handleRemoveLayer=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e.filter((t,s)=>s!==this._selectedLayerIndex);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:i}}),this._logEditTelemetry("Delete Layer"),this._isCustomizingLayer=!1,this._selectedLayerIndex=0},this._handleDeploy=async()=>{if(!this._design||b(this._configContextConsumer.value))return;if(this._titleValidationError){this._deployAlertMessage=this._titleValidationError;return}this._card={id:this._design.solution.itemId||"",title:this._design.solution.title||"",supportReuse:!1};let e=this._design.params?.wkid;if(e){let l=String(e.default??"3857");this._userOptions=[{id:"wkid",props:[{attributes:e.attributes??{required:"true"},autoSelect:!0,id:"wkid",prop:"wkid",default:l,label:e.label??"Spatial Reference",outType:"number",srSearchText:l,validation:{expression:"\\S{1,}",message:""},value:l,valueType:"spatialreference"}]}]}else this._userOptions=[];if(await this.updateComplete,!this._deployDialogRef.value){console.warn("solution-deploy-dialog not available in solution-builder-assistant");return}this._deployDialogRef.value.card=this._card,this._deployDialogRef.value.userOptions=this._userOptions,this._deployDialogRef.value.open=!0;let i=this._getBuilderTelemetryMetadata(),t=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],s=_(t);this._telemetry?.logEvent({category:A.SOLUTION_DETAILS,action:"Deploy Dialog Opened",dimensions:[i.patternName,i.solutionId,i.version,"",s]})},this._handleDeployCancelled=()=>{this._deployFlow.handleDeployCancelled()},this._handleDeployFailed=e=>{this._deployFlow.handleDeployFailed(e)},this._handleDeploySuccess=e=>{this._deployFlow.handleDeploySuccess(e)},this._deployProgressStart=e=>{this._deployFlow.deployProgressStart(e)},this._deployProgessUpdated=e=>{this._deployFlow.deployProgressUpdated(e)},this._handleDeploymentProcessCancelled=()=>{this._deployFlow.handleDeploymentProcessCancelled()},this._handleDeployedCardReady=e=>this._deployFlow.handleDeployedCardReady(e),this._handleDeploymentFallback=e=>{this._deployFlow.handleDeploymentFallback(e)},this._handleDiscardChanges=()=>{let e=this._getBuilderTelemetryMetadata();this._telemetry?.logEvent({category:A.BUILDER,action:"Discard",dimensions:[e.patternName]}),this._clearBuilderState()},this._clearBuilderAfterDeployment=()=>{this._clearBuilderState()},this._clearBuilderState=()=>{this._deployFlow.pendingDeployedSolutionId=null,this._undoStack=[],this._redoStack=[],this._design=null,this._lastPushedDesign=null,this._isDirty=!1,this._hasLoggedFirstOpen=!1,this._isCustomizingLayer=!1,this._isAddingLayer=!1,this._isEditingField=!1,this._isAddingNewField=!1,this._notifyDesignChanged(null),this._deployFlow.closeDialogs(),this._clearDesignAndClose(),this.discardBuilder.emit(!1),window.dispatchEvent(new CustomEvent("clearAssistantConversation")),this._isDiscarding=!1},this._handleAssistantProcessing=e=>{this._isProcessing=e.detail},this._clearValidationErrors=()=>{this._titleValidationError=null,this._descriptionValidationError=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._layerNameValidationError=null,this._layerDescriptionValidationError=null,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._deployAlertMessage=null,this._layerNameAlertMessage=null,this._hasRequiredFieldSelected=!1},this._designContextConsumer,window.addEventListener("arcgis-solution-undo",this._handleUndo),window.addEventListener("arcgis-solution-redo",this._handleRedo),window.addEventListener("beforeunload",this._handleBeforeUnload),this.listenOn(window,"deployedCardReady",this._handleDeployedCardReady),this.listenOn(window,"deploymentCompletedWithoutNav",this._handleDeploymentFallback),this.listenOn(window,"assistantProcessing",this._handleAssistantProcessing),this.listenOn(window,"requestBuilderDiscard",()=>{this._handleDiscardChanges()})}static{this.properties={design:[1,{type:Object}],readOnlyNotice:1,_design:16,_translations:16,_isDirty:16,_solutionTitleInput:16,_solutionDescriptionInput:16,_titleValidationError:16,_deployAlertMessage:16,_layerNameAlertMessage:16,_itemContentAlertMessage:16,_editFieldAlertMessage:16,_descriptionValidationError:16,_undoStack:16,_redoStack:16,_isEditingContentItem:16,_editingContentItemId:16,_editingItemTitle:16,_editingItemDescription:16,_editingItemTitleError:16,_editingItemDescriptionError:16,_layerNameValidationError:16,_layerDescriptionValidationError:16,_newLayerNameValidationError:16,_newLayerDescriptionValidationError:16,_selectedLayerIndex:16,_isAddingLayer:16,_newLayerName:16,_newLayerType:16,_newLayerDescription:16,_isEditingField:16,_editingFieldIndex:16,_editingFieldType:16,_editingFieldDisplayName:16,_editingFieldName:16,_editingFieldDescription:16,_editingFieldTypeValue:16,_editingFieldLength:16,_editingFieldChoiceList:16,_isAddingNewField:16,_isCustomizingLayer:16,_selectedFieldCount:16,_hasRequiredFieldSelected:16,_fieldTableKey:16,_newFieldDisplayName:16,_newFieldName:16,_newFieldDescription:16,_newFieldType:16,_newFieldLength:16,_newFieldChoiceList:16,_editingFieldDisplayNameError:16,_editingFieldNameError:16,_editingFieldDescriptionError:16,_editingFieldLengthError:16,_editingFieldChoiceListErrors:16,_newFieldDisplayNameError:16,_newFieldNameError:16,_newFieldDescriptionError:16,_newFieldLengthError:16,_newFieldChoiceListErrors:16,_editingFieldChoiceListVersion:16,_newFieldChoiceListVersion:16,_card:16,_userOptions:16,_designContextValue:16,_isProcessing:16,_isDiscarding:16,_isDiscardingFlowChanges:16,_canDeploy:16,_isCheckingPermissions:16,_permisssionErrorMessages:16}}static{this.styles=te}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}disconnectedCallback(){window.removeEventListener("arcgis-solution-undo",this._handleUndo),window.removeEventListener("arcgis-solution-redo",this._handleRedo),window.removeEventListener("beforeunload",this._handleBeforeUnload),super.disconnectedCallback()}willUpdate(e){if(e.has("design")&&(this.design?this._pushDesign(this.design):this._design=null),e.has("_design")&&this._isEditingField&&this._design){let i=[...this._design.featureLayer?.layers?.[this._selectedLayerIndex]?.customFields||[],...this._design.featureLayer?.layers?.[this._selectedLayerIndex]?.requiredFields||[]][this._editingFieldIndex];if(i&&(this._handleEditField(this._editingFieldIndex,i),this._editingFieldDisplayNameError=this._validateFieldDisplayName(this._editingFieldDisplayName),this._editingFieldNameError=this._validateFieldName(this._editingFieldName,this._selectedLayerIndex,!0,this._editingFieldIndex,this._editingFieldType),this._editingFieldDescriptionError=this._validateFieldDescription(this._editingFieldDescription),this._editingFieldLengthError=this._validateFieldLength(this._editingFieldLength),this._editingFieldChoiceList?.length)){let t=new Map;this._editingFieldChoiceList.forEach((s,l)=>{let a=this._validateDomainValue(s,this._editingFieldLength,!1,this._editingFieldChoiceList,l);a&&t.set(l,a)}),this._editingFieldChoiceListErrors=t}}if(e.has("_design")){let i=this._design?.solution?.title||"",t=this._design?.solution?.description||"";if(this._solutionTitleInput=i,this._solutionDescriptionInput=t,this._validateSolutionName(i).then(s=>{this._titleValidationError=s}),this._descriptionValidationError=this._validateSolutionDescription(t),this._isEditingContentItem&&this._editingContentItemId&&this._design){let s=this._design.items.find(l=>l.id===this._editingContentItemId);s&&(this._editingItemTitle=s.title||"",this._editingItemDescription=s.description||"",this._editingItemTitleError=this._validateItemName(this._editingItemTitle),this._editingItemDescriptionError=this._validateItemDescription(this._editingItemDescription))}if(this._isCustomizingLayer&&this._design){let s=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex<s.length){let l=s[this._selectedLayerIndex],a=s.map((n,o)=>o!==this._selectedLayerIndex?n.name:null).filter(n=>n!==null);this._layerNameValidationError=this._validateLayerName(l?.name||"",a),this._layerDescriptionValidationError=this._validateLayerDescription(l?.description||"")}}this._canDeploy===void 0&&this._design&&(this._isCheckingPermissions=!0,this._hasPermissionToDeploy().then(s=>{this._isCheckingPermissions=!1,this._canDeploy=s}).catch(()=>{this._isCheckingPermissions=!1,this._canDeploy=!1}))}}render(){let e=this._translations;return e?this._design?r`<calcite-panel class="builder-panel"><div slot=header-content class="header-content-wrapper"><span class="header-title" .title=${`${e.headerTitle}${this._design?.solution?.title?`: ${this._design.solution.title}`:""}`}>${e.headerTitle}${this._design?.solution?.title?`: ${this._design.solution.title}`:""}</span><calcite-chip .label=${e.draft} kind=neutral appearance=outline scale=s>${e.draft}</calcite-chip></div><calcite-action slot=header-actions-end .text=${e.undo} text-enabled icon=undo .disabled=${this._undoStack.length===0||this._isAddingLayer||this._isAddingNewField} @click=${this._handleUndo}></calcite-action><calcite-action slot=header-actions-end .text=${e.redo} text-enabled icon=redo .disabled=${this._redoStack.length===0||this._isAddingLayer||this._isAddingNewField} @click=${this._handleRedo}></calcite-action><div slot=header-actions-end class="header-divider"></div><calcite-action slot=header-actions-end .text=${e.hideBuilder} text-enabled .icon=${document.dir==="rtl"?"chevrons-left":"chevrons-right"} @click=${this._handleHideBuilder}></calcite-action>${this._isProcessing&&r`<calcite-scrim><calcite-loader .label=${e.assistantLoading}></calcite-loader></calcite-scrim>`||""}${!this._isCustomizingLayer&&!this._isEditingContentItem&&r`<div class="builder-content">${this._renderMainContent()}${this._renderSolutionItemContent()}</div>`||""}${this._isCustomizingLayer&&r`<div class="builder-content builder-content-flow">${this._renderCustomizeLayerFlow()}</div>`||""}${this._isEditingContentItem&&r`<div class="builder-content builder-content-flow">${this._renderContentItemFlow()}</div>`||""}<solution-deploy-dialog .card=${this._card} .design=${this._design} @deployCancelled=${this._handleDeployCancelled} @deployFailed=${this._handleDeployFailed} @deployProgressEnd=${this._handleDeploySuccess} @deployProgressStart=${this._deployProgressStart} @deployProgressUpdated=${this._deployProgessUpdated} id=solutionDeployDialog .userOptions=${this._userOptions} ${N(this._deployDialogRef)}></solution-deploy-dialog><solution-deploying-dialog .card=${this._card} @deploymentProcessCancelled=${this._handleDeploymentProcessCancelled} ${N(this._deployingDialogRef)}></solution-deploying-dialog><calcite-alert .open=${!!this._deployAlertMessage} kind=danger icon=exclamation-mark-triangle label=deploy-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._deployAlertMessage=null}><div slot=title>${this._translations.invalidSolutionName}</div><div slot=message>${this._deployAlertMessage}</div></calcite-alert><calcite-alert .open=${!!this._layerNameAlertMessage} kind=danger icon=exclamation-mark-triangle label=layer-name-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._layerNameAlertMessage=null}><div slot=title>${this._translations.invalidLayerNameOrDescription}</div><div slot=message>${this._layerNameAlertMessage}</div></calcite-alert><calcite-alert .open=${!!this._itemContentAlertMessage} kind=danger icon=exclamation-mark-triangle label=item-content-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._itemContentAlertMessage=null}><div slot=title>${this._translations.invalidItemTitleOrDescription}</div><div slot=message>${this._itemContentAlertMessage}</div></calcite-alert><calcite-alert .open=${!!this._editFieldAlertMessage} kind=danger icon=exclamation-mark-triangle label=edit-field-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._editFieldAlertMessage=null}><div slot=title>${this._translations.invalidFieldProperties}</div><div slot=message>${this._editFieldAlertMessage}</div></calcite-alert>${this._isDiscarding&&r`<calcite-dialog close-disabled escape-disabled .heading=${this._design?.solution?.title??""} modal open outside-close-disabled>${e.discardMessage}<div class="discard-changes-button" slot=footer-end><calcite-button appearance=outline @click=${()=>{this._isDiscarding=!1}}>${e.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${()=>this._handleDiscardChanges()}>${e.discard}</calcite-button></div></calcite-dialog>`||""}${this._isDiscardingFlowChanges&&r`<calcite-dialog close-disabled escape-disabled .heading=${e.discard} modal open outside-close-disabled>${e.discardFlowChangesMessage}<div class="discard-changes-button" slot=footer-end><calcite-button appearance=outline @click=${()=>{this._isDiscardingFlowChanges=!1,this._pendingFlowDiscardAction=null}}>${e.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${()=>{this._isDiscardingFlowChanges=!1,this._pendingFlowDiscardAction?.(),this._pendingFlowDiscardAction=null}}>${e.discard}</calcite-button></div></calcite-dialog>`||""}</calcite-panel>`:this._renderEmptyState():r`<div>Loading...</div>`}_getFieldTypeIcon(e){switch(e){case"string":return"string";case"integer":return"integer";case"double":return"number";case"date":return"date-time";case"oid":case"globalid":case"guid":return"key";default:return"key"}}_formatFieldType(e){let i=this._translations,t={string:i.stringType,integer:i.integerType,double:i.doubleType,date:i.dateType,guid:i.guidType,globalid:i.globalIdType,oid:i.objectIdType}[e.type]||e.type;return e.type==="string"&&e.length?i.fieldTypeWithLength.replace("{{type}}",t).replace("{{length}}",String(e.length)):t}_getSystemFieldsList(e){return(e.systemFields||[]).map(i=>i.name).join(", ")}_shouldShowRemoveLayerButton(e){let i=this._design?.featureLayer?.layers||[];return!!e&&(this._design?.featureLayer?.addLayers??!1)&&i.length>1}_shouldDisableTableTypeOption(e){if(!e)return!1;let i=e.type==="Point"||e.type==="Polyline"||e.type==="Polygon",t=!(this._design?.featureLayer?.addLayers??!1);return e.typeMutable===!0&&i&&t}_shouldClearChoiceList(e,i){return e==="string"&&i!=="string"}_scrollCustomizeLayerFlowToTop(){requestAnimationFrame(()=>{let e=this.el.shadowRoot?.querySelector("calcite-flow-item[selected]");e?.shadowRoot&&e.shadowRoot.querySelector(".content-container")?.scrollTo({top:0,behavior:"smooth"})})}async _validateSolutionName(e){let i=this._translations,t=await K(e,void 0,!0);if(!t.isValid)switch(t.errorType){case"empty":return i.solutionNameErrorBlank;case"exceed-length":return i.solutionNameErrorLength;case"special-character":return i.solutionNameErrorSpecialCharacter;default:return null}return null}_validateSolutionDescription(e){let i=this._translations,t=f(e,2048,!0);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.descriptionErrorLength;case"special-character":return i.descriptionErrorSpecialCharacter;default:return null}return null}_validateItemName(e){let i=this._translations,t=T(e);if(!t.isValid)switch(t.errorType){case"empty":return i.itemTitleErrorBlank;case"exceed-length":return i.itemTitleErrorLength;case"special-character":return i.itemTitleErrorSpecialCharacter;default:return null}return null}_validateItemDescription(e){let i=this._translations,t=f(e,2048,!0);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.itemDescriptionErrorLength;case"special-character":return i.itemDescriptionErrorSpecialCharacter;default:return null}return null}_validateLayerName(e,i){let t=this._translations,s=T(e);if(!s.isValid)switch(s.errorType){case"empty":return t.layerNameErrorBlank;case"exceed-length":return t.layerNameErrorLength;case"special-character":return t.layerNameErrorSpecialCharacter;default:return null}return i&&i.some(l=>l.toLowerCase()===e.toLowerCase())?t.layerNameErrorDuplicate:null}_validateLayerDescription(e){let i=this._translations,t=f(e,2048,!0);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.layerDescriptionErrorLength;case"special-character":return i.layerDescriptionErrorSpecialCharacter;default:return null}return null}_validateFieldDisplayName(e){let i=this._translations,t=U(e);if(!t.isValid)switch(t.errorType){case"empty":return i.displayNameErrorBlank;case"exceed-length":return i.displayNameErrorLength;default:return null}return null}_validateFieldName(e,i,t=!1,s=-1,l=null){let a=this._translations,n=[],o=this._design?.featureLayer?.layers||[];if(i>=0&&i<o.length){let u=o[i],c=u.customFields||[],w=u.requiredFields||[],m=u.systemFields||[];c.forEach((g,y)=>{(!t||l!=="custom"||y!==s)&&n.push(g.name.toLowerCase())}),w.forEach((g,y)=>{(!t||l!=="required"||y!==s)&&n.push(g.name.toLowerCase())}),m.forEach(g=>{n.push(g.name.toLowerCase())})}let h=R(e,n);if(!h.isValid)switch(h.errorType){case"empty":return a.fieldNameErrorBlank;case"invalid-format":return a.fieldNameErrorInvalidChars;case"exceed-length":return a.fieldNameErrorLength;case"sql-keyword":return a.fieldNameErrorSQLKeyword;case"system-field":return a.fieldNameErrorSystemField;case"duplicate-field":return a.fieldNameErrorExists;default:return null}return null}_validateFieldDescription(e){let i=this._translations,t=f(e,500,!0);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.fieldDescriptionErrorLength;case"special-character":return i.fieldDescriptionErrorSpecialCharacter;default:return null}return null}_validateFieldLength(e){let i=this._translations;if(e===null||isNaN(e))return i.lengthErrorOutOfRange;let t=J(e);return t.isValid?null:t.errorType==="out-of-range"?i.lengthErrorOutOfRange:null}_validateDomainValue(e,i,t=!1,s,l){let a=this._translations,n=$(e,i,t);if(!n.isValid)switch(n.errorType){case"empty":return a.domainValueErrorEmpty;case"exceed-length":return a.domainValueErrorExceedsLength;default:return null}return s&&l!==void 0&&s.some((o,h)=>h!==l&&o===e)?a.domainValueErrorDuplicate:null}_isSafariBrowser(){if(typeof navigator>"u")return!1;let e=navigator.userAgent;return/Safari/i.test(e)&&!/Chrome|Chromium|CriOS|Edg|OPR/i.test(e)}_renderFieldRows(e){let i=this._translations,t=this._isSafariBrowser(),s=[...e.customFields||[],...e.requiredFields||[]],l=e.customFields?.length||0,a=[];return s.forEach((n,o)=>{let h=this._getFieldTypeIcon(n.type),u=this._formatFieldType(n),c=`field-domain-info-${o}`,w=`field-description-info-${o}`,m=`field-lock-${o}`,g=o>=l,y,M=!1,F=[];if(n.choiceList&&Array.isArray(n.choiceList)){F=n.choiceList.map(v=>v.trim()).filter(v=>v.length>0);let E=F.length>0?F.map(v=>`- ${v}`).join(`
3
+ `):void 0;M=!t&&F.length>0,y=r`<div class="info-cell-content"><span>${i.domainList.replace("{{count}}",String(n.choiceList.length))}</span>${t?r`<span title=${E??d}><calcite-icon aria-hidden=true id=${c??d} icon=information scale=s></calcite-icon></span>`:r`<calcite-icon aria-hidden=true id=${c??d} icon=information scale=s></calcite-icon>`}</div>`}else y=null;let ie=g?r`<div class="field-name-cell"><calcite-icon aria-hidden=true id=${m??d} icon=lock scale=s class="lock-icon"></calcite-icon><span>${n.name}</span></div>`:n.name;a.push(r`<calcite-table-row data-field-index=${(g?void 0:String(o))??d}><calcite-table-cell>${n.description?r`<div class="info-cell-content"><span>${n.alias}</span><calcite-icon aria-hidden=true id=${w??d} icon=information scale=s></calcite-icon></div>`:n.alias}</calcite-table-cell><calcite-table-cell>${ie}</calcite-table-cell><calcite-table-cell><div class="field-type-cell"><calcite-icon aria-hidden=true .icon=${h} scale=s></calcite-icon><span>${u}</span></div></calcite-table-cell><calcite-table-cell>${y}</calcite-table-cell><calcite-table-cell><div class="edit-cell-content"><calcite-button appearance=transparent aria-label=${i.editField??d} class="edit-icon" .id=${`edit-field-btn-${o}`} icon-start=pencil kind=neutral @click=${()=>this._handleEditField(o,n)} scale=s></calcite-button><calcite-tooltip .referenceElement=${`edit-field-btn-${o}`} placement=top>${i.editFieldPropertiesTooltip}</calcite-tooltip></div></calcite-table-cell></calcite-table-row>`),M&&a.push(r`<calcite-tooltip .referenceElement=${c} placement=left><ul class="choice-list-tooltip">${F.map(E=>r`<li>${E}</li>`)}</ul></calcite-tooltip>`),n.description&&a.push(r`<calcite-tooltip class="field-description-tooltip" .referenceElement=${w} placement=right><div class="field-description-tooltip-content">${n.description}</div></calcite-tooltip>`),g&&a.push(r`<calcite-tooltip .referenceElement=${m} placement=top>${i.requiredFieldTooltip}</calcite-tooltip>`)}),a}_renderEmptyState(){return r`<calcite-panel><div class="empty-state"><calcite-icon aria-hidden=true icon=layer scale=l></calcite-icon><p>No solution design loaded</p></div></calcite-panel>`}_renderMainContent(){return r`<div class="content-container"><div class="solution-item-thumbnail">${this._renderThumbnailInput()}</div><div class="solution-item-action-group"><div class="solution-item-section">${this._renderSolutionItemInputs()}</div><div class="actions-section">${this._renderActionButtons()}</div></div></div>`}_getBuilderTelemetryMetadata(){let e=this._design?.templateId,i="";e===q?i="Conduct Field Inspections":e===C?i="Manage Spatial Data":e===x&&(i="Locate Places of Interest");let t=this._design?.sourceBuildSolution?.solution?.item?.typeKeywords||[],s=W(t,"solutionid-"),l=W(t,"solutionversion-");return{patternName:i,solutionId:s,version:l}}_logEditTelemetry(e){let i=this._getBuilderTelemetryMetadata();this._telemetry?.logEvent({category:A.BUILDER,action:"Edit",dimensions:[i.patternName,e]})}_getTemplateThumbnail(){let e="?w=400",i=this._design?.templateId;return i===C?le+e:i===x?ae+e:se+e}_renderThumbnailInput(){let e=this._translations,i=this._design?.sourceBuildSolution?.solution?.thumbnailUrl||this._design?.solution?.thumbnailUrl||"",t=i?i.startsWith("http")?i+"?w=400":i:this._getTemplateThumbnail();return r`<div class="thumbnail-container"><img src=${t??d} alt=${e.solutionThumbnail??d}></div>`}_renderSolutionItemInputs(){let e=this._translations,i=b(this._configContextConsumer.value);return r`<div class="solution-item-inputs"><div class="solution-inputs-row"><div class="stacked-inputs"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.namePlaceholder} .value=${this._solutionTitleInput} max-length=250 .status=${this._titleValidationError?"invalid":"idle"} .validationMessage=${this._titleValidationError||""} .validationIcon=${!!this._titleValidationError} @input=${t=>this._handleTitleInput(t.target.value)} @calciteInputTextChange=${t=>this._handleTitleBlur(t.target.value)}></calcite-input-text><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.solutionDescriptionPlaceholder} .value=${this._solutionDescriptionInput} max-length=2048 resize=none rows=3 .status=${this._descriptionValidationError?"invalid":"idle"} .validationMessage=${this._descriptionValidationError||""} .validationIcon=${!!this._descriptionValidationError} limit-text @calciteTextAreaInput=${t=>this._handleDescriptionInput(t.target.value)} @calciteTextAreaChange=${t=>this._handleDescriptionBlur(t.target.value)}></calcite-text-area>${i&&r`<div class="display-flex flex-direction-row">${this._getReadOnlyNotice()}</div>`||""}</div></div></div></div>`}_getReadOnlyNotice(){return r`<calcite-notice class="padding-top-lg" icon=exclamation-mark-triangle kind=warning open scale=s><div slot=message .innerHTML=${this.readOnlyNotice??""}></div></calcite-notice>`}_renderActionButtons(){let e=this._translations,i=!!this._titleValidationError||!!this._descriptionValidationError,t=b(this._configContextConsumer.value);return r`<div class="action-buttons"><calcite-button appearance=solid width=full .disabled=${i||t||!this._canDeploy} @click=${()=>{this._canDeploy===void 0?(this._isCheckingPermissions=!0,this._hasPermissionToDeploy().then(s=>{this._isCheckingPermissions=!1,this._canDeploy=s,s&&this._handleDeploy()})):this._handleDeploy()}}>${this._isCheckingPermissions&&r`<calcite-loader inline .label=${this._translations.checkPrivileges} scale=s type=indeterminate></calcite-loader>`||""}${e.deploy}</calcite-button><calcite-button appearance=outline kind=neutral width=full @click=${()=>{this._isDiscarding=!0}}>${e.discard}</calcite-button>${this._canDeploy===!1&&this._renderMissingPrivilegesNotice(this._permisssionErrorMessages.leadingMessages,this._permisssionErrorMessages.bulletedMessages,this._permisssionErrorMessages.trailingMessages)||""}<calcite-notice open appearance=transparent kind=brand icon=effects scale=s><div slot=message>${e.noticeMessage}</div></calcite-notice></div>`}_renderSolutionItemContent(){let e=this._translations,i=this._design?.items||[],t=this._design?.featureLayer?.itemId,s=this._design?.featureLayer?.layers||[],l=this._design?.featureLayer?.addLayers||!1,a=[...i].reverse(),n=[];return r`<div class="solution-item-content-section"><h3 class="section-header">${e.contents}</h3><calcite-list .label=${e.solutionContentItems} selection-mode=none display-mode=nested interaction-mode=static>${a.map(o=>{let h=o.id===t,u=`edit-item-action-${o.id}`;return n.push(r`<calcite-tooltip .referenceElement=${u} placement=left>${e.editItemPropertiesTooltip}</calcite-tooltip>`),r`<calcite-list-item .label=${o.title} .description=${o.description||""} .expanded=${h?!0:void 0}><solution-item-icon slot=content-start .designType=${o.type}></solution-item-icon><calcite-action slot=actions-end id=${u??d} icon=edit-attributes .text=${e.edit} scale=m @click=${()=>this._handleOpenContentItemFlow(o)}></calcite-action>${h&&r`<calcite-list .label=${e.layers} selection-mode=none interaction-mode=static display-mode=nested>${s.map((c,w)=>{let m=`edit-layer-action-${c.id}`;return n.push(r`<calcite-tooltip .referenceElement=${m} placement=left>${e.editLayerPropertiesTooltip}</calcite-tooltip>`),r`<calcite-list-item .label=${c.name} .description=${c.description||""}><calcite-icon slot=content-start .icon=${c.type==="Point"?"point":c.type==="Polyline"?"line":c.type==="Polygon"?"polygon":c.type==="Table"?"table":"layer"} scale=s></calcite-icon><calcite-action slot=actions-end id=${m??d} icon=edit-attributes .text=${e.edit} scale=m @click=${()=>this._handleOpenCustomizeLayer(w)}></calcite-action></calcite-list-item>`})}${l&&r`<calcite-list-item><calcite-button slot=content-start icon-start=plus appearance=transparent width=auto scale=m @click=${this._handleAddLayer}>${e.addLayer}</calcite-button></calcite-list-item>`||""}</calcite-list>`||""}</calcite-list-item>`})}</calcite-list>${n}</div>`}_renderContentItemFlow(){let e=this._translations,i=this._design?.items?.find(t=>t.id===this._editingContentItemId);return r`<calcite-flow><calcite-flow-item selected><div slot=heading class="content-item-flow-heading"><solution-item-icon .designType=${i?.type}></solution-item-icon><span>${i?.title||""}</span></div><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseContentItemFlow}></calcite-action><div class="flow-details-container"><div class="layer-properties-section"><calcite-input-text label-text=${e.itemTitle??d} required .value=${this._editingItemTitle} .placeholder=${e.titlePlaceholder} max-length=250 .status=${this._editingItemTitleError?"invalid":"idle"} .validationMessage=${this._editingItemTitleError||""} .validationIcon=${!!this._editingItemTitleError} @input=${t=>this._handleEditingItemTitleInput(t.target.value)} @calciteInputTextChange=${t=>this._handleEditingItemTitleChange(t.target.value)}></calcite-input-text><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.itemDescription} .value=${this._editingItemDescription} .placeholder=${e.descriptionPlaceholder} max-length=2048 resize=none rows=3 .status=${this._editingItemDescriptionError?"invalid":"idle"} .validationMessage=${this._editingItemDescriptionError||""} .validationIcon=${!!this._editingItemDescriptionError} limit-text @calciteTextAreaInput=${t=>this._handleEditingItemDescriptionInput(t.target.value)} @calciteTextAreaChange=${t=>this._handleEditingItemDescriptionChange(t.target.value)}></calcite-text-area></div></div></div></div></calcite-flow-item></calcite-flow>`}_renderCustomizeLayerFlow(){let e=this._translations,i=(this._design?.featureLayer?.layers||[])[this._selectedLayerIndex],t=i?.name||"",s=i?.description||"",l=i?.type||"Point";return r`<calcite-flow><calcite-flow-item .selected=${!this._isAddingLayer&&!this._isEditingField&&!this._isAddingNewField}><div slot=heading class="content-item-flow-heading"><calcite-icon .icon=${l==="Point"?"point":l==="Polyline"?"line":l==="Polygon"?"polygon":l==="Table"?"table":"layer"} scale=s></calcite-icon><span>${t}</span></div><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseCustomizeLayer}></calcite-action><div class="layer-form-content">${i&&r`<div class="layer-details-container"><div class="layer-properties-section"><div class="layer-properties-row"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.layerNamePlaceholder} .value=${t} max-length=250 .status=${this._layerNameValidationError?"invalid":"idle"} .validationMessage=${this._layerNameValidationError||""} .validationIcon=${!!this._layerNameValidationError} @input=${a=>this._handleLayerNameInput(a.target.value)} @calciteInputTextChange=${a=>this._handleLayerNameBlur(a.target.value)}></calcite-input-text><div class="layer-type-control-row"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled .disabled=${i?.typeMutable===!1||void 0} @calciteComboboxChange=${a=>this._handleLayerTypeChange(a)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${l==="Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${l==="Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${l==="Polygon"}></calcite-combobox-item>${(!this._shouldDisableTableTypeOption(i)||l==="Table")&&r`<calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${l==="Table"} .disabled=${l==="Table"&&this._shouldDisableTableTypeOption(i)||void 0}></calcite-combobox-item>`||""}</calcite-combobox></div></div></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.layerDescriptionPlaceholder} .value=${s} resize=none rows=3 max-length=2048 .status=${this._layerDescriptionValidationError?"invalid":"idle"} .validationMessage=${this._layerDescriptionValidationError||""} .validationIcon=${!!this._layerDescriptionValidationError} limit-text @calciteTextAreaInput=${a=>this._handleLayerDescriptionInput(a.target.value)} @calciteTextAreaChange=${a=>this._handleLayerDescriptionBlur(a.target.value)}></calcite-text-area></div></div><div class="fields-section"><calcite-label class="section-title">${e.fields}${D(this._fieldTableKey,r`<calcite-table bordered .caption=${e.fields} selection-mode=multiple @calciteTableSelect=${this._handleFieldTableSelect}>${this._selectedFieldCount>0&&[r`<calcite-button id=delete-fields-btn slot=selection-actions appearance=transparent kind=danger icon-start=trash width=auto .disabled=${this._hasRequiredFieldSelected||void 0} @click=${this._handleDeleteSelectedFields}>${e.deleteFields}</calcite-button>`,this._hasRequiredFieldSelected?r`<calcite-tooltip reference-element=delete-fields-btn placement=bottom>${e.requiredFieldsCannotBeDeleted}</calcite-tooltip>`:null]||""}${this._selectedFieldCount===0&&r`<calcite-button slot=selection-actions icon-start=plus appearance=transparent width=auto scale=m @click=${this._handleAddField}>${e.addField}</calcite-button>`||""}<calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(i)}</calcite-table>`)}</calcite-label><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(i)}</div></calcite-notice></div></div>`||""}</div>${this._shouldShowRemoveLayerButton(i)&&r`<div slot=footer class="flow-footer-center"><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button></div>`||""}</calcite-flow-item>${this._isEditingField&&r`<calcite-flow-item .heading=${e.editField} selected @calciteFlowItemBack=${this._handleEditFieldFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName??d} required .placeholder=${e.displayNamePlaceholder} .value=${this._editingFieldDisplayName} max-length=250 .status=${this._editingFieldDisplayNameError?"invalid":"idle"} .validationMessage=${this._editingFieldDisplayNameError||""} .validationIcon=${!!this._editingFieldDisplayNameError} @input=${a=>this._handleEditFieldDisplayNameChange(a.target.value)} @calciteInputTextChange=${this._handleEditFieldDisplayNameBlur}></calcite-input-text><calcite-input-text label-text=${e.fieldName??d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._editingFieldName} max-length=31 .disabled=${this._editingFieldType==="required"} .status=${this._editingFieldNameError?"invalid":"idle"} .validationMessage=${this._editingFieldNameError||""} .validationIcon=${!!this._editingFieldNameError} @input=${a=>this._handleEditFieldNameChange(a.target.value)} @calciteInputTextChange=${this._handleEditFieldNameBlur}></calcite-input-text></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.fieldDescription} .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._editingFieldDescription} resize=none rows=3 max-length=500 .status=${this._editingFieldDescriptionError?"invalid":"idle"} .validationMessage=${this._editingFieldDescriptionError||""} .validationIcon=${!!this._editingFieldDescriptionError} @calciteTextAreaInput=${a=>this._handleEditFieldDescriptionChange(a.target.value)} @calciteTextAreaChange=${this._handleEditFieldDescriptionBlur}></calcite-text-area></div></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType==="required"} @calciteComboboxChange=${a=>this._handleEditFieldTypeChange(a)}><calcite-combobox-item value=string text-label=${e.stringType??d} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue==="string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType??d} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue==="integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType??d} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue==="double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType??d} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue==="date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType??d} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue==="guid"}></calcite-combobox-item></calcite-combobox>${this._editingFieldTypeValue==="string"&&r`<calcite-input-number label-text=${e.length??d} required integer .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType==="required"} min=1 max=4000 number-button-type=vertical .status=${this._editingFieldLengthError?"invalid":"idle"} .validationMessage=${this._editingFieldLengthError||""} .validationIcon=${!!this._editingFieldLengthError} @input=${a=>{let n=a.target.value===""?null:parseInt(a.target.value);this._handleEditFieldLengthChange(n)}} @calciteInputNumberInput=${this._handleEditFieldLengthStepInput} @calciteInputNumberChange=${this._handleEditFieldLengthInputNumberChange}></calcite-input-number>`||""}</div>${this._editingFieldType==="required"&&r`<calcite-notice open icon=lock appearance=transparent kind=info><div slot=message>${e.requiredFieldNote}</div></calcite-notice>`||""}${this._editingFieldTypeValue==="string"&&r`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._editingFieldChoiceList&&this._editingFieldChoiceList.length>0?r`<div>${D(this._editingFieldChoiceListVersion,r`<calcite-list class="domain-list" .dragEnabled=${this._editingFieldType!=="required"} .interactionMode=${this._editingFieldType==="required"?"static":"interactive"} .label=${e.domainValues} @calciteListOrderChange=${this._handleEditFieldChoiceOrderChange}>${this._editingFieldChoiceList.map((a,n)=>r`<calcite-list-item .closable=${this._editingFieldType!=="required"} label @calciteListItemClose=${()=>this._handleRemoveEditFieldChoice(n)}><calcite-input-text slot=content .placeholder=${e.domainValuePlaceholder} .value=${a} .maxLength=${this._editingFieldLength} .disabled=${this._editingFieldType==="required"} .status=${this._editingFieldChoiceListErrors.get(n)?"invalid":"idle"} .validationMessage=${this._editingFieldChoiceListErrors.get(n)||""} .validationIcon=${!!this._editingFieldChoiceListErrors.get(n)} @input=${o=>this._handleUpdateEditFieldChoice(n,o.target.value)} @calciteInputTextChange=${this._handleEditFieldDomainValueBlur}></calcite-input-text></calcite-list-item>`)}</calcite-list>`)}<div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" .disabled=${this._editingFieldType==="required"} @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto .disabled=${this._editingFieldType==="required"} @click=${this._handleClearEditFieldChoiceList}>${e.deleteList}</calcite-button></div></div>`:r`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" .disabled=${this._editingFieldType==="required"} @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>`||""}</div><div slot=footer class="flow-footer-center"><calcite-button appearance=transparent kind=danger icon-start=trash width=auto .disabled=${this._editingFieldType==="required"} @click=${this._handleDeleteField}>${e.deleteField}</calcite-button></div></calcite-flow-item>`||""}${this._isAddingLayer&&r`<calcite-flow-item .heading=${e.addLayer} selected @calciteFlowItemBack=${this._handleAddLayerFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError?"invalid":"idle"} .validationMessage=${this._newLayerNameValidationError||""} .validationIcon=${!!this._newLayerNameValidationError} @input=${a=>this._handleNewLayerNameChange(a.target.value)}></calcite-input-text><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${a=>this._handleNewLayerTypeChange(a)}><calcite-combobox-item value=Point text-label=${e.pointLayer??d} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType==="Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer??d} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType==="Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer??d} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType==="Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer??d} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType==="Table"}></calcite-combobox-item></calcite-combobox></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none rows=3 max-length=2048 .status=${this._newLayerDescriptionValidationError?"invalid":"idle"} .validationMessage=${this._newLayerDescriptionValidationError||""} .validationIcon=${!!this._newLayerDescriptionValidationError} @calciteTextAreaInput=${a=>this._handleNewLayerDescriptionChange(a.target.value)}></calcite-text-area></div></div></div><div slot=footer class="flow-footer-center"><calcite-button appearance=transparent width=auto .disabled=${!this._newLayerName.trim()||!!this._newLayerNameValidationError||!!this._newLayerDescriptionValidationError} @click=${this._handleAddLayerDone}>${e.done}</calcite-button></div></calcite-flow-item>`||""}${this._isAddingNewField&&r`<calcite-flow-item .heading=${e.addField} selected @calciteFlowItemBack=${this._handleAddFieldFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName??d} required .placeholder=${e.displayNamePlaceholder} .value=${this._newFieldDisplayName} max-length=250 .status=${this._newFieldDisplayNameError?"invalid":"idle"} .validationMessage=${this._newFieldDisplayNameError||""} .validationIcon=${!!this._newFieldDisplayNameError} @input=${a=>this._handleNewFieldDisplayNameChange(a.target.value)}></calcite-input-text><calcite-input-text label-text=${e.fieldName??d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._newFieldName} max-length=31 .status=${this._newFieldNameError?"invalid":"idle"} .validationMessage=${this._newFieldNameError||""} .validationIcon=${!!this._newFieldNameError} @input=${a=>this._handleNewFieldNameChange(a.target.value)}></calcite-input-text></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.fieldDescription} .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._newFieldDescription} resize=none rows=3 max-length=500 .status=${this._newFieldDescriptionError?"invalid":"idle"} .validationMessage=${this._newFieldDescriptionError||""} .validationIcon=${!!this._newFieldDescriptionError} @calciteTextAreaInput=${a=>this._handleNewFieldDescriptionChange(a.target.value)}></calcite-text-area></div></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${a=>this._handleNewFieldTypeChange(a)}><calcite-combobox-item value=string text-label=${e.stringType??d} .heading=${e.stringType} icon=string .selected=${this._newFieldType==="string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType??d} .heading=${e.integerType} icon=integer .selected=${this._newFieldType==="integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType??d} .heading=${e.doubleType} icon=number .selected=${this._newFieldType==="double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType??d} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType==="date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType??d} .heading=${e.guidType} icon=key .selected=${this._newFieldType==="guid"}></calcite-combobox-item></calcite-combobox>${this._newFieldType==="string"&&r`<calcite-input-number label-text=${e.length??d} required integer .value=${this._newFieldLength.toString()} min=1 max=4000 number-button-type=vertical .status=${this._newFieldLengthError?"invalid":"idle"} .validationMessage=${this._newFieldLengthError||""} .validationIcon=${!!this._newFieldLengthError} @input=${a=>{let n=a.target.value===""?null:parseInt(a.target.value);this._handleNewFieldLengthChange(n)}}></calcite-input-number>`||""}</div>${this._newFieldType==="string"&&r`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._newFieldChoiceList&&this._newFieldChoiceList.length>0?r`<div>${D(this._newFieldChoiceListVersion,r`<calcite-list class="domain-list" drag-enabled .label=${e.domainValues} @calciteListOrderChange=${this._handleNewFieldChoiceOrderChange}>${this._newFieldChoiceList.map((a,n)=>r`<calcite-list-item closable label @calciteListItemClose=${()=>this._handleRemoveNewFieldChoice(n)}><calcite-input-text slot=content .placeholder=${e.domainValuePlaceholder} .value=${a} .maxLength=${this._newFieldLength} .status=${this._newFieldChoiceListErrors.get(n)?"invalid":"idle"} .validationMessage=${this._newFieldChoiceListErrors.get(n)||""} .validationIcon=${!!this._newFieldChoiceListErrors.get(n)} @input=${o=>this._handleUpdateNewFieldChoice(n,o.target.value)}></calcite-input-text></calcite-list-item>`)}</calcite-list>`)}<div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleClearNewFieldChoiceList}>${e.deleteList}</calcite-button></div></div>`:r`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>`||""}</div><div slot=footer class="flow-footer-center"><calcite-button appearance=transparent width=auto .disabled=${!this._newFieldDisplayName.trim()||!this._newFieldName.trim()||!!this._newFieldDisplayNameError||!!this._newFieldNameError||!!this._newFieldDescriptionError||!!this._newFieldLengthError||this._newFieldChoiceListErrors.size>0||(this._newFieldChoiceList?.some(a=>!a.trim())??!1)} @click=${this._handleAddFieldDone}>${e.done}</calcite-button></div></calcite-flow-item>`||""}</calcite-flow>`}_renderMissingPrivilegesNotice(e,i,t){let s="solutions-missing-privileges-notice-builder",l=this._translations.missingPrivilegesPopup.missingLicensingOrPrivileges,a=i.length>0?"":"display-none",n=i.length>0?"padding-top-sm":"";return r`<div><calcite-notice class="margin-inline-unset" kind=info open scale=s><div slot=message>${`${l}`}</div><calcite-action icon=information id=${s} slot=actions-end .text=${l}></calcite-action></calcite-notice><calcite-popover closable label overlay-positioning=fixed placement=bottom reference-element=solutions-missing-privileges-notice-builder><div class="padding-1 display-flex flex-direction-column">${this._getSpanMessages(e,"padding-bottom-1")}<span class=${`padding-bottom-1-2 ${a}`}>${this._translations.missingPrivilegesPopup.missingPrivilegesListHeading}</span>${this._getBulletedMessages(i)}${this._getSpanMessages(t,n)}</div></calcite-popover></div>`}_pushDesign(e,i=!0){if(!this._design&&e&&!this._hasLoggedFirstOpen){this._hasLoggedFirstOpen=!0;let t=e?.templateId,s="";t===q?s="Conduct Field Inspections":t===C?s="Manage Spatial Data":t===x&&(s="Locate Places of Interest"),this._telemetry?.logEvent({category:A.BUILDER,action:"Open",dimensions:[s]})}this._design&&(this._undoStack=[...this._undoStack,structuredClone(this._design)]),this._redoStack=[],this._design=e,this._lastPushedDesign=e,this._isDirty=!0,i&&this._notifyDesignChanged(e)}_notifyDesignChanged(e){this._designContextValue?.updateDesign&&this._designContextValue.updateDesign(e),window.dispatchEvent(new CustomEvent("arcgis-solution-design-update",{detail:e}))}_clearDesignAndClose(){this._design=null,this._resetLayerFieldIndexes(),this._clearValidationErrors(),this._designContextValue?.updateDesign&&this._designContextValue.updateDesign(null),window.dispatchEvent(new CustomEvent("hideSolutionBuilder"))}_resetLayerFieldIndexes(){this._selectedLayerIndex=0,this._selectedFieldCount=0,this._fieldTableKey=0}_getSpanMessages(e,i){return e.length>0?e.map(t=>r`<span class=${X(i)}>${t}</span>`):""}_getBulletedMessages(e){return e.length>0?r`<ul>${e.map(i=>r`<li>${i}</li>`)}</ul>`:""}async _hasPermissionToDeploy(){let e=this._configContextConsumer.value,i=e?.agoBasedEnterpriseSolutionsGroupId&&e?.isEnterprise?e.anonAgolSession:e?.userSession,t=await j(this._design?.sourceBuildSolution.solution.item.id,i),s=Q(t,this._design?.sourceBuildSolution.solution.item.typeKeywords,e?.authentication),l=i.username?s:[],a=e?.authentication?e.authentication.PortalUserEnrichedPrivileges:[],n=l.filter(h=>!a.includes(h)),o=G(this._translations,n);return this._permisssionErrorMessages=o,o&&o.leadingMessages.length===0&&o.bulletedMessages.length===0&&o.trailingMessages.length===0}};k("solution-builder-assistant",B);return{a:se,b:B}},a,b)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as n}from"./HIPZRG2Q.js";import{F as l,G as i,H as c,h as t,i as r,q as a}from"./T3EPRHTT.js";import"./EXBEKVP5.js";export default $arcgis.t(([f])=>{var m=t`:host{display:block}`,e=class extends c{constructor(){super(...arguments),this.fullscreenRef=l(),this.fullscreenStateChange=a(),this._fullscreenReady=()=>{f.watch(()=>this.fullscreenRef.value?.state,s=>s&&this.fullscreenStateChange.emit(s))}}static{this.properties={mapView:0,fullscreenRef:0}}static{this.styles=m}render(){return this.mapView&&r`<arcgis-fullscreen visual-scale=m .view=${this.mapView} @arcgisReady=${this._fullscreenReady} ${i(this.fullscreenRef)}></arcgis-fullscreen>`||""}};n("map-fullscreen",e);return e},"core/reactiveUtils")
2
+ import{b as n}from"./ZB5UCRCG.js";import{F as l,G as i,H as c,h as t,i as r,q as a}from"./T3EPRHTT.js";import"./EXBEKVP5.js";export default $arcgis.t(([f])=>{var m=t`:host{display:block}`,e=class extends c{constructor(){super(...arguments),this.fullscreenRef=l(),this.fullscreenStateChange=a(),this._fullscreenReady=()=>{f.watch(()=>this.fullscreenRef.value?.state,s=>s&&this.fullscreenStateChange.emit(s))}}static{this.properties={mapView:0,fullscreenRef:0}}static{this.styles=m}render(){return this.mapView&&r`<arcgis-fullscreen visual-scale=m .view=${this.mapView} @arcgisReady=${this._fullscreenReady} ${i(this.fullscreenRef)}></arcgis-fullscreen>`||""}};n("map-fullscreen",e);return e},"core/reactiveUtils")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as n}from"./HIPZRG2Q.js";import{F as i,G as r,H as a,h as s,i as t}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var l=s`:host{display:block}`,e=class extends a{constructor(){super(...arguments),this.legendRef=i()}static{this.properties={mapView:0,legendRef:0}}static{this.styles=l}render(){return this.mapView&&t`<arcgis-legend auto-destroy-disabled respect-layer-definition-expression .view=${this.mapView} ${r(this.legendRef)}></arcgis-legend>`||""}disconnectedCallback(){super.disconnectedCallback(),this.legendRef.value&&this.legendRef.value.destroy()}};n("map-legend",e);export{e as MapLegend};
2
+ import{b as n}from"./ZB5UCRCG.js";import{F as i,G as r,H as a,h as s,i as t}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var l=s`:host{display:block}`,e=class extends a{constructor(){super(...arguments),this.legendRef=i()}static{this.properties={mapView:0,legendRef:0}}static{this.styles=l}render(){return this.mapView&&t`<arcgis-legend auto-destroy-disabled respect-layer-definition-expression .view=${this.mapView} ${r(this.legendRef)}></arcgis-legend>`||""}disconnectedCallback(){super.disconnectedCallback(),this.legendRef.value&&this.legendRef.value.destroy()}};n("map-legend",e);export{e as MapLegend};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as v}from"./CJ3EZE7U.js";import"./C5KDPY7R.js";import"./YM4U4HSN.js";import{a as h}from"./IADXB53D.js";import{a as g}from"./TWJ6DAY5.js";import{b as p}from"./S4GBMN37.js";import"./QMAV4UTN.js";import"./Y2AUIXNK.js";import{H as o,J as d,K as l,L as c,h as s,i as t,q as r}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var _=s`:host{display:block;--instant-apps-interactive-legend-heading-font-size: 1rem;--instant-apps-interactive-legend-heading-font-weight: normal;--instant-apps-interactive-legend-secondary-color: var( --calcite-color-text-1 );--instant-apps-interactive-legend-ui-padding: 15px 10px}:host .esri-widget__heading{overflow:hidden}:host .esri-widget__heading{margin:0;overflow-x:hidden}:host .esri-widget__heading{display:inline-block;font-size:var(--instant-apps-interactive-legend-heading-font-size)}:host .esri-widget__heading{font-weight:var(--instant-apps-interactive-legend-heading-font-weight)}:host header{display:flex;text-align:left;padding:var(--instant-apps-interactive-legend-ui-padding);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}:host header h3{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;color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__heading-text--group-item{-webkit-line-clamp:2;line-clamp:2}:host header span{width:100%;font-size:var(--instant-apps-interactive-legend-total-feature-count-font-size);color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__header-action-container{display:flex;align-items:center}:host .esri-widget__heading header{padding:var(--instant-apps-interactive-legend-ui-padding)}:host .esri-widget--panel{margin:0}:host(.calcite-mode-dark) .instant-apps-interactive-legend__header{background-color:#242424;color:var(--calcite-color-text-1)}:host(.calcite-mode-light) .instant-apps-interactive-legend__header{background-color:#fff;color:var(--calcite-color-text-1)}`,e={label:"esri-legend__service-label",header:"esri-widget__heading",interactiveLegendHeader:"instant-apps-interactive-legend__header",headerActionContainer:"instant-apps-interactive-legend__header-action-container"},a=class extends o{constructor(){super(...arguments),this._messages=g({name:"instant-apps-interactive-legend",blocking:!0}),this.isChild=!1,this.expanded=!0,this.groupLayerCaptionElementExpandUpdated=r()}static{this.properties={legendvm:0,featureCount:5,activeLayerInfo:0,isChild:5,expanded:5}}static{this.styles=_}toggleExpanded(){return()=>{this.expanded=!this.expanded,this.groupLayerCaptionElementExpandUpdated.emit(this.expanded)}}render(){let m=v(this.activeLayerInfo),{expanded:n}=this,i=n?this._messages.collapse:this._messages.expand,f=this.isChild?" instant-apps-interactive-legend__heading-text--group-item":"";return t`<header class=${`${e.interactiveLegendHeader} ${h(this.el)}`} style=${l({borderLeft:"1px solid var(--calcite-color-border-3)"})}><span><span class=${d(e.headerActionContainer)}><calcite-action @click=${this.toggleExpanded()} .icon=${n?"chevron-down":"chevron-up"} appearance=transparent .text=${i} .label=${i} scale=s></calcite-action><h3 class=${`${e.header} ${e.label}${f}`} title=${this.activeLayerInfo?.title??""??c}>${this.activeLayerInfo?.title}</h3></span>${this.featureCount&&m?t`<instant-apps-interactive-legend-count .activeLayerInfo=${this.activeLayerInfo} show-total .legendvm=${this.legendvm}></instant-apps-interactive-legend-count>`:null}</span></header>`}};p("instant-apps-interactive-legend-group-legend-element-caption",a);export{a as InstantAppsInteractiveLegendGroupLegendElementCaption};
2
+ import{a as v}from"./CJ3EZE7U.js";import"./C5KDPY7R.js";import"./YM4U4HSN.js";import{a as h}from"./IADXB53D.js";import{a as g}from"./65I4AUS4.js";import{b as p}from"./MXPZF4RB.js";import"./QMAV4UTN.js";import"./Y2AUIXNK.js";import{H as o,J as d,K as l,L as c,h as s,i as t,q as r}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var _=s`:host{display:block;--instant-apps-interactive-legend-heading-font-size: 1rem;--instant-apps-interactive-legend-heading-font-weight: normal;--instant-apps-interactive-legend-secondary-color: var( --calcite-color-text-1 );--instant-apps-interactive-legend-ui-padding: 15px 10px}:host .esri-widget__heading{overflow:hidden}:host .esri-widget__heading{margin:0;overflow-x:hidden}:host .esri-widget__heading{display:inline-block;font-size:var(--instant-apps-interactive-legend-heading-font-size)}:host .esri-widget__heading{font-weight:var(--instant-apps-interactive-legend-heading-font-weight)}:host header{display:flex;text-align:left;padding:var(--instant-apps-interactive-legend-ui-padding);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}:host header h3{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;color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__heading-text--group-item{-webkit-line-clamp:2;line-clamp:2}:host header span{width:100%;font-size:var(--instant-apps-interactive-legend-total-feature-count-font-size);color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__header-action-container{display:flex;align-items:center}:host .esri-widget__heading header{padding:var(--instant-apps-interactive-legend-ui-padding)}:host .esri-widget--panel{margin:0}:host(.calcite-mode-dark) .instant-apps-interactive-legend__header{background-color:#242424;color:var(--calcite-color-text-1)}:host(.calcite-mode-light) .instant-apps-interactive-legend__header{background-color:#fff;color:var(--calcite-color-text-1)}`,e={label:"esri-legend__service-label",header:"esri-widget__heading",interactiveLegendHeader:"instant-apps-interactive-legend__header",headerActionContainer:"instant-apps-interactive-legend__header-action-container"},a=class extends o{constructor(){super(...arguments),this._messages=g({name:"instant-apps-interactive-legend",blocking:!0}),this.isChild=!1,this.expanded=!0,this.groupLayerCaptionElementExpandUpdated=r()}static{this.properties={legendvm:0,featureCount:5,activeLayerInfo:0,isChild:5,expanded:5}}static{this.styles=_}toggleExpanded(){return()=>{this.expanded=!this.expanded,this.groupLayerCaptionElementExpandUpdated.emit(this.expanded)}}render(){let m=v(this.activeLayerInfo),{expanded:n}=this,i=n?this._messages.collapse:this._messages.expand,f=this.isChild?" instant-apps-interactive-legend__heading-text--group-item":"";return t`<header class=${`${e.interactiveLegendHeader} ${h(this.el)}`} style=${l({borderLeft:"1px solid var(--calcite-color-border-3)"})}><span><span class=${d(e.headerActionContainer)}><calcite-action @click=${this.toggleExpanded()} .icon=${n?"chevron-down":"chevron-up"} appearance=transparent .text=${i} .label=${i} scale=s></calcite-action><h3 class=${`${e.header} ${e.label}${f}`} title=${this.activeLayerInfo?.title??""??c}>${this.activeLayerInfo?.title}</h3></span>${this.featureCount&&m?t`<instant-apps-interactive-legend-count .activeLayerInfo=${this.activeLayerInfo} show-total .legendvm=${this.legendvm}></instant-apps-interactive-legend-count>`:null}</span></header>`}};p("instant-apps-interactive-legend-group-legend-element-caption",a);export{a as InstantAppsInteractiveLegendGroupLegendElementCaption};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as p}from"./S4GBMN37.js";import{H as a,h as i,i as n,u as r}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var h=i`@layer{:host{display:block}}`,e=class extends a{constructor(){super(...arguments),this.inTour=!1,this.instantAppsPopovers=new Map,this.beforeOpen=async()=>await Promise.resolve()}static{this.properties={inTour:7,currentId:3,instantAppsPopovers:0,beforeOpen:0}}static{this.styles=h}static{this.shadowRootOptions=r}async beginTour(){this.inTour=!0,this.handlePopoverProps({pagination:!0,disableAction:!0});let s=Array.from(this.instantAppsPopovers.keys());await this.open(s[0])}async close(s){let t=this.instantAppsPopovers.get(s)?.firstElementChild;t&&(t.open=!1)}async endTour(){await this.close(this.currentId),this.inTour=!1,this.handlePopoverProps({pagination:!1,disableAction:!1})}async open(s){await this.beforeOpen();let t=this.instantAppsPopovers.get(s)?.firstElementChild;t.open=!0}async next(){let s=Array.from(this.instantAppsPopovers.keys()),t=s.indexOf(this.currentId)+1,o=s[t];await this.close(this.currentId),await this.open(o)}async previous(){let s=Array.from(this.instantAppsPopovers.keys()),t=s.indexOf(this.currentId)-1,o=s[t];await this.close(this.currentId),await this.open(o)}async done(){await this.endTour()}load(){let s=this.el.querySelector("[slot='popovers']");(s?Array.from(s.children):[]).forEach((t,o)=>{let c=t.getAttribute("ref-id");t.parent=this,t.index=o,this.instantAppsPopovers.set(c,t)}),this.listen("calcitePopoverOpen",t=>{let o=t.target.getAttribute("ref-id")??"";this.currentId=o})}handlePopoverProps(s){Array.from(this.el.querySelector("[slot='popovers']")?.children??[]).forEach(t=>{t.disableAction=s.disableAction,t.pagination=s.pagination})}render(){return n`<slot name=popovers></slot>`}};p("instant-apps-popovers",e);export{e as InstantAppsPopovers};
2
+ import{b as p}from"./MXPZF4RB.js";import{H as a,h as i,i as n,u as r}from"./T3EPRHTT.js";import"./EXBEKVP5.js";var h=i`@layer{:host{display:block}}`,e=class extends a{constructor(){super(...arguments),this.inTour=!1,this.instantAppsPopovers=new Map,this.beforeOpen=async()=>await Promise.resolve()}static{this.properties={inTour:7,currentId:3,instantAppsPopovers:0,beforeOpen:0}}static{this.styles=h}static{this.shadowRootOptions=r}async beginTour(){this.inTour=!0,this.handlePopoverProps({pagination:!0,disableAction:!0});let s=Array.from(this.instantAppsPopovers.keys());await this.open(s[0])}async close(s){let t=this.instantAppsPopovers.get(s)?.firstElementChild;t&&(t.open=!1)}async endTour(){await this.close(this.currentId),this.inTour=!1,this.handlePopoverProps({pagination:!1,disableAction:!1})}async open(s){await this.beforeOpen();let t=this.instantAppsPopovers.get(s)?.firstElementChild;t.open=!0}async next(){let s=Array.from(this.instantAppsPopovers.keys()),t=s.indexOf(this.currentId)+1,o=s[t];await this.close(this.currentId),await this.open(o)}async previous(){let s=Array.from(this.instantAppsPopovers.keys()),t=s.indexOf(this.currentId)-1,o=s[t];await this.close(this.currentId),await this.open(o)}async done(){await this.endTour()}load(){let s=this.el.querySelector("[slot='popovers']");(s?Array.from(s.children):[]).forEach((t,o)=>{let c=t.getAttribute("ref-id");t.parent=this,t.index=o,this.instantAppsPopovers.set(c,t)}),this.listen("calcitePopoverOpen",t=>{let o=t.target.getAttribute("ref-id")??"";this.currentId=o})}handlePopoverProps(s){Array.from(this.el.querySelector("[slot='popovers']")?.children??[]).forEach(t=>{t.disableAction=s.disableAction,t.pagination=s.pagination})}render(){return n`<slot name=popovers></slot>`}};p("instant-apps-popovers",e);export{e as InstantAppsPopovers};