/*! All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
See https://js.geoscene.cn/4.33/geoscene/copyright.txt for details.
v4.33.18 */
import a from"./Q7U6VVKV.js";import{a as c}from"./5VSM5EDQ.js";import"./LYMDZ73M.js";import"./MG6XDMQJ.js";import{P as i,U as l,j as s,k as t}from"./3VKC6PRK.js";export default $geoscene.t(([{watch:r},{g:o}])=>{var p=s`calcite-tab{--calcite-tab-content-block-padding: 0}calcite-loader{margin-right:var(--calcite-spacing-xxs)}`,a=class extends i{constructor(){super(...arguments),this._prevLayoutTemplateId=null,this._handles=c("disconnect"),this._selectedTab="layout",this._hasPendingExport=!1}static{this.properties={_selectedTab:16,_hasPendingExport:16,saveAsButtonCallback:0,viewModel:0,messages:0,showTemplateSelector:0,allowedFormatsForSaving:1}}static{this.styles=p}loaded(){this.manager.onLifecycle(()=>[this.viewModel.exportedLinks.on("change",()=>{this._handles.removeHandles("pending-exports"),this._handles.addHandles(this.viewModel.exportedLinks.toArray().map(e=>r(()=>e.state,()=>this.requestUpdate(),{initial:!0})),"pending-exports")})])}async _layoutTabChangeHandler(){let e=(this._prevLayoutTemplateId?this.viewModel.getLayoutTemplateById(this._prevLayoutTemplateId):null)??this.viewModel.defaultTemplate;await this.viewModel.applyTemplate(e),this._prevLayoutTemplateId=e?.id,this._selectedTab="layout"}async _mapOnlyTabChangeHandler(){this._updatePrevLayoutTemplateId(),await this.viewModel.applyTemplate("map-only"),this._selectedTab="map-only"}async _exportsTabChangeHandler(){this._updatePrevLayoutTemplateId(),this._selectedTab="exports"}_selectExportsTab(){this._updatePrevLayoutTemplateId(),this._selectedTab="exports"}_updatePrevLayoutTemplateId(){!o(this.viewModel.templateOptions.layout)&&this.viewModel.templateOptions.id&&(this._prevLayoutTemplateId=this.viewModel.templateOptions.id)}render(){let e=this.viewModel.exportedLinks.some(({state:n})=>n==="pending");return t`<div><calcite-tabs layout=center bordered><calcite-tab-nav slot=title-group><calcite-tab-title @calciteTabsActivate=${this._layoutTabChangeHandler} .selected=${this._selectedTab==="layout"}>${this.messages.layoutTab}</calcite-tab-title><calcite-tab-title @calciteTabsActivate=${this._mapOnlyTabChangeHandler} .selected=${this._selectedTab==="map-only"}>${this.messages.mapOnlyTab}</calcite-tab-title><calcite-tab-title @calciteTabsActivate=${this._exportsTabChangeHandler} .selected=${this._selectedTab==="exports"}>${e?t`<calcite-loader inline label=loading scale=s></calcite-loader>`:null}${this.messages.exportsTab}</calcite-tab-title></calcite-tab-nav><calcite-tab selected><geoscene-print-layout-panel .messages=${this.messages} .viewModel=${this.viewModel} .showTemplateSelector=${this.showTemplateSelector} .selectExportsTab=${this._selectExportsTab.bind(this)}></geoscene-print-layout-panel></calcite-tab><calcite-tab><geoscene-print-map-only-panel .messages=${this.messages} .viewModel=${this.viewModel} .selectExportsTab=${this._selectExportsTab.bind(this)}></geoscene-print-map-only-panel></calcite-tab><calcite-tab><geoscene-print-exports-panel .messages=${this.messages} .viewModel=${this.viewModel} .allowedFormatsForSaving=${this.allowedFormatsForSaving} .saveAsButtonCallback=${this.saveAsButtonCallback}></geoscene-print-exports-panel></calcite-tab></calcite-tabs></div>`}};l("geoscene-print-main-panel",a);return a},"core/reactiveUtils",a)