@esri/solutions-components 5.1.0-next.13 → 5.1.0-next.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{JYM2MD3W.js → 27G6RESZ.js} +1 -1
- package/dist/cdn/{YMWYAWT6.js → 2H7KJUZG.js} +1 -1
- package/dist/cdn/{32EJUXLB.js → 2WPJOTMI.js} +1 -1
- package/dist/cdn/{F346YHSU.js → 2XQOWXMT.js} +1 -1
- package/dist/cdn/{MQ7BT7PK.js → 3ME5BVUE.js} +1 -1
- package/dist/cdn/{WHXMHZL4.js → 3SYLXG32.js} +1 -1
- package/dist/cdn/3WO3DS32.js +2 -0
- package/dist/cdn/{B44OQSYO.js → 4GHX4MVD.js} +26 -26
- package/dist/cdn/{DB763WGF.js → 4L3MVJ5S.js} +1 -1
- package/dist/cdn/{QAVXLETM.js → 4NALIU6Y.js} +1 -1
- package/dist/cdn/{GYPII3T6.js → 57DOBXD6.js} +1 -1
- package/dist/cdn/{ITRKZRX7.js → 5FKEDJRU.js} +1 -1
- package/dist/cdn/{TZHUM4R4.js → 5GIHSPJZ.js} +1 -1
- package/dist/cdn/{CEKMYC3I.js → 5TZ7Q4JG.js} +1 -1
- package/dist/cdn/{Q7AXKKIB.js → 66Q5IRVS.js} +1 -1
- package/dist/cdn/{YG7D2NB5.js → 6DLDJH6I.js} +1 -1
- package/dist/cdn/{3E6HSVYO.js → 6G7RA3PN.js} +1 -1
- package/dist/cdn/{YMETU3CL.js → 6UXP2Q63.js} +1 -1
- package/dist/cdn/{XTEP3QJL.js → 74557KPJ.js} +1 -1
- package/dist/cdn/{C75PU7NQ.js → 7DHQVMKX.js} +1 -1
- package/dist/cdn/{ZMNHA5KF.js → 7J2VRW7S.js} +1 -1
- package/dist/cdn/{ADR7DVCB.js → 7ZMHT4SH.js} +1 -1
- package/dist/cdn/{MKR5FDTV.js → A2LNKTGU.js} +1 -1
- package/dist/cdn/{7SIPKCWY.js → A5STEAY7.js} +1 -1
- package/dist/cdn/{XNH7HCKE.js → AC3MHBPK.js} +1 -1
- package/dist/cdn/{UM2FREW7.js → AF2YWYJQ.js} +1 -1
- package/dist/cdn/AGC6ZWMH.js +2 -0
- package/dist/cdn/{VEU3WZUI.js → AT2EES2R.js} +1 -1
- package/dist/cdn/{2BJD5X34.js → ATVUAP2X.js} +1 -1
- package/dist/cdn/{VCGFT6NM.js → BK3QFV3M.js} +1 -1
- package/dist/cdn/{4JXVKICV.js → C44FH5Z2.js} +1 -1
- package/dist/cdn/{3BWIMFV4.js → D4QQZVLI.js} +1 -1
- package/dist/cdn/{4VFE4GPI.js → DMRQFYLJ.js} +16 -16
- package/dist/cdn/DQV46RIT.js +2 -0
- package/dist/cdn/{WFB4USZL.js → DZLVEIWW.js} +1 -1
- package/dist/cdn/{NA7S3IMW.js → E57JPXDR.js} +1 -1
- package/dist/cdn/{TAYHORLE.js → EGFXSDFS.js} +1 -1
- package/dist/cdn/{UAQ3H67J.js → EJRSL3ID.js} +1 -1
- package/dist/cdn/{HZ6P3WVH.js → EPRDKJSD.js} +1 -1
- package/dist/cdn/{WNI44LDP.js → FFDZB5TW.js} +1 -1
- package/dist/cdn/{4NMQFFJ5.js → FV7G3BY6.js} +1 -1
- package/dist/cdn/{3I5UIOSI.js → FXHBHZKG.js} +1 -1
- package/dist/cdn/{TXLUSSRB.js → FZ7WJ3YG.js} +1 -1
- package/dist/cdn/{ZC3SWVD4.js → GTKRTZK6.js} +1 -1
- package/dist/cdn/{WIC2XPT4.js → IDNTGLQU.js} +1 -1
- package/dist/cdn/{MS4ASDJL.js → IKN5RLJ4.js} +1 -1
- package/dist/cdn/{BFXJESYN.js → IORIFDK6.js} +1 -1
- package/dist/cdn/{7B5EP3RI.js → IUPEGG4M.js} +1 -1
- package/dist/cdn/{3HALRHHO.js → K5JYHCQ7.js} +1 -1
- package/dist/cdn/{2W6HTIBW.js → K5VEUOS3.js} +1 -1
- package/dist/cdn/{ZDMOQS37.js → K7XOFXRK.js} +1 -1
- package/dist/cdn/{XAFSYKI2.js → KKYXQLBJ.js} +1 -1
- package/dist/cdn/{U6NFJYPT.js → KZDTATOG.js} +1 -1
- package/dist/cdn/{HUF4HX5R.js → LCWLPXAF.js} +1 -1
- package/dist/cdn/{PFLQDK3I.js → LD2NUKM3.js} +1 -1
- package/dist/cdn/{7GNDNQTX.js → LDHJGX5G.js} +1 -1
- package/dist/cdn/{YJMAWMEK.js → LO5Q55JH.js} +1 -1
- package/dist/cdn/{LR6VDEBR.js → M4OPXH3T.js} +1 -1
- package/dist/cdn/{G7XCRE3X.js → MFJF6OXL.js} +1 -1
- package/dist/cdn/{EXMZUQW5.js → MWVSVTGT.js} +1 -1
- package/dist/cdn/{Q5T633MH.js → N2ROUAUM.js} +1 -1
- package/dist/cdn/{GTDHYS64.js → NGCFEPQE.js} +1 -1
- package/dist/cdn/{3TYPFWRB.js → NM3YBQUM.js} +1 -1
- package/dist/cdn/{K344PR7N.js → NOOFAZCT.js} +1 -1
- package/dist/cdn/{VZPEYWYR.js → NWTG35WX.js} +1 -1
- package/dist/cdn/{7CXQ3R3O.js → NZS3YVIT.js} +1 -1
- package/dist/cdn/{SEDPMCMZ.js → OC2DD3AB.js} +1 -1
- package/dist/cdn/{JGU6J5IA.js → P5Q3LVYT.js} +1 -1
- package/dist/cdn/{AI3I2TOG.js → QMD2WK5F.js} +1 -1
- package/dist/cdn/{XYOCI4UP.js → QQSP7HQH.js} +1 -1
- package/dist/cdn/{TER4MTK6.js → RNTJMF4O.js} +1 -1
- package/dist/cdn/SENL26AU.js +3 -0
- package/dist/cdn/{T2FOSTMH.js → SIUUQBL4.js} +1 -1
- package/dist/cdn/{YIQVAISO.js → SXD7ZWLW.js} +1 -1
- package/dist/cdn/{MZDSTI7I.js → TP5EQUBD.js} +1 -1
- package/dist/cdn/{PFKPNZ5Q.js → TRJ6EQRD.js} +1 -1
- package/dist/cdn/{4HGP3Y4K.js → U3LEZXNT.js} +1 -1
- package/dist/cdn/{CF35YGUK.js → ULXATJK5.js} +1 -1
- package/dist/cdn/{TZ73WV5T.js → UME5GDA2.js} +1 -1
- package/dist/cdn/{4FBEUQIB.js → USM62FP5.js} +1 -1
- package/dist/cdn/VFC4CM23.js +2 -0
- package/dist/cdn/{2CFQ6EQE.js → VJYMTG4U.js} +1 -1
- package/dist/cdn/{GEKZO6V7.js → VRE7NUZ2.js} +1 -1
- package/dist/cdn/{2H3VIDNQ.js → WMPUJYLT.js} +1 -1
- package/dist/cdn/{BPVYL3DJ.js → XC7LLCVS.js} +1 -1
- package/dist/cdn/{CI7CDZL3.js → XCILPMDZ.js} +1 -1
- package/dist/cdn/{42736UND.js → XKDPK7SD.js} +1 -1
- package/dist/cdn/{3P3PF3BO.js → XTDFTH5X.js} +1 -1
- package/dist/cdn/{ZIAMLGUC.js → XTUL7OCR.js} +1 -1
- package/dist/cdn/{BJ6JU4AF.js → Y6I6QW4M.js} +1 -1
- package/dist/cdn/{KV4JOMXV.js → YMOLIY64.js} +1 -1
- package/dist/cdn/{XGFCUKM7.js → Z6H6J4QH.js} +1 -1
- package/dist/cdn/{RTUAITMO.js → ZDQANIMG.js} +1 -1
- package/dist/cdn/{C7XBKLRJ.js → ZVFUYLAQ.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/Auth.js +45 -27
- package/dist/chunks/cardFetchingUtils.js +7 -7
- package/dist/chunks/cardsHelpers.js +5 -5
- package/dist/chunks/getRelatedInfos.js +1 -1
- package/dist/chunks/{interfaces.js → helpers.js} +196 -195
- package/dist/chunks/solution-deploy-dialog.js +1 -1
- package/dist/chunks/solutions-deploy-app-nav.js +38 -37
- package/dist/components/arcgis-solutions-assistant/customElement.js +14 -14
- package/dist/components/create-feature/customElement.js +1 -1
- package/dist/components/layer-list/customElement.js +1 -1
- package/dist/components/layer-table/customElement.js +1 -1
- package/dist/components/map-card/customElement.js +1 -1
- package/dist/components/solution-configure-titles/customElement.js +1 -1
- package/dist/components/solution-delete-dialog/customElement.js +5 -5
- package/dist/components/solution-deploy-dialog/customElement.js +1 -1
- package/dist/components/solution-deployed-card/customElement.js +1 -1
- package/dist/components/solution-deployed-card-panel/customElement.js +4 -4
- package/dist/components/solution-details-card/customElement.js +1 -1
- package/dist/components/solution-details-panel/customElement.js +4 -4
- package/dist/components/solution-resource-card/customElement.js +1 -1
- package/dist/components/solution-snapshot-gallery/customElement.js +1 -1
- package/dist/components/solution-social-share/customElement.js +1 -1
- package/dist/components/solution-user-avatar/customElement.js +1 -1
- package/dist/components/solutions-all-panel/customElement.js +1 -1
- package/dist/components/solutions-all-shell/customElement.js +1 -1
- package/dist/components/solutions-deploy-app/customElement.js +2 -1
- package/dist/components/solutions-deploy-app-nav/customElement.js +1 -1
- package/dist/components/solutions-deployed-panel/customElement.js +1 -1
- package/dist/components/solutions-deployed-shell/customElement.js +1 -1
- package/dist/components/solutions-filter-panel/customElement.d.ts +4 -1
- package/dist/components/solutions-filter-panel/customElement.js +13 -11
- package/dist/components/solutions-searchsort-toolbar/customElement.d.ts +2 -2
- package/dist/components/solutions-searchsort-toolbar/customElement.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.js +1 -1
- package/dist/solutions-components_commit.txt +5 -8
- package/dist/types/lumina.d.ts +1 -0
- package/dist/types/preact.d.ts +1 -0
- package/dist/types/react.d.ts +1 -0
- package/dist/types/stencil.d.ts +1 -0
- package/dist/utils/Auth.d.ts +8 -1
- package/dist/utils/interfaces.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cdn/5GYYSZKG.js +0 -2
- package/dist/cdn/CPMMNWOL.js +0 -3
- package/dist/cdn/JE4LGN6P.js +0 -2
- package/dist/cdn/OVKFYACI.js +0 -2
- package/dist/cdn/TM75STGN.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as x}from"./AA7X6GKH.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./3TYPFWRB.js";import{b as I}from"./TAYHORLE.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import{F as $,G as w,H as k,J as p,h as F,i as l,l as h,r as b}from"./P4KZ6OZF.js";import"./QPIMTXPL.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 v(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:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,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:`'${v(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:`'${v(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:`'${v(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)} ${w(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} ${w(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 x}from"./AA7X6GKH.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./NM3YBQUM.js";import{b as I}from"./EGFXSDFS.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import{F as $,G as w,H as k,J as p,h as F,i as l,l as h,r as b}from"./P4KZ6OZF.js";import"./QPIMTXPL.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 v(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:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,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:`'${v(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:`'${v(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:`'${v(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)} ${w(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} ${w(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")
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import b from"./
|
|
2
|
+
import b from"./C44FH5Z2.js";import a from"./DQV46RIT.js";import{b as g}from"./QHG54NVK.js";import{b as f}from"./DLBZRD4H.js";import"./HBQN25RR.js";import{a as u}from"./3AQ7U2PF.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as m}from"./NDUAEC62.js";import{H as h,J as p,L as o,h as n,i as t,r as d}from"./P4KZ6OZF.js";import"./QPIMTXPL.js";export default $arcgis.t(([{J:x,q:b},{f:v}])=>{var S=n`calcite-card{height:100%;padding-bottom:2px;border:2px solid transparent;transition:border-color .1s ease;box-sizing:border-box}@media(max-width:400px){calcite-card{width:100%}}calcite-card:hover img{-webkit-filter:brightness(30%);filter:brightness(30%);-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-o-transition:all .1s ease;-ms-transition:all .1s ease;transition:all .1s ease}calcite-card:hover .hover-text{opacity:1;color:#fff}calcite-card:hover{border-color:var(--calcite-color-brand);cursor:pointer}.chip-status{--calcite-chip-icon-color: var(--calcite-color-brand);cursor:pointer}.chip-deployed{--calcite-chip-icon-color: var(--calcite-color-status-success)}.hover-text{transition:.1s ease;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:row;align-items:center;height:100%;font-size:1.2rem}.font-color-text-2{--calcite-label-text-color: var(--calcite-color-text-2)}.font-line-height{line-height:1.4}.font-size-size--1{font-size:var(--calcite-font-size--1)}.header-line-height{--calcite-label-margin-bottom: 0;margin-top:.5rem;margin-bottom:.7rem}.info-icon{--calcite-icon-color: var(--calcite-color-text-inverse);padding-inline-end:.3rem}.card-image-wrap{flex:0 0 auto}.card-image-wrap{width:100%;position:relative;margin-bottom:0;-webkit-box-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.card-image{width:100%;display:block}video,img{max-width:100%;height:auto}img{overflow-clip-margin:content-box;overflow:clip}a{text-decoration:none;color:inherit;outline:0;padding:0;margin:0;display:inherit;height:100%}`,l=class extends h{constructor(){super(...arguments),this.referrerSolutionId="",this.referrerSolutionTitle="",this.referrerSolutionVersion="",this.source="all-solutions",this._translations=u({name:"solution-details-card",blocking:!0}),this._configContextConsumer=f({context:g,subscribe:!0}),this.detailsCardSelected=d()}static{this.properties={card:0,referrerSolutionId:1,referrerSolutionTitle:1,referrerSolutionVersion:1,source:1,_translations:16}}static{this.styles=S}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}render(){let e=v(this.card.title);return t`<a href=${e??o} @click=${this._anchorClick} tabindex=-1 .title=${`${this._translations.arcgisSolutions} | ${this.card.title}`}>${this._renderCard()}</a>`}_anchorClick(e){e.preventDefault()}_cardSelected(){if(this.source==="you-may-also-like"){let e=[this.referrerSolutionTitle,this.referrerSolutionId,this.referrerSolutionVersion,this.card?.title||"",this.card?.deployCommonId||"",this.card?.deployVersion||""];this._telemetry?.logEvent({category:b.SOLUTION_DETAILS,action:"Related Solution",dimensions:e})}this.detailsCardSelected.emit(this.card)}_renderChips(e){let r=e.includes("deployed"),y=e.filter(i=>i!=="deployed"),a=[];return y.forEach(i=>{let $="chip-status",c=`solution-details-card-chip-${i}`,_=i==="new"?"star":"mega-phone",s=i==="new"?this._translations.newSolution:this._translations.updated;a.push(t`<calcite-chip class=${p($)} .icon=${_} id=${c??o} .label=${s} .value=${s} scale=s></calcite-chip><calcite-tooltip .referenceElement=${c}><span>${s}</span></calcite-tooltip>`)}),r&&a.push(t`<calcite-chip class="chip-deployed" icon=check-circle id=solution-details-card-chip-deployed .label=${this._translations.deployed} .value=${this._translations.deployed} scale=s></calcite-chip><calcite-tooltip reference-element=solution-details-card-chip-deployed><span>${this._translations.deployed}</span></calcite-tooltip>`),a}_renderCard(){let e=this.card;return t`<calcite-card .label=${e.snippet} @click=${this._cardSelected} @keydown=${r=>x(r,()=>this._cardSelected())}><div class="card-image-wrap" slot=thumbnail><img alt=${e.title??o} class="thumbnail card-image" src=${e.thumbnailUrl??o}><div class="hover-text">${this._translations.viewDetails}</div></div><calcite-label slot=heading class="header-line-height" scale=l>${e.title}</calcite-label><p slot=description class="font-color-text-2 font-line-height font-size-size--1">${e.snippet}</p>${e.chips&&e.chips.length>0?t`<div slot=footer-end style="display: flex; gap: 0.5rem; justify-content: flex-end;">${this._renderChips(e.chips)}</div>`:void 0}<div slot=footer-start></div></calcite-card>`}};m("solution-details-card",l);return l},a,b)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import a from"./
|
|
2
|
+
import a from"./DQV46RIT.js";export default $arcgis.t(([{D:i}])=>{function w(e,t){let r=[];return e.forEach(n=>{t.has(n.id)&&r.push(n)}),r}function m(e,t,r){if(t<1||e.length<t)return{cards:[],paging:{start:t,num:0,nextStart:-1,total:e.length}};let n=Math.min(t+r,e.length+1),s=n<e.length?n:-1;return{cards:e.slice(t-1,n-1),paging:{start:t,num:n-t,nextStart:s,total:e.length}}}function g(e,t){let r=d(e);return l(r,t)}function l(e,t){let r=[];return t.forEach(n=>{let s=c(n);s&&e.indexOf(s)>=0&&n.relatedSolutions&&(r=r.concat(n.relatedSolutions))}),new Set(r)}function c(e){let t="solutionid-",r=e.typeKeywords.filter(s=>s.startsWith(t)),n=null;return Array.isArray(r)&&r.length>0&&(n=r[0].substring(t.length)),n}function d(e){let t=[];return e?(e.forEach(r=>{let n=c(r);n&&t.push(n)}),t=Array.from(new Set(t)),t):[]}function p(e){let t="solutionversion-",r=(e.typeKeywords||[]).reduce((n,s)=>(s.startsWith(t)&&(n=Number(s.replace(t,""))),n),-1);return isNaN(r)?-1:r}function y(e,t,r){let n,s=r==="asc"?1:-1;switch(t){case"created":n=(a,o)=>s*(a.createdMs<o.createdMs?-1:a.createdMs>o.createdMs?1:0);break;case"numviews":n=(a,o)=>s*(a.numViews<o.numViews?-1:a.numViews>o.numViews?1:0);break;case"title":n=(a,o)=>s*(a.title.toLowerCase()<o.title.toLowerCase()?-1:a.title.toLowerCase()>o.title.toLowerCase()?1:0);break;default:n=()=>0;break}return e.sort(n),e}function u(e){return e.toLowerCase().replace(/\s+/g,"-")}function b(e,t){return e.find(r=>u(r.title)===t||t===r.id)}function C(e,t){let r="solutionid-";return e.find(n=>i(n.typeKeywords,r)===t)}function S(e,t){let r=e.find(n=>t===n.deployCommonId);return u(r.title)}return{a:w,b:m,c:g,d:p,e:y,f:u,g:b,h:C,i:S}},a)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as d}from"./
|
|
2
|
+
import{a as d}from"./NM3YBQUM.js";import{b as c}from"./EGFXSDFS.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import{H as r,L as o,h as a,i as t}from"./P4KZ6OZF.js";import"./QPIMTXPL.js";export default $arcgis.t(([g,p,{on:m}])=>{var v=a`:host{--default-width: auto;--width: var(--default-width);--padding: 10px;--border-style: 1px solid var(--calcite-color-border-1);--calcite-button-height: 48px;--calcite-icon-color: var(--calcite-color-text-3);display:block;width:var(--width);background:var(--background-color, var(--calcite-color-foreground-1));color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);padding:var(--padding);box-sizing:border-box;>*{border:var(--border-style)}}[role=group]{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:var(--calcite-button-height)}.selection-count{display:flex;align-items:center;justify-content:space-between;padding-inline-start:var(--padding);margin-block-start:var(--padding)}`,s=class extends r{constructor(){super(),this._messages=d({name:"instant-apps-selection-toolbar",blocking:!0}),this._selectionCount=0,this.disabled=!1,this.selectionManager=new g,this.selectionToolbarViewModel=new p({selectionManager:this.selectionManager})}static{this.properties={_selectionCount:16,view:0,selectionManager:0,selectionToolbarViewModel:0,selectedCount:32,sources:0,enabledTool:3,readyToSelect:39,continuousSelectionEnabled:5,disabled:5}}static{this.styles=v}get#e(){return this.disabled||this.selectionToolbarViewModel.state==="disabled"}set view(e){this.selectionManager.view=e,this.selectionToolbarViewModel.view=e}get view(){return this.selectionManager.view}get selectedCount(){return this._selectionCount}set sources(e){this.selectionManager.sources=e,this.selectionToolbarViewModel.sources=e}get sources(){return this.selectionManager.sources}get readyToSelect(){return!this.#e&&!!this.view&&!!this.sources?.length}set continuousSelectionEnabled(e){this.selectionToolbarViewModel.continuousSelectionEnabled=e}get continuousSelectionEnabled(){return this.selectionToolbarViewModel.continuousSelectionEnabled}clearSelection(){this.selectionManager.clear()}async getSelectedFeatures(){return this.selectionManager.getSelectedFeatures(null,{returnGeometry:!0})}load(){this.manager.onLifecycle(()=>m(()=>this.selectionManager,"selection-change",()=>{this._selectionCount=this.selectionManager.count}))}willUpdate(e){e.has("enabledTool")&&this.readyToSelect&&(this.enabledTool?this.selectionToolbarViewModel.activateTool(this.enabledTool):this.selectionToolbarViewModel.cancel())}_getSelectButtonClickEventHandler(e){return()=>{this.enabledTool===e?this.enabledTool=null:this.enabledTool=e}}_renderSelectionButton(e,i,u){let l=this.enabledTool===e,h={pressed:l},b=this._getSelectButtonClickEventHandler(e),n=`${e}-action`;return t`<calcite-action id=${n??o} .aria=${h} .active=${l} alignment=center .text=${i} @click=${b} .disabled=${this.disabled}><calcite-icon .icon=${u}></calcite-icon></calcite-action><calcite-tooltip .referenceElement=${n}><span>${i}</span></calcite-tooltip>`}_renderSelectionCount(){if(this._selectionCount>0){let e=this._selectionCount===1?this._messages.labels.singleFeatureSelected:this._messages.labels.multipleFeaturesSelected.replace("{number}",String(this._selectionCount));return t`<div class="selection-count"><span>${e}</span><calcite-button appearance=transparent .label=${this._messages.labels.deselectFeatures} @click=${this.clearSelection}><calcite-icon icon=x></calcite-icon></calcite-button></div>`}return null}render(){return t`<div role=group aria-label=${this._messages.labels.groupLabel??o}>${this._renderSelectionButton("point",this._messages.labels.selectCursor,"cursor")}${this._renderSelectionButton("rectangle",this._messages.labels.selectMarquee,"cursor-marquee")}${this._renderSelectionButton("lasso",this._messages.labels.selectLasso,"lasso-select")}</div>${this._renderSelectionCount()}`}};c("instant-apps-selection-toolbar",s);return s},"views/SelectionManager","widgets/support/SelectionToolbar/SelectionToolbarViewModel","core/reactiveUtils")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import a from"./OVKFYACI.js";import{b as _e}from"./QHG54NVK.js";import{b as we}from"./DLBZRD4H.js";import"./HBQN25RR.js";import{a as be}from"./3AQ7U2PF.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as me}from"./NDUAEC62.js";import{G,H as xe,J as W,L as X,h as pe,i as x,k as ue,l as j,m as T,r as de,w as ge,x as ke,y as fe}from"./P4KZ6OZF.js";import"./QPIMTXPL.js";export default $arcgis.t(([{I:ye,q:ve,r:Q}])=>{var L=class extends fe{constructor(e){if(super(e),this.it=j,e.type!==ge.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===j||e==null)return this._t=void 0,this.it=e;if(e===ue)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};L.directiveName="unsafeHTML",L.resultType=1;var J=ke(L);var Fe=pe`:host{display:block;height:100%}.display-flex-row{display:flex;flex-direction:row}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-foreground-3);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-background);border-radius:10px;padding:10px}.chat-panel{--calcite-dialog-header-background-color: var(--calcite-color-brand);--calcite-dialog-header-action-background-color: var(--calcite-color-brand);--calcite-dialog-heading-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color-press: var(--calcite-color-background);--calcite-color-focus: var(--calcite-color-background);--calcite-dialog-min-size-y: 90vh;--calcite-dialog-max-size-y: 90vh}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button:not(.icon-color-background),.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-background, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-foreground-2);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-foreground-3);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-foreground-3)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-background)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-background)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`;function se(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A=se();function Ce(i){A=i}var R={exec:()=>null};function d(i,e=""){let t=typeof i=="string"?i:i.source,n={replace:(s,a)=>{let r=typeof a=="string"?a:a.source;return r=r.replace(b.caret,"$1"),t=t.replace(s,r),n},getRegex:()=>new RegExp(t,e)};return n}var Oe=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),b={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:i=>new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}#`),htmlBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}>`)},Ze=/^(?:[ \t]*(?:\n|$))+/,He=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,je=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,B=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ge=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ne=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ze=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Le=d(ze).replace(/bull/g,ne).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),We=d(ze).replace(/bull/g,ne).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),ie=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Xe=/^[^\n]+/,re=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Je=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",re).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ke=d(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ne).getRegex(),Z="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ae=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ve=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ae).replace("tag",Z).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Pe=d(ie).replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),Ye=d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Pe).getRegex(),oe={blockquote:Ye,code:He,def:Je,fences:je,heading:Ge,hr:B,html:Ve,lheading:Le,list:Ke,newline:Ze,paragraph:Pe,table:R,text:Xe},Se=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),et={...oe,lheading:We,table:Se,paragraph:d(ie).replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Se).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex()},tt={...oe,html:d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ae).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(ie).replace("hr",B).replace("heading",` *#{1,6} *[^
|
|
3
|
-
]`).replace("lheading",Le).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},st=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,nt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,qe=/^( {2,}|\\)\n(?!\s*$)/,it=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,H=/[\p{P}\p{S}]/u,le=/[\s\p{P}\p{S}]/u,Ee=/[^\s\p{P}\p{S}]/u,rt=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,le).getRegex(),Be=/(?!~)[\p{P}\p{S}]/u,at=/(?!~)[\s\p{P}\p{S}]/u,ot=/(?:[^\s\p{P}\p{S}]|~)/u,Me=/(?![*_])[\p{P}\p{S}]/u,lt=/(?![*_])[\s\p{P}\p{S}]/u,ct=/(?:[^\s\p{P}\p{S}]|[*_])/u,ht=d(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Oe?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ne=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,pt=d(Ne,"u").replace(/punct/g,H).getRegex(),ut=d(Ne,"u").replace(/punct/g,Be).getRegex(),Qe="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",dt=d(Qe,"gu").replace(/notPunctSpace/g,Ee).replace(/punctSpace/g,le).replace(/punct/g,H).getRegex(),gt=d(Qe,"gu").replace(/notPunctSpace/g,ot).replace(/punctSpace/g,at).replace(/punct/g,Be).getRegex(),kt=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ee).replace(/punctSpace/g,le).replace(/punct/g,H).getRegex(),ft=d(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Me).getRegex(),
|
|
2
|
+
import a from"./DQV46RIT.js";import{b as _e}from"./QHG54NVK.js";import{b as we}from"./DLBZRD4H.js";import"./HBQN25RR.js";import{a as be}from"./3AQ7U2PF.js";import"./DIKAKOU5.js";import"./S423P2GA.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as xe}from"./NDUAEC62.js";import{G,H as me,J as W,L as X,h as pe,i as m,k as ue,l as j,m as T,r as de,w as ge,x as ke,y as fe}from"./P4KZ6OZF.js";import"./QPIMTXPL.js";export default $arcgis.t(([{I:ye,J:Q,q:ve}])=>{var L=class extends fe{constructor(e){if(super(e),this.it=j,e.type!==ge.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===j||e==null)return this._t=void 0,this.it=e;if(e===ue)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};L.directiveName="unsafeHTML",L.resultType=1;var J=ke(L);var Fe=pe`:host{display:block;height:100%}.display-flex-row{display:flex;flex-direction:row}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-foreground-3);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-background);border-radius:10px;padding:10px}.chat-panel{--calcite-dialog-header-background-color: var(--calcite-color-brand);--calcite-dialog-header-action-background-color: var(--calcite-color-brand);--calcite-dialog-heading-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color-press: var(--calcite-color-background);--calcite-color-focus: var(--calcite-color-background);--calcite-dialog-min-size-y: 90vh;--calcite-dialog-max-size-y: 90vh}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button:not(.icon-color-background),.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-background, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-foreground-2);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-foreground-3);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-foreground-3)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-background)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-background)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`;function se(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A=se();function Ce(i){A=i}var R={exec:()=>null};function d(i,e=""){let t=typeof i=="string"?i:i.source,n={replace:(s,a)=>{let r=typeof a=="string"?a:a.source;return r=r.replace(b.caret,"$1"),t=t.replace(s,r),n},getRegex:()=>new RegExp(t,e)};return n}var Oe=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),b={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:i=>new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}#`),htmlBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}>`)},Ze=/^(?:[ \t]*(?:\n|$))+/,He=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,je=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,B=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ge=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ne=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ze=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Le=d(ze).replace(/bull/g,ne).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),We=d(ze).replace(/bull/g,ne).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),ie=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Xe=/^[^\n]+/,re=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Je=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",re).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ke=d(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ne).getRegex(),Z="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ae=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ve=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ae).replace("tag",Z).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Pe=d(ie).replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),Ye=d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Pe).getRegex(),oe={blockquote:Ye,code:He,def:Je,fences:je,heading:Ge,hr:B,html:Ve,lheading:Le,list:Ke,newline:Ze,paragraph:Pe,table:R,text:Xe},Se=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),et={...oe,lheading:We,table:Se,paragraph:d(ie).replace("hr",B).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Se).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex()},tt={...oe,html:d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ae).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(ie).replace("hr",B).replace("heading",` *#{1,6} *[^
|
|
3
|
+
]`).replace("lheading",Le).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},st=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,nt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,qe=/^( {2,}|\\)\n(?!\s*$)/,it=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,H=/[\p{P}\p{S}]/u,le=/[\s\p{P}\p{S}]/u,Ee=/[^\s\p{P}\p{S}]/u,rt=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,le).getRegex(),Be=/(?!~)[\p{P}\p{S}]/u,at=/(?!~)[\s\p{P}\p{S}]/u,ot=/(?:[^\s\p{P}\p{S}]|~)/u,Me=/(?![*_])[\p{P}\p{S}]/u,lt=/(?![*_])[\s\p{P}\p{S}]/u,ct=/(?:[^\s\p{P}\p{S}]|[*_])/u,ht=d(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Oe?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ne=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,pt=d(Ne,"u").replace(/punct/g,H).getRegex(),ut=d(Ne,"u").replace(/punct/g,Be).getRegex(),Qe="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",dt=d(Qe,"gu").replace(/notPunctSpace/g,Ee).replace(/punctSpace/g,le).replace(/punct/g,H).getRegex(),gt=d(Qe,"gu").replace(/notPunctSpace/g,ot).replace(/punctSpace/g,at).replace(/punct/g,Be).getRegex(),kt=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ee).replace(/punctSpace/g,le).replace(/punct/g,H).getRegex(),ft=d(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Me).getRegex(),mt="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",xt=d(mt,"gu").replace(/notPunctSpace/g,ct).replace(/punctSpace/g,lt).replace(/punct/g,Me).getRegex(),bt=d(/\\(punct)/,"gu").replace(/punct/g,H).getRegex(),wt=d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_t=d(ae).replace("(?:-->|$)","-->").getRegex(),vt=d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",_t).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),U=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,yt=d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",U).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),De=d(/^!?\[(label)\]\[(ref)\]/).replace("label",U).replace("ref",re).getRegex(),Ue=d(/^!?\[(ref)\](?:\[\])?/).replace("ref",re).getRegex(),St=d("reflink|nolink(?!\\()","g").replace("reflink",De).replace("nolink",Ue).getRegex(),$e=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ce={_backpedal:R,anyPunctuation:bt,autolink:wt,blockSkip:ht,br:qe,code:nt,del:R,delLDelim:R,delRDelim:R,emStrongLDelim:pt,emStrongRDelimAst:dt,emStrongRDelimUnd:kt,escape:st,link:yt,nolink:Ue,punctuation:rt,reflink:De,reflinkSearch:St,tag:vt,text:it,url:R},$t={...ce,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",U).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",U).getRegex()},K={...ce,emStrongRDelimAst:gt,emStrongLDelim:ut,delLDelim:ft,delRDelim:xt,url:d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",$e).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",$e).getRegex()},Tt={...K,br:d(qe).replace("{2,}","*").getRegex(),text:d(K.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},D={normal:oe,gfm:et,pedantic:tt},P={normal:ce,gfm:K,breaks:Tt,pedantic:$t},Rt={"&":"&","<":"<",">":">",'"':""","'":"'"},Te=i=>Rt[i];function S(i,e){if(e){if(b.escapeTest.test(i))return i.replace(b.escapeReplace,Te)}else if(b.escapeTestNoEncode.test(i))return i.replace(b.escapeReplaceNoEncode,Te);return i}function Re(i){try{i=encodeURI(i).replace(b.percentDecode,"%")}catch{return null}return i}function Ie(i,e){let t=i.replace(b.findPipe,(a,r,l)=>{let o=!1,h=r;for(;--h>=0&&l[h]==="\\";)o=!o;return o?"|":" |"}),n=t.split(b.splitPipe),s=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;s<n.length;s++)n[s]=n[s].trim().replace(b.slashPipe,"|");return n}function q(i,e,t){let n=i.length;if(n===0)return"";let s=0;for(;s<n&&i.charAt(n-s-1)===e;)s++;return i.slice(0,n-s)}function It(i,e){if(i.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<i.length;n++)if(i[n]==="\\")n++;else if(i[n]===e[0])t++;else if(i[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function At(i,e=0){let t=e,n="";for(let s of i)if(s===" "){let a=4-t%4;n+=" ".repeat(a),t+=a}else n+=s,t++;return n}function Ae(i,e,t,n,s){let a=e.href,r=e.title||null,l=i[1].replace(s.other.outputLinkReplace,"$1");n.state.inLink=!0;let o={type:i[0].charAt(0)==="!"?"image":"link",raw:t,href:a,title:r,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,o}function Ct(i,e,t){let n=i.match(t.other.indentCodeCompensation);if(n===null)return e;let s=n[1];return e.split(`
|
|
4
4
|
`).map(a=>{let r=a.match(t.other.beginningSpace);if(r===null)return a;let[l]=r;return l.length>=s.length?a.slice(s.length):a}).join(`
|
|
5
5
|
`)}var F=class{options;rules;lexer;constructor(i){this.options=i||A}space(i){let e=this.rules.block.newline.exec(i);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(i){let e=this.rules.block.code.exec(i);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:q(t,`
|
|
6
6
|
`)}}}fences(i){let e=this.rules.block.fences.exec(i);if(e){let t=e[0],n=Ct(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(i){let e=this.rules.block.heading.exec(i);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let n=q(t,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(t=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(i){let e=this.rules.block.hr.exec(i);if(e)return{type:"hr",raw:q(e[0],`
|
|
@@ -18,9 +18,9 @@ ${c}`:c;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
18
18
|
`);continue}}return{type:"blockquote",raw:n,tokens:a,text:s}}}list(i){let e=this.rules.block.list.exec(i);if(e){let t=e[1].trim(),n=t.length>1,s={type:"list",raw:"",ordered:n,start:n?+t.slice(0,-1):"",loose:!1,items:[]};t=n?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=n?t:"[*+-]");let a=this.rules.other.listItemRegex(t),r=!1;for(;i;){let o=!1,h="",c="";if(!(e=a.exec(i))||this.rules.block.hr.test(i))break;h=e[0],i=i.substring(h.length);let p=At(e[2].split(`
|
|
19
19
|
`,1)[0],e[1].length),u=i.split(`
|
|
20
20
|
`,1)[0],g=!p.trim(),f=0;if(this.options.pedantic?(f=2,c=p.trimStart()):g?f=e[1].length+1:(f=p.search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=p.slice(f),f+=e[1].length),g&&this.rules.other.blankLine.test(u)&&(h+=u+`
|
|
21
|
-
`,i=i.substring(u.length+1),o=!0),!o){let w=this.rules.other.nextBulletRegex(f),M=this.rules.other.hrRegex(f),N=this.rules.other.fencesBeginRegex(f),
|
|
22
|
-
`,1)[0],$;if(u=z,this.options.pedantic?(u=u.replace(this.rules.other.listReplaceNesting," "),$=u):$=u.replace(this.rules.other.tabCharGlobal," "),N.test(u)||
|
|
23
|
-
`+$.slice(f);else{if(g||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||N.test(p)||
|
|
21
|
+
`,i=i.substring(u.length+1),o=!0),!o){let w=this.rules.other.nextBulletRegex(f),M=this.rules.other.hrRegex(f),N=this.rules.other.fencesBeginRegex(f),x=this.rules.other.headingBeginRegex(f),_=this.rules.other.htmlBeginRegex(f),C=this.rules.other.blockquoteBeginRegex(f);for(;i;){let z=i.split(`
|
|
22
|
+
`,1)[0],$;if(u=z,this.options.pedantic?(u=u.replace(this.rules.other.listReplaceNesting," "),$=u):$=u.replace(this.rules.other.tabCharGlobal," "),N.test(u)||x.test(u)||_.test(u)||C.test(u)||w.test(u)||M.test(u))break;if($.search(this.rules.other.nonSpaceChar)>=f||!u.trim())c+=`
|
|
23
|
+
`+$.slice(f);else{if(g||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||N.test(p)||x.test(p)||M.test(p))break;c+=`
|
|
24
24
|
`+u}g=!u.trim(),h+=z+`
|
|
25
25
|
`,i=i.substring(z.length+1),p=$.slice(f)}}s.loose||(r?s.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),s.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),s.raw+=h}let l=s.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let o of s.items){if(this.lexer.state.top=!1,o.tokens=this.lexer.blockTokens(o.text,[]),o.task){if(o.text=o.text.replace(this.rules.other.listReplaceTask,""),o.tokens[0]?.type==="text"||o.tokens[0]?.type==="paragraph"){o.tokens[0].raw=o.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),o.tokens[0].text=o.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(o.raw);if(h){let c={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};o.checked=c.checked,s.loose?o.tokens[0]&&["paragraph","text"].includes(o.tokens[0].type)&&"tokens"in o.tokens[0]&&o.tokens[0].tokens?(o.tokens[0].raw=c.raw+o.tokens[0].raw,o.tokens[0].text=c.raw+o.tokens[0].text,o.tokens[0].tokens.unshift(c)):o.tokens.unshift({type:"paragraph",raw:c.raw,text:c.raw,tokens:[c]}):o.tokens.unshift(c)}}if(!s.loose){let h=o.tokens.filter(p=>p.type==="space"),c=h.length>0&&h.some(p=>this.rules.other.anyLine.test(p.raw));s.loose=c}}if(s.loose)for(let o of s.items){o.loose=!0;for(let h of o.tokens)h.type==="text"&&(h.type="paragraph")}return s}}html(i){let e=this.rules.block.html.exec(i);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(i){let e=this.rules.block.def.exec(i);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:n,title:s}}}table(i){let e=this.rules.block.table.exec(i);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=Ie(e[1]),n=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
26
26
|
`):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===n.length){for(let r of n)this.rules.other.tableAlignRight.test(r)?a.align.push("right"):this.rules.other.tableAlignCenter.test(r)?a.align.push("center"):this.rules.other.tableAlignLeft.test(r)?a.align.push("left"):a.align.push(null);for(let r=0;r<t.length;r++)a.header.push({text:t[r],tokens:this.lexer.inline(t[r]),header:!0,align:a.align[r]});for(let r of s)a.rows.push(Ie(r,a.header.length).map((l,o)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[o]})));return a}}lheading(i){let e=this.rules.block.lheading.exec(i);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(i){let e=this.rules.block.paragraph.exec(i);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
@@ -57,9 +57,9 @@ ${this.parser.parse(i)}</blockquote>
|
|
|
57
57
|
${i}</tr>
|
|
58
58
|
`}tablecell(i){let e=this.parser.parseInline(i.tokens),t=i.header?"th":"td";return(i.align?`<${t} align="${i.align}">`:`<${t}>`)+e+`</${t}>
|
|
59
59
|
`}strong({tokens:i}){return`<strong>${this.parser.parseInline(i)}</strong>`}em({tokens:i}){return`<em>${this.parser.parseInline(i)}</em>`}codespan({text:i}){return`<code>${S(i,!0)}</code>`}br(i){return"<br>"}del({tokens:i}){return`<del>${this.parser.parseInline(i)}</del>`}link({href:i,title:e,tokens:t}){let n=this.parser.parseInline(t),s=Re(i);if(s===null)return n;i=s;let a='<a href="'+i+'"';return e&&(a+=' title="'+S(e)+'"'),a+=">"+n+"</a>",a}image({href:i,title:e,text:t,tokens:n}){n&&(t=this.parser.parseInline(n,this.parser.textRenderer));let s=Re(i);if(s===null)return S(t);i=s;let a=`<img src="${i}" alt="${S(t)}"`;return e&&(a+=` title="${S(e)}"`),a+=">",a}text(i){return"tokens"in i&&i.tokens?this.parser.parseInline(i.tokens):"escaped"in i&&i.escaped?i.text:S(i.text)}},he=class{strong({text:i}){return i}em({text:i}){return i}codespan({text:i}){return i}del({text:i}){return i}html({text:i}){return i}text({text:i}){return i}link({text:i}){return""+i}image({text:i}){return""+i}br(){return""}checkbox({raw:i}){return i}},y=class Y{options;renderer;textRenderer;constructor(e){this.options=e||A,this.options.renderer=this.options.renderer||new O,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new he}static parse(e,t){return new Y(t).parse(e)}static parseInline(e,t){return new Y(t).parseInline(e)}parse(e){let t="";for(let n=0;n<e.length;n++){let s=e[n];if(this.options.extensions?.renderers?.[s.type]){let r=s,l=this.options.extensions.renderers[r.type].call({parser:this},r);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(r.type)){t+=l||"";continue}}let a=s;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let r='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(r),"";throw new Error(r)}}}return t}parseInline(e,t=this.renderer){let n="";for(let s=0;s<e.length;s++){let a=e[s];if(this.options.extensions?.renderers?.[a.type]){let l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){n+=l||"";continue}}let r=a;switch(r.type){case"escape":{n+=t.text(r);break}case"html":{n+=t.html(r);break}case"link":{n+=t.link(r);break}case"image":{n+=t.image(r);break}case"checkbox":{n+=t.checkbox(r);break}case"strong":{n+=t.strong(r);break}case"em":{n+=t.em(r);break}case"codespan":{n+=t.codespan(r);break}case"br":{n+=t.br(r);break}case"del":{n+=t.del(r);break}case"text":{n+=t.text(r);break}default:{let l='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return n}},E=class{options;block;constructor(i){this.options=i||A}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(i){return i}postprocess(i){return i}processAllTokens(i){return i}emStrongMask(i){return i}provideLexer(){return this.block?v.lex:v.lexInline}provideParser(){return this.block?y.parse:y.parseInline}},zt=class{defaults=se();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=y;Renderer=O;TextRenderer=he;Lexer=v;Tokenizer=F;Hooks=E;constructor(...i){this.use(...i)}walkTokens(i,e){let t=[];for(let n of i)switch(t=t.concat(e.call(this,n)),n.type){case"table":{let s=n;for(let a of s.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of s.rows)for(let r of a)t=t.concat(this.walkTokens(r.tokens,e));break}case"list":{let s=n;t=t.concat(this.walkTokens(s.items,e));break}default:{let s=n;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(a=>{let r=s[a].flat(1/0);t=t.concat(this.walkTokens(r,e))}):s.tokens&&(t=t.concat(this.walkTokens(s.tokens,e)))}}return t}use(...i){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return i.forEach(t=>{let n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=e.renderers[s.name];a?e.renderers[s.name]=function(...r){let l=s.renderer.apply(this,r);return l===!1&&(l=a.apply(this,r)),l}:e.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[s.level];a?a.unshift(s.tokenizer):e[s.level]=[s.tokenizer],s.start&&(s.level==="block"?e.startBlock?e.startBlock.push(s.start):e.startBlock=[s.start]:s.level==="inline"&&(e.startInline?e.startInline.push(s.start):e.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(e.childTokens[s.name]=s.childTokens)}),n.extensions=e),t.renderer){let s=this.defaults.renderer||new O(this.defaults);for(let a in t.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let r=a,l=t.renderer[r],o=s[r];s[r]=(...h)=>{let c=l.apply(s,h);return c===!1&&(c=o.apply(s,h)),c||""}}n.renderer=s}if(t.tokenizer){let s=this.defaults.tokenizer||new F(this.defaults);for(let a in t.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let r=a,l=t.tokenizer[r],o=s[r];s[r]=(...h)=>{let c=l.apply(s,h);return c===!1&&(c=o.apply(s,h)),c}}n.tokenizer=s}if(t.hooks){let s=this.defaults.hooks||new E;for(let a in t.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let r=a,l=t.hooks[r],o=s[r];E.passThroughHooks.has(a)?s[r]=h=>{if(this.defaults.async&&E.passThroughHooksRespectAsync.has(a))return(async()=>{let p=await l.call(s,h);return o.call(s,p)})();let c=l.call(s,h);return o.call(s,c)}:s[r]=(...h)=>{if(this.defaults.async)return(async()=>{let p=await l.apply(s,h);return p===!1&&(p=await o.apply(s,h)),p})();let c=l.apply(s,h);return c===!1&&(c=o.apply(s,h)),c}}n.hooks=s}if(t.walkTokens){let s=this.defaults.walkTokens,a=t.walkTokens;n.walkTokens=function(r){let l=[];return l.push(a.call(this,r)),s&&(l=l.concat(s.call(this,r))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(i){return this.defaults={...this.defaults,...i},this}lexer(i,e){return v.lex(i,e??this.defaults)}parser(i,e){return y.parse(i,e??this.defaults)}parseMarkdown(i){return(e,t)=>{let n={...t},s={...this.defaults,...n},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=i),s.async)return(async()=>{let r=s.hooks?await s.hooks.preprocess(e):e,l=await(s.hooks?await s.hooks.provideLexer():i?v.lex:v.lexInline)(r,s),o=s.hooks?await s.hooks.processAllTokens(l):l;s.walkTokens&&await Promise.all(this.walkTokens(o,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser():i?y.parse:y.parseInline)(o,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(e=s.hooks.preprocess(e));let r=(s.hooks?s.hooks.provideLexer():i?v.lex:v.lexInline)(e,s);s.hooks&&(r=s.hooks.processAllTokens(r)),s.walkTokens&&this.walkTokens(r,s.walkTokens);let l=(s.hooks?s.hooks.provideParser():i?y.parse:y.parseInline)(r,s);return s.hooks&&(l=s.hooks.postprocess(l)),l}catch(r){return a(r)}}}onError(i,e){return t=>{if(t.message+=`
|
|
60
|
-
Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error occurred:</p><pre>"+S(t.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(t);throw t}}},I=new zt;function k(i,e){return I.parse(i,e)}k.options=k.setOptions=function(i){return I.setOptions(i),k.defaults=I.defaults,Ce(k.defaults),k};k.getDefaults=se;k.defaults=A;k.use=function(...i){return I.use(...i),k.defaults=I.defaults,Ce(k.defaults),k};k.walkTokens=function(i,e){return I.walkTokens(i,e)};k.parseInline=I.parseInline;k.Parser=y;k.parser=y.parse;k.Renderer=O;k.TextRenderer=he;k.Lexer=v;k.lexer=v.lex;k.Tokenizer=F;k.Hooks=E;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;y.parse;v.lex;var ee=class{constructor(e=""){this._text="",this._displayedText="",this._pendingText="",this._text=e,this._pendingText=e}setText(e){this._text=e,this._displayedText&&e.includes(this._displayedText)?this._pendingText=e.substring(this._displayedText.length):(this._pendingText=this._text,this._displayedText="")}getText(){return this._displayedText}clearText(){this._displayedText="",this._text="",this._pendingText=""}updateDisplayText(){if(this._pendingText.length>0){let e=this._pendingText[0];if(e==="["||e==="<"||e==="!"){let t=this._matchMarkdownPattern(this._displayedText+this._pendingText,this._displayedText.length);if(t){let n=t.end-t.start,s=this._pendingText.substring(0,n);this._displayedText+=s,this._pendingText=this._pendingText.substring(n)}else this._displayedText+=e,this._pendingText=this._pendingText.substring(1)}else this._displayedText+=e,this._pendingText=this._pendingText.substring(1)}}_matchMarkdownPattern(e,t){let n=[/<sup>\[\[[^\]]+\]\]\([^)]+\)<\/sup>/,/\[\[[^\]]+\]\]\([^)]+\)/,/\[[^\]]+\]\([^)]+\)/,/!\[[^\]]*\]\([^)]+\)/],s=e.substring(t);for(let a of n){let r=s.match(a);if(r&&r.index===0)return{start:t,end:t+r[0].length}}return null}},Lt="https://links.esri.com/solutions/agol-organizational-account",Pt="https://links.esri.com/solutions/configure-assistants",te=class extends
|
|
61
|
-
`),C=this._renderSuggestedSolutions(
|
|
62
|
-
`+_,w,this.conversationStore.conversationId,g.intent);T(C,l),T(z,o)}else l.innerHTML="";this._scrollToBottom();break}default:{let
|
|
60
|
+
Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error occurred:</p><pre>"+S(t.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(t);throw t}}},I=new zt;function k(i,e){return I.parse(i,e)}k.options=k.setOptions=function(i){return I.setOptions(i),k.defaults=I.defaults,Ce(k.defaults),k};k.getDefaults=se;k.defaults=A;k.use=function(...i){return I.use(...i),k.defaults=I.defaults,Ce(k.defaults),k};k.walkTokens=function(i,e){return I.walkTokens(i,e)};k.parseInline=I.parseInline;k.Parser=y;k.parser=y.parse;k.Renderer=O;k.TextRenderer=he;k.Lexer=v;k.lexer=v.lex;k.Tokenizer=F;k.Hooks=E;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;y.parse;v.lex;var ee=class{constructor(e=""){this._text="",this._displayedText="",this._pendingText="",this._text=e,this._pendingText=e}setText(e){this._text=e,this._displayedText&&e.includes(this._displayedText)?this._pendingText=e.substring(this._displayedText.length):(this._pendingText=this._text,this._displayedText="")}getText(){return this._displayedText}clearText(){this._displayedText="",this._text="",this._pendingText=""}updateDisplayText(){if(this._pendingText.length>0){let e=this._pendingText[0];if(e==="["||e==="<"||e==="!"){let t=this._matchMarkdownPattern(this._displayedText+this._pendingText,this._displayedText.length);if(t){let n=t.end-t.start,s=this._pendingText.substring(0,n);this._displayedText+=s,this._pendingText=this._pendingText.substring(n)}else this._displayedText+=e,this._pendingText=this._pendingText.substring(1)}else this._displayedText+=e,this._pendingText=this._pendingText.substring(1)}}_matchMarkdownPattern(e,t){let n=[/<sup>\[\[[^\]]+\]\]\([^)]+\)<\/sup>/,/\[\[[^\]]+\]\]\([^)]+\)/,/\[[^\]]+\]\([^)]+\)/,/!\[[^\]]*\]\([^)]+\)/],s=e.substring(t);for(let a of n){let r=s.match(a);if(r&&r.index===0)return{start:t,end:t+r[0].length}}return null}},Lt="https://links.esri.com/solutions/agol-organizational-account",Pt="https://links.esri.com/solutions/configure-assistants",te=class extends me{constructor(){super(),this.serverRoot="https://aiservices-beta.arcgis.com",this.open=!1,this.userFirstName="",this.conversationStore={conversationId:null,inquiryId:null,ackSequenceNumber:null},this._currentResponse="",this._isAutoScroll=!1,this._isLoading=!1,this._isLoadingText="",this.messages=[],this._orgSettings={aiAssistantsEnabled:!1,blockBetaApps:!0,colocateCompute:!1},this._translations=be({name:"arcgis-solutions-assistant",blocking:!0}),this._isTyping=!1,this._configContextConsumer=we({context:_e,subscribe:!0,callback:e=>{e?.userSession&&!this.userFirstName&&this._loadUserFirstName(),e?.authentication?.PortalSubset?.orgSettings&&(this._orgSettings=e?.authentication?.PortalSubset?.orgSettings,this._getAIServiceUrl())}}),this.closeAssistant=de(),this._resetConversation=()=>{this.conversationStore.conversationId=null,this.conversationStore.inquiryId=null,this.conversationStore.ackSequenceNumber=null},this._setMessageContainerRef=e=>{this._chatContainer=e},this._setInputRef=e=>{this._inputRef=e,this._inputRef.addEventListener("keydown",t=>{t.key==="Enter"&&!t.shiftKey&&!this._isLoading&&!this._isTyping&&(t.preventDefault(),this._inputRef&&(this.handleSendMessage(this._inputRef.value.trim()),this._inputRef.value=""))}),setTimeout(()=>{this._inputRef?.focus()},100)},this._submitQuestion=e=>{this.handleSendMessage(e)},this._handleSignIn=()=>{this._configContextConsumer.value?.authentication?.signIn("aiOpen")},this._checkURLOpenParameter=()=>{this.open=this._configContextConsumer.value?.authentication?.SignInParam==="aiOpen"||this.open},this.listenOn(window,"submitQuestion",e=>{this._submitQuestion(e.detail)})}static{this.properties={serverRoot:1,open:5,userFirstName:1,conversationStore:16,_currentResponse:16,_isAutoScroll:16,_isLoading:16,_isLoadingText:16,messages:16,_orgSettings:16,_translations:16,_isTyping:16}}static{this.styles=Fe}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}get solutionAIurl(){return`${this.serverRoot}/skills/solution_deployment/chat`}get docAIurl(){return`${this.serverRoot}/skills/doc_ai_assistant/chat`}async handleSendMessage(e){this._isLoading=!0;let t={message:e,context:{debug:!1,kind:"SolutionRequest"}};if(this.conversationStore.conversationId!==null){t.conversationId=this.conversationStore.conversationId;let n={author:"human",conversationId:this.conversationStore.conversationId?this.conversationStore.conversationId:"",message:e,render:this._renderSimpleTextMessage(e,"human","","Other")};this.messages=[...this.messages,n];let s=await this.requestAIServer(t,this.solutionAIurl);this.loopRequest(s,this.solutionAIurl)}else{let n={author:"human",message:e,render:this._renderSimpleTextMessage(e,"human","","Other")};this.messages=[...this.messages,n];let s=await this.requestAIServer(t,this.solutionAIurl);this.conversationStore.conversationId=s.conversationId,this.conversationStore.inquiryId=s.inquiryId,this.conversationStore.ackSequenceNumber=s.sequenceNumber,this.loopRequest(s,this.solutionAIurl)}}async loopRequest(e,t){let n=Date.now(),s,a=t;this._isLoading=!0;let r=document.createElement("div");r.classList.add("response-message","message-content");let l=document.createElement("div");l.classList.add("display-none");let o=document.createElement("div");o.classList.add("display-none");let h=e.conversationId+Date.now(),c=this._renderResponseBlock(r,l,o,h),p=new ee(this._currentResponse),u={author:"ai",conversationId:e.conversationId,message:e.message??"",render:c};for(this.messages.push(u),this.requestUpdate(),this._isAutoScroll=!0;e.hasMore;){await new Promise(_=>setTimeout(_,500));let x={conversationId:e.conversationId,ackSequenceNumber:e.sequenceNumber,inquiryId:e.inquiryId};if(e.context)if(this.conversationStore.context=e.context,e.context.results&&!e.context.intent)for(let _ of e.context.results)this._currentResponse=_.reply,this._currentResponse!==""&&(this._isLoading=!1,this._isTyping=!0,this._showCardById(h),this._startTypeWriter(p,this._currentResponse,r,l,o)),e=await this.requestAIServer(x,a);else if(e.context.intent==="Solution question"){s=e.context.intent;let _={message:e.message,conversationId:x.conversationId,context:{kind:"DocAIAssistantRequest",filters:{products:"ArcGIS Solutions"}}};a=this.docAIurl,e=await this.requestAIServer(_,a)}else this._currentResponse=e.message??"",e.context.kind&&e.context.kind.toLowerCase()==="ArcGISErrorAsContext".toLowerCase()&&(this._currentResponse=this._translations.genericErrorMessage),this._currentResponse!==""&&(this._isLoading=!1,this._isTyping=!0,this._showCardById(h),this._startTypeWriter(p,this._currentResponse,r,l,o)),e=await this.requestAIServer(x,a);else e=await this.requestAIServer(x,a)}this._isLoading=!1;let{context:g}=this.conversationStore,f=this.messages.length>=2?this._getMostRecentQuestion():"",w=typeof f=="string"?"":f?.message??"",M=ye(n),N=s||g?.intent||"Unknown";if(this._telemetry?.logEvent({category:ve.ASSISTANT,action:"Chat",dimensions:[N],metrics:[M]}),g&&g.intent)switch(g.intent){case"Recommend solution":{if(g.results){let x=g.results,_=x.map($=>`- ${$.title}`).join(`
|
|
61
|
+
`),C=this._renderSuggestedSolutions(x),z=this._renderFeedback(this._currentResponse+`
|
|
62
|
+
`+_,w,this.conversationStore.conversationId,g.intent);T(C,l),T(z,o)}else l.innerHTML="";this._scrollToBottom();break}default:{let x=this._renderFeedback(this._currentResponse,w,this.conversationStore.conversationId,g.intent);T(x,o),this._scrollToBottom();break}}else{if(g&&g.results&&!g.intent)for(let x of g.results){let _=this._renderSolutionsQuestionTable(x.ref,x.followupQuestions),C=this._renderFeedback(this._currentResponse,w,this.conversationStore.conversationId,"Solution question");T(_,l),T(C,o)}else if(g&&g.kind&&g.kind.toLowerCase()==="ArcGISErrorAsContext".toLowerCase()){let x=this._renderFeedback(this._currentResponse,w,this.conversationStore.conversationId,"Error");T(x,o)}this._scrollToBottom()}}async requestAIServer(e,t){try{let n=this._configContextConsumer.value?.userSession?.token??"",s=await(await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",token:n},body:JSON.stringify(e)})).json();if(s)return s;throw new Error("No data returned")}catch(n){throw new Error(`Request failed: ${n}`)}}resetChat(){let e=this.messages[this.messages.length-1];if(e.author!=="system"&&e.conversationId!=="-1"){this._resetConversation();let t={author:"system",conversationId:"-1",message:this._translations.newConversationStarted,render:this._renderSimpleTextMessage(this._translations.newConversationStarted,"system","","Other","speech-bubble-plus")};this.messages=[...this.messages,t],this._inputRef&&(this._inputRef.value="")}}loaded(){this._checkURLOpenParameter();let e=this._chatContainer;e&&e.addEventListener("scroll",()=>{this._isAutoScroll=this._isAtBottom(e)})}firstUpdated(e){this._loadUserFirstName()}willUpdate(e){if(this._configContextConsumer.value?.userSession?.token&&this._configContextConsumer.value?.authentication?.CanUseAI&&this.messages.length===0&&this._translations.defaultStartUpMessage){let t=this._translations.defaultStartUpMessage.replace("{{name}}",this.userFirstName),n=Object.values(this._translations.defaultFollowUpQuestions),s=this._renderSolutionQuestionFollowup(n);this.messages=[{author:"ai",conversationId:"",message:t,render:this._renderSimpleTextMessage(t,"ai","","Other",void 0,s,"margin-top-0")}]}(e.has("_isLoading")||e.has("_isTyping"))&&this.renderRoot.querySelectorAll(".assistant-followup-chip").forEach(t=>{let n=this._isLoading||this._isTyping;t.disabled=n,t.tabIndex=n?-1:0})}updated(e){(e.size||this._isLoading)&&this._scrollToBottom()}_renderFeedback(e,t,n,s){let a=Date.now();return m`
|
|
63
63
|
<div>
|
|
64
64
|
<calcite-button
|
|
65
65
|
appearance='transparent'
|
|
@@ -103,16 +103,16 @@ Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error
|
|
|
103
103
|
<span>${this._translations.tooltips.copyButton}</span>
|
|
104
104
|
</calcite-tooltip>
|
|
105
105
|
</div>
|
|
106
|
-
`}_renderSolutionQuestionReferences(e){return
|
|
107
|
-
${e.map(t=>
|
|
106
|
+
`}_renderSolutionQuestionReferences(e){return m`
|
|
107
|
+
${e.map(t=>m`
|
|
108
108
|
<div class='message-content-pad'>
|
|
109
109
|
<a href=${t.url} target='_blank'>
|
|
110
110
|
${t.title}
|
|
111
111
|
</a>
|
|
112
112
|
</div>
|
|
113
113
|
`)}
|
|
114
|
-
`}_renderSolutionQuestionFollowup(e){return
|
|
115
|
-
${e.map(t=>
|
|
114
|
+
`}_renderSolutionQuestionFollowup(e){return m`
|
|
115
|
+
${e.map(t=>m`
|
|
116
116
|
<calcite-chip
|
|
117
117
|
class='chip-content cursor-pointer assistant-followup-chip'
|
|
118
118
|
kind='brand'
|
|
@@ -124,7 +124,7 @@ Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error
|
|
|
124
124
|
${t}
|
|
125
125
|
</calcite-chip>
|
|
126
126
|
`)}
|
|
127
|
-
`}_renderSolutionsQuestionTable(e,t){let n=this._renderSolutionQuestionReferences(e),s=this._renderSolutionQuestionFollowup(t);return
|
|
127
|
+
`}_renderSolutionsQuestionTable(e,t){let n=this._renderSolutionQuestionReferences(e),s=this._renderSolutionQuestionFollowup(t);return m`
|
|
128
128
|
<div slot='description' class='message-content'>
|
|
129
129
|
<div style='display: flex; justify-content: flex-start;'>
|
|
130
130
|
<calcite-button
|
|
@@ -146,7 +146,7 @@ Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error
|
|
|
146
146
|
<div class='padding-top-10'>
|
|
147
147
|
${s}
|
|
148
148
|
</div>
|
|
149
|
-
`}_renderSolutionCard(e){return
|
|
149
|
+
`}_renderSolutionCard(e){return m`
|
|
150
150
|
<a
|
|
151
151
|
class='solution-card'
|
|
152
152
|
id='${e.id}'
|
|
@@ -167,8 +167,8 @@ Please report this to https://github.com/markedjs/marked.`,i){let n="<p>An error
|
|
|
167
167
|
<span slot='description' class='solution-snippet'>${e.snippet}</span>
|
|
168
168
|
</calcite-card>
|
|
169
169
|
</a>
|
|
170
|
-
`}_renderResponseBlock(e,t,n,s){return
|
|
170
|
+
`}_renderResponseBlock(e,t,n,s){return m`<calcite-card id=${s??X} class="system-message display-none">${e}${t}${n}</calcite-card>`}_renderSimpleTextMessage(e,t,n,s,a,r,l){let o=this.messages.length>=2?this._getMostRecentQuestion():"",h=typeof o=="string"?"":o?.message??"";return t==="system"?m`<div class="message-content message-content-alignment">${a&&m`<calcite-icon .icon=${a}></calcite-icon>`||""}${e}</div>`:m`<calcite-card class=${W(t==="human"?"user-message":"system-message")}><div class=${W(l?`${l} message-content`:"message-content")}>${J(e)}${r}${t==="ai"&&n!==""&&this._renderFeedback(e,h,n,s)||""}</div></calcite-card>`}_renderSuggestedSolutions(e){let t=e.map(n=>this._renderSolutionCard(n));return m`
|
|
171
171
|
<div class='message-content'>
|
|
172
172
|
${t}
|
|
173
173
|
</div>
|
|
174
|
-
`}_renderNoSign(){return
|
|
174
|
+
`}_renderNoSign(){return m`<calcite-notice open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage??X} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`}_renderNoPermission(){return m`<calcite-notice open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${J(this._translations.noPermissionMessage.replace("{{orgUrl}}",Lt).replace("{{configAI}}",Pt))}</div></calcite-notice>`}render(){return m`<calcite-dialog class="chat-panel" .open=${this.open} .heading=${this._translations.solutionAssistantTitle} placement=bottom-start @calciteDialogClose=${()=>{this.closeAssistant.emit(!0),this.open=!1}}><span class="chat-panel-heading" slot=header-content><span class="padding-right-8">${this._translations.solutionAssistantTitle}</span><calcite-chip .label=${this._translations.betaTag} .value=${this._translations.betaTag}>${this._translations.betaTag}</calcite-chip></span>${this.messages.length>1?m`<calcite-button appearance=transparent class="icon-color-background" .disabled=${!!this._isLoading||this._isTyping} id=newChatButton icon-end=speech-bubble-plus kind=neutral label="New conversation" @click=${this.resetChat} scale=l slot=header-actions-end></calcite-button><calcite-tooltip placement=bottom reference-element=newChatButton><span>${this._translations.tooltips.newConversation}</span></calcite-tooltip>`:""}<div class="chat-messages" ${G(this._setMessageContainerRef)}>${this.messages.map(e=>e.render)}${this._isLoading&&m`<calcite-card class="loader-message"><div class="message-content display-flex-row"><calcite-loader .label=${this._isLoadingText} inline scale=s></calcite-loader>${this._isLoadingText!=""&&m`<div class="padding-left-10">${this._isLoadingText}</div>`||""}</div></calcite-card>`||""}${this._chatContainer&&!this._isAtBottom(this._chatContainer)&&!this._isAutoScroll&&m`<calcite-fab icon=arrow-down @click=${()=>{this._isAutoScroll=!0,this._scrollToBottom(),setTimeout(()=>{this.requestUpdate()},100)}} scale=m></calcite-fab>`||""}${this._configContextConsumer.value?.userSession?.token?this._configContextConsumer.value?.authentication?.CanUseAI?"":this._renderNoPermission():this._renderNoSign()}</div><div slot=footer class="width-100"><div class="chat-input"><calcite-text-area .disabled=${!this._configContextConsumer.value?.userSession?.token||!this._configContextConsumer.value?.authentication?.CanUseAI} resize=none rows=3 .placeholder=${this._translations.sendMessage} value ${G(this._setInputRef)}></calcite-text-area><calcite-button appearance=outline .disabled=${!!this._isLoading||this._isTyping||!this._configContextConsumer.value?.userSession?.token||!this._configContextConsumer.value?.authentication?.CanUseAI} icon-start=send id=sendQuestion kind=neutral icon-flip-rtl=start @click=${()=>{this._inputRef&&(this.handleSendMessage(this._inputRef.value.trim()),this._inputRef.value="")}} @keydown=${e=>Q(e,()=>{this._inputRef&&(this.handleSendMessage(this._inputRef.value.trim()),this._inputRef.value="")})}></calcite-button><calcite-tooltip placement=bottom reference-element=sendQuestion><span>${this._translations.tooltips.sendQuestion}</span></calcite-tooltip></div><div class="disclaimer-div padding-top-10" slot=footer><calcite-icon icon=information scale=s></calcite-icon>${this._translations.disclaimerMessage}<a href=https://links.esri.com/solutions/security-concern target=_blank>${this._translations.reportConcern}</a></div></div></calcite-dialog>`}_scrollToBottom(){this._chatContainer&&this._isAutoScroll&&setTimeout(()=>{this._chatContainer&&(this._chatContainer.scrollTop=this._chatContainer.scrollHeight)},100)}_emitItemIdFromAI(e){let t=new CustomEvent("solutionIDFromAssistant",{detail:e,bubbles:!0,composed:!0});window.dispatchEvent(t)}_submitFollowupQuestion(e){let t=new CustomEvent("submitQuestion",{detail:e,bubbles:!0,composed:!0});window.dispatchEvent(t)}_getMostRecentQuestion(){return[...this.messages].reverse().find(e=>e.author==="human")||null}_sendFeedback(e,t,n,s,a){let r=`https://survey123.arcgis.com/share/6e349a50b4504ca6b6107216d568db5f?field:_source=${encodeURIComponent("Solutions Assistant")}&field:user_evaluation=${encodeURIComponent(n)}&field:question=${encodeURIComponent(t)}&field:answer=${encodeURIComponent(e)}&field:context=${encodeURIComponent(JSON.stringify({intent:a}))}&field:conversation_id=${encodeURIComponent(s)}&field:version=${encodeURIComponent("v1")}`;window.open(r,"_blank")}_copyResponseToClipboard(e,t){navigator.clipboard.writeText(e);let n=t.currentTarget;n.iconStart="check",setTimeout(()=>{n.iconStart="copy"},3e3)}_startTypeWriter(e,t,n,s,a){if(t.length>0){e.setText(t);let r=async()=>{e.updateDisplayText();let l=e.getText(),o=await k.parse(l);n.innerHTML=o.replace(/<a\s+/g,'<a target="_blank" '),l.length<this._currentResponse.length?(this._scrollToBottom(),setTimeout(r,5)):(this._isTyping=!1,this._isAutoScroll=!1,s.classList.remove("display-none"),a.classList.remove("display-none"))};r()}}_showCardById(e){let t=this.renderRoot.querySelector(`#${e}`);t&&t.classList.remove("display-none")}_isAtBottom(e){return e.scrollTop+e.clientHeight>=e.scrollHeight-5}async _loadUserFirstName(){try{let e=await this._configContextConsumer.value?.userSession?.getUser();if(e?.fullName){let t=e.fullName.split(" ")[0];this.userFirstName=t}}catch{}}_getAIServiceUrl(){if(this._configContextConsumer.value){let e=this._configContextConsumer.value;e.authentication&&e.authentication?.Portal&&e.authentication?.Portal.helperServices.aiAssistantServices&&(this.serverRoot=e.authentication?.Portal.helperServices.aiAssistantServices.url)}}};xe("arcgis-solutions-assistant",te);return te},a)
|