import{r as t,c as o,h as e,a as n,g as a}from"./p-c18ee3cd.js";import{c as i}from"./p-c608c6dc.js";import{e as l}from"./p-dc2600db.js";let r=0;const s=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=r++;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(){return e(n,null,this.styles&&e("style",null,this.styles),e("div",{class:this.getCssClassMap(),part:i("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("scale-icon-navigation-collapse-down",{size:16,decorative:!0,class:"collapsible__icon",part:i("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("scale-icon-navigation-collapse-down",{size:16,decorative:!0,class:"collapsible__icon collapsible__icon-right",part:i("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 i("collapsible",this.expanded&&"collapsible--expanded")}get hostElement(){return a(this)}};s.style=":host{--spacing-y:var(--telekom-spacing-unit-x4);--font-size-button:var(--telekom-typography-font-size-callout);--font-weight-button:var(--telekom-typography-font-weight-extra-bold);--line-height-button:var(--telekom-typography-line-spacing-standard);--border-width-button:var(--telekom-spacing-unit-x05);--radius-button:var(--telekom-radius-small);--spacing-left-button:var(--telekom-spacing-unit-x1);--spacing-left-button-text:var(--telekom-spacing-unit-x2);--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:var(--telekom-color-ui-state-fill-hovered);--border-color-button-focus:var(--telekom-color-functional-focus);--spacing-top-icon:calc(var(--telekom-spacing-unit-x1) + 1px);--spacing-right-content:var(--telekom-spacing-unit-x12);--spacing-left-content:var(--telekom-spacing-unit-x8);--spacing-top-content:var(--telekom-spacing-unit-x4);--spacing-bottom-content:var(--telekom-spacing-unit-x6)}.collapsible{position:relative;margin:var(--spacing-y) 0}.collapsible--expanded:before{top:0;left:0;right:0;width:100%;border:var(--telekom-spacing-unit-x025) 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:flex-start;padding-top:0;border-color:transparent;border-style:solid;padding-right:0;padding-bottom:0;background-color:transparent;font-size:var(--font-size-button);font-weight:var(--font-weight-button);line-height:var(--line-height-button);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:none;border-color:var(--border-color-button-focus)}.collapsible__icon{transform:rotate(0.75turn);flex-shrink:0;margin-top:var(--spacing-top-icon)}.collapsible__icon-right{margin-left:auto}.collapsible__button[aria-expanded='true'] .collapsible__icon{transform:none}.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)}";export{s as scale_collapsible}