import{a as s}from"./config.B4FKKqOZ.js";const i={profile:"../components/widget/Profile.astro",announcement:"../components/widget/Announcement.astro",categories:"../components/widget/Categories.astro",tags:"../components/widget/Tags.astro",toc:"../components/widget/TOC.astro","music-player":"../components/widget/MusicPlayer.svelte",custom:null};class a{config;enabledComponents;constructor(e=s){this.config=e,this.enabledComponents=this.getEnabledComponents()}getEnabledComponents(){return this.config.components.filter(e=>e.enable).sort((e,n)=>e.order-n.order)}getComponentsByPosition(e){return this.enabledComponents.filter(n=>n.position===e)}getAnimationDelay(e,n){return e.animationDelay!==void 0?e.animationDelay:this.config.defaultAnimation.enable?this.config.defaultAnimation.baseDelay+n*this.config.defaultAnimation.increment:0}getComponentClass(e,n){const t=[];return e.class&&t.push(e.class),e.responsive?.hidden&&e.responsive.hidden.forEach(o=>{switch(o){case"mobile":t.push("hidden","md:block");break;case"tablet":t.push("md:hidden","lg:block");break;case"desktop":t.push("lg:hidden");break}}),t.join(" ")}getComponentStyle(e,n){const t=[];e.style&&t.push(e.style);const o=this.getAnimationDelay(e,n);return o>0&&t.push(`animation-delay: ${o}ms`),t.join("; ")}isCollapsed(e,n){return e.responsive?.collapseThreshold?n>=e.responsive.collapseThreshold:!1}getComponentPath(e){return i[e]}shouldShowSidebar(e){return this.config.enable?this.config.responsive.layout[e]==="sidebar":!1}getBreakpoints(){return this.config.responsive.breakpoints}updateConfig(e){this.config={...this.config,...e},this.enabledComponents=this.getEnabledComponents()}addComponent(e){this.config.components.push(e),this.enabledComponents=this.getEnabledComponents()}removeComponent(e){this.config.components=this.config.components.filter(n=>n.type!==e),this.enabledComponents=this.getEnabledComponents()}toggleComponent(e,n){const t=this.config.components.find(o=>o.type===e);t&&(t.enable=n,this.enabledComponents=this.getEnabledComponents())}reorderComponent(e,n){const t=this.config.components.find(o=>o.type===e);t&&(t.order=n,this.enabledComponents=this.getEnabledComponents())}}const d=new a;export{d as w};