import{r as e,c as t,a as r,h as s}from"./p-wX3eJOEL.js";import{i}from"./p-CtINY9El.js";import{d as o,t as a}from"./p-DNHOWgWh.js";const l=class{constructor(r){e(this,r),this.ifxChange=t(this,"ifxChange",7)}get el(){return r(this)}ifxChange;caption="";label="";size="regular";required=!1;error=!1;onSegmentSelect(e){const{previousValue:t,selectedValue:r}=this.unselectPreviousSegment(e.detail);this.selectedValue=r,this.ifxChange.emit({previousValue:t,selectedValue:r})}selectedValue="";unselectPreviousSegment(e){let t,r;return this.getSegments().forEach((s=>{s.selected&&(s.segmentIndex!==e?(s.selected=!1,t=s.value):r=s.value)})),{previousValue:t,selectedValue:r}}getSegments(){return this.el.querySelectorAll("ifx-segment")}setActiveSegment(){const e=this.getSegments();let t=!1;e.forEach(((e,r)=>{e.segmentIndex=r,t?e.selected&&(e.selected=!1):e.selected&&(t=!0,this.selectedValue=e.value)}))}setSegmentSize(){this.getSegments().forEach((e=>{e.shadowRoot.querySelector(".segment").classList.add(`segment--${this.size}`)}))}async componentDidLoad(){if(!i(this.el)){const e=o();a("ifx-segmented-control",await e)}this.setActiveSegment()}render(){return s("div",{key:"2f1d91daf15a367b18fcef6ff72c142dab8c9b98","aria-value":this.selectedValue,"aria-label":"segmented control",class:"group"},s("div",{key:"992df80e17f0631903a242649ff6f219f66f0d2d",class:"group__label"},this.label.trim(),this.required&&""!==this.label.trim().toLowerCase()&&s("span",{key:"97d41b8045eb735aed381db27ccbbbb08a82ac33",class:"required "+(this.error?"error":"")},"*")),s("div",{key:"f104d35a4ce0d994b016113f3b498e417b7323bc",class:"group__controls"},s("slot",{key:"9f96d3cb140ef0a43aa4ef30677261373dd7907b"})),this.caption.trim()&&s("div",{key:"896da68b262a2cf1d362477d29a29276816dcfd4",class:"group__caption "+(this.error?"error":"")},s("ifx-icon",{key:"391a3b6f37db6021e407fa68dcf9fedebd61533f",icon:"c-info-16"})," ",this.caption.trim()))}componentDidRender(){this.setSegmentSize()}};l.style=".group{display:flex;flex-direction:column;justify-content:space-between}.group__label{font-size:1rem;color:#1D1D1D;line-height:1.5rem;font-weight:400}.group__label:empty{display:none}.group__label .required{color:#575352;margin-left:4px}.group__label .required.error{color:#CD002F}.group__controls{display:flex;flex-wrap:wrap}.group__controls ::slotted(*){margin-left:-1px;margin-top:-1px}.group__caption{margin-top:4px;display:flex;align-items:center;gap:8px;font-weight:400;font-size:0.75rem;line-height:1rem}.group__caption.error{color:#CD002F}";export{l as ifx_segmented_control}