/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
import a from"./LMNWYSI3.js";import{d as g}from"./IJQZON2Z.js";import{O as m,P as f,R as x,U as h,a as p,b as r}from"./IXZEUVT2.js";import"./H6RQVSYM.js";export default $arcgis.t(([{addProxy:k},{a:v}])=>{var u=(n,e,i=!1)=>{if(!n||!e)return!1;let t=new URL(n),s=new URL(e);return!i&&t.protocol!==s.protocol||t.host==null||s.host==null?!1:t.host.toLowerCase()===s.host.toLowerCase()&&t.port===s.port};var $=p`.export-section{padding:var(--calcite-spacing-xxs)}.export-section-centered{text-align:center}.exported-files-empty{display:flex;flex-direction:column;align-items:center;padding:var(--calcite-spacing-lg) var(--calcite-spacing-sm);font-size:small}.exported-files-title{font-weight:700;font-size:var(--calcite-font-size)}.exported-file{display:flex;align-items:center;justify-content:space-between}.exported-file-link-title,.exported-file-link-description{word-wrap:break-word;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}`;function L(n){let{state:e,extension:i}=n;switch(e){case"pending":return"spinner";case"error":return"exclamation-mark-circle";default:return i?.toLowerCase()?.includes("pdf")?"file-pdf":"file"}}var l=class extends m{constructor(){super(...arguments),this._handleLinkClick=e=>{if(e?.state!=="ready"||!e.url)return;let i=e.url,t=document.createElement("a");t.target="_blank",t.href=i,t.rel="noreferrer",t.download=e.formattedName??"";{t.click();return}}}static{this.properties={showSaveAs:5,viewModel:0,messages:0,allowedFormatsForSaving:1,arcgisSaveAs:0}}static{this.styles=$}loaded(){this.manager.onLifecycle(()=>[this.viewModel.exportedLinks.on("change",()=>this.requestUpdate())])}render(){let e=this.viewModel.exportedLinks,i={"export-section-centered":!e.length};return r`<section class=${f(g("export-section",i))}>${e.length===0?r`<div class="exported-files-empty"><calcite-icon icon=file scale=l></calcite-icon><div><p class="exported-files-title">${this.messages.noExportedFiles}</p><div>${this.messages.exportHint}</div></div></div>`:r`<calcite-list .filterEnabled=${e.length>10} .label=${this.messages.exportedLinksList} selection-mode=none>${e.map(t=>r`<calcite-list-item .label=${t.formattedName??""}>${this._renderExportedLinkItemContent(t)}${this._renderExportedLinkItemIcon(t)}${this._renderExportedLinkItemAction(t)}</calcite-list-item><arcgis-print-exports-panel-item-popover .allowedFormatsForSaving=${this.allowedFormatsForSaving} .arcgisSaveAs=${this.arcgisSaveAs} .exportedLink=${t} .messages=${this.messages} .showSaveAs=${this.showSaveAs} .viewModel=${this.viewModel}></arcgis-print-exports-panel-item-popover>`)}</calcite-list>`}</section>`}_renderExportedLinkItemContent(e){let i=this.messages,{url:t,state:s,error:o}=e,c=e.formattedName??"",a=t||null;a&&(a=k(a));let d=u(a,document.location.href),w=s==="error"?o?.name==="print-task:cim-symbol-unsupported"?i.exportWebMapCIMError:i.exportWebMapError:null;return r`<div class="exported-file" slot=content @click=${()=>this._handleLinkClick(e)}><div><div class="exported-file-link-title">${c}</div><div class="exported-file-link-description">${s==="pending"?i.generatingExport:w||(d?i.ready:i.linkReady)}</div></div>${s==="ready"?r`<calcite-icon .ariaLabel=${`${c}. ${i.linkReady}`} .icon=${d?"download-to":"launch"} scale=s slot=content-end></calcite-icon>`:null}</div>`}_renderExportedLinkItemIcon(e){return e.state==="pending"?r`<calcite-loader inline .label=${this.messages.generatingExport} scale=m slot=content-start></calcite-loader>`:r`<calcite-icon .icon=${L(e)} scale=s slot=content-start></calcite-icon>`}_renderExportedLinkItemAction(e){let{state:i}=e,t=e.formattedName??"",s=this.messages,o=this.showSaveAs&&i!=="error"&&v(this.allowedFormatsForSaving,e.extension);return i!=="pending"?r`<calcite-action .icon=${o?"ellipsis":"x"} id=${(o?`${t}-popover-button`:void 0)??x} @click=${o?void 0:()=>{this.viewModel.exportedLinks.remove(e)}} slot=actions-end .text=${o?s.options:s.delete}></calcite-action>`:null}};h("arcgis-print-exports-panel",l);return l},"core/urlUtils",a)