/*! 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 f from"./E5V5AKTV.js";import{a as w}from"./VK24LKXI.js";import{a as s}from"./LL7T22QC.js";import b from"./Y4DAIYBP.js";import a from"./DTE4O2DP.js";import{e as u}from"./LYMDZ73M.js";import"./MG6XDMQJ.js";import"./HITJFSBP.js";import{B as d,E as m,P as g,Q as c,U as p,a as n,j as h,k as e}from"./3VKC6PRK.js";export default $geoscene.t(([k,,{a:y},b])=>{var L=h`@layer{geoscene-link-chart-layout-switcher{display:block}}`,v={basicLayoutCategory:["basic-grid"],organicLayoutCategory:["organic-standard","organic-community","geographic-organic-standard"],treeLayoutCategory:["tree-left-to-right","radial-root-centric"],hierarchicalLayoutCategory:["hierarchical-bottom-to-top"],chronologicalLayoutCategory:["chronological-mono-timeline","chronological-multi-timeline"]},f={"organic-standard":"force-directed-link-chart-layout","organic-community":"community-link-chart-layout","basic-grid":"simple-link-chart-layout","hierarchical-bottom-to-top":"hierarchical-link-chart-layout","radial-root-centric":"radial-tree-link-chart-layout","tree-left-to-right":"smart-tree-link-chart-layout","geographic-organic-standard":"geographic-link-chart-layout","chronological-mono-timeline":"single-timeline","chronological-multi-timeline":"multi-timeline"},$={"organic-standard":"forceDirected","organic-community":"community","basic-grid":"simple","hierarchical-bottom-to-top":"hierarchical","radial-root-centric":"radialTree","tree-left-to-right":"smartTree","geographic-organic-standard":"geographic","chronological-mono-timeline":"chronologicalSingle","chronological-multi-timeline":"chronologicalMultiple"},M={base:"geoscene-link-chart-layout-switcher"},D=b(k),l=class extends g{constructor(){super(...arguments),this.messages=w(),this.viewModel=D(this),this.appearance="dropdown",this.autoDestroyDisabled=!1,this.closeOnSelectDisabled=!1,this.icon="nodes-link",this.layout=this.viewModel.layout,this.position="top-left",this.preventExtentUpdate=this.viewModel.preventExtentUpdate,this.state=this.viewModel.state,this.geosceneSwitchLayout=y(()=>this.viewModel,"switchLayout"),this.geoscenePropertyChange=u()("state"),this.geosceneReady=d()}static{this.properties={appearance:1,autoDestroyDisabled:5,closeOnSelectDisabled:5,icon:1,label:1,layout:32,messageOverrides:0,position:3,preventExtentUpdate:5,referenceElement:1,state:3}}static{this.shadowRootOptions=m}static{this.styles=L}async destroy(){await this.manager.destroy()}async switchLayout(t){this.viewModel.switchLayout(t)}_renderDropdown(){let{messages:t,icon:a}=this;return e`<calcite-dropdown scale=s width=m max-items=9 .closeOnSelectDisabled=${this.closeOnSelectDisabled}><calcite-button class=${c(s.widgetButton)} slot=trigger kind=neutral .disabled=${this.viewModel.state==="disabled"} .iconStart=${a??void 0} .label=${t.layoutOptions??"Layout"}></calcite-button>${Object.entries(v).map(([r,i])=>e`<calcite-dropdown-group selection-mode=single .groupTitle=${this.messages[r]}>${i.map(o=>e`<calcite-dropdown-item .iconStart=${f[o]} .selected=${o===this.layout?!0:void 0} @click=${()=>void this.switchLayout(o)}>${t[$[o]]}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}</calcite-dropdown>`}_renderMenuBar(){let{messages:t}=this;return e`<calcite-action-bar scale=s floating overflow-actions-disabled>${Object.entries(v).map(([a,r])=>e`<calcite-action-group .label=${this.messages[a]}>${r.map(i=>e`<calcite-action scale=s .icon=${f[i]} .active=${i===this.layout?!0:void 0} @click=${()=>void this.switchLayout(i)} .text=${t[$[i]]}></calcite-action>`)}</calcite-action-group>`)}</calcite-action-bar>`}render(){let{appearance:t}=this,a=t==="menu-bar"?this._renderMenuBar():this._renderDropdown();return e`<div class=${c(n(M.base,s.widget))}>${a}</div>`}};p("geoscene-link-chart-layout-switcher",l);return l},"widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel",a,b,f)