import{r as t,c as o,h as e,a as i,g as a}from"./p-d52b3602.js";import{c as n}from"./p-c608c6dc.js";import{e as l}from"./p-086c9d13.js";let s=0;const r=class{constructor(e){t(this,e),this.scaleExpand=o(this,"scale-expand",7),this.scaleExpandLegacy=o(this,"scaleExpand",7),this.headingLevel=2,this.iconLocation="left",this.handleClick=()=>{this.expanded=!this.expanded,l(this,"scaleExpand",{expanded:this.expanded})}}componentWillLoad(){const t=s++;this.headingId="collapsable-heading-"+t,this.panelId="collapsable-panel-"+t}componentDidLoad(){this.setHeadingFromLightDOM()}setHeadingFromLightDOM(){const t=this.hostElement.querySelector(":first-child");if(null==t)return;const o="H"===t.tagName.charAt(0).toUpperCase(),e=t.hasAttribute("slot");o&&!e&&(this.headingElement.innerHTML=t.innerHTML,t.style.display="none")}render(){const t=this.expanded?"scale-icon-navigation-collapse-down":"scale-icon-navigation-right";return e(i,null,this.styles&&e("style",null,this.styles),e("div",{class:this.getCssClassMap(),part:n("base",this.expanded&&"expanded")},e("h2",{"aria-level":this.headingLevel,class:"collapsible__heading",part:"heading"},e("button",{id:this.headingId,class:"collapsible__button",part:"button",onClick:this.handleClick,"aria-expanded":this.expanded?"true":"false","aria-controls":this.panelId},"left"===this.iconLocation?e(t,{size:24,decorative:!0,class:"collapsible__icon",part:n("icon",this.expanded&&"expanded")}):null,e("span",{ref:t=>this.headingElement=t,class:"collapsible__button-text",part:"button-text"},e("slot",{name:"heading"})),"right"===this.iconLocation?e(t,{size:24,decorative:!0,class:"collapsible__icon collapsible__icon-right",part:n("icon",this.expanded&&"expanded")}):null)),e("div",{id:this.panelId,role:"region","aria-labelledby":this.headingId,hidden:!this.expanded,class:"collapsible__content",part:"content"},e("slot",null))))}getCssClassMap(){return n("collapsible",this.expanded&&"collapsible--expanded")}get hostElement(){return a(this)}};r.style=":host{--spacing-y:var(--telekom-spacing-composition-space-06);--font:var(--telekom-text-style-heading-5);--border-width-button:var(--telekom-spacing-composition-space-02);--radius-button:var(--telekom-radius-small);--spacing-left-button:0;--spacing-left-button-text:var(--telekom-spacing-composition-space-04);--color-button-hover:var(--telekom-color-text-and-icon-primary-hovered);--color-button-active:var(--telekom-color-text-and-icon-primary-pressed);--background-button-hover:none;--focus-outline:var(--telekom-line-weight-highlight) solid\n    var(--telekom-color-functional-focus-standard);--spacing-right-content:var(--telekom-spacing-composition-space-14);--spacing-left-content:34px;--spacing-top-content:var(--telekom-spacing-composition-space-06);--spacing-bottom-content:var(--telekom-spacing-composition-space-08)}.collapsible{position:relative;margin:var(--spacing-y) 0}.collapsible--expanded:before{top:0;left:0;right:0;width:100%;border:var(--telekom-spacing-composition-space-01) solid transparent;content:'';display:block;position:absolute;pointer-events:none;bottom:calc(-1 * var(--spacing-y))}.collapsible__heading{margin:0}.collapsible__button{color:currentColor;width:100%;display:flex;text-align:left;align-items:center;padding-top:0;border-color:transparent;border-style:solid;padding-right:0;padding-bottom:0;background-color:transparent;font:var(--font);border-width:var(--border-width-button);border-radius:var(--radius-button);padding-left:var(--spacing-left-button);font-family:inherit;word-spacing:inherit;letter-spacing:inherit}.collapsible__button-text{margin-left:var(--spacing-left-button-text)}.collapsible__button:hover{cursor:pointer;color:var(--color-button-hover);background-color:var(--background-button-hover)}.collapsible__button:active{color:var(--color-button-active);background-color:transparent}.collapsible__button:focus{outline:var(--focus-outline)}.collapsible__icon{flex-shrink:0}.collapsible__icon-right{margin-left:auto}.collapsible__button[aria-expanded='true'] .collapsible__icon{}.collapsible__content{padding-right:var(--spacing-right-content);padding-left:var(--spacing-left-content);margin-top:var(--spacing-top-content);margin-bottom:var(--spacing-bottom-content)}::slotted(*:not([slot='heading'])){font:var(--telekom-text-style-body)}";export{r as scale_collapsible}