import{r as t,a as o,h as n,d as i}from"./p-wX3eJOEL.js";import{c as e}from"./p-DMLRPGid.js";import{i as r}from"./p-CtINY9El.js";import{d as a,t as s}from"./p-DNHOWgWh.js";import"./p-B85MJLTf.js";const d=class{constructor(o){t(this,o)}get el(){return o(this)}variant="primary";size="m";disabled=!1;icon;updateIcon(t){this.internalIcon=t}href;target="_self";shape="round";ariaLabelText;internalIcon;focusableElement;async setFocus(){this.focusableElement.focus()}handleClick(t){this.disabled&&t.stopImmediatePropagation()}componentWillLoad(){this.internalIcon=this.icon}async componentDidLoad(){if(!r(this.el)){const t=a();s("ifx-icon-button",await t)}}render(){return n(i,{key:"f49a3ed9259acb2f9ae740cd85f81f01c88871ac","aria-disabled":this.disabled,"aria-label":this.ariaLabelText},this.href?n("a",{ref:t=>this.focusableElement=t,class:this.getClassNames(),href:this.disabled?void 0:this.href,target:this.target,rel:"_blank"===this.target?"noopener noreferrer":void 0},n("ifx-icon",{icon:this.internalIcon})):n("button",{class:this.getClassNames(),type:"button",disabled:this.disabled},n("ifx-icon",{icon:this.internalIcon})))}getVariantClass(){return"secondary"==`${this.variant}`?"secondary":"tertiary"==`${this.variant}`?"tertiary":"primary"}getSizeClass(){return["xs","s","m","l"].includes(this.size)?this.size:"m"}getClassNames(){return e("btn icon-button",`btn-${this.shape||"round"}`,`btn-${this.getSizeClass()}`,`btn-${this.getVariantClass()}`,this.disabled?"disabled":"")}static get watchers(){return{icon:[{updateIcon:0}]}}};d.style=":host{display:inline-flex}.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px;gap:8px;color:#FFFFFF;flex-direction:row;font-weight:600;border-radius:1px;line-height:1.5rem;outline:none;font-family:var(--ifx-font-family);text-decoration:none;user-select:none;border:1px solid rgba(0, 0, 0, 0);font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}.btn:not(.disabled){cursor:pointer}.btn-primary{color:#FFFFFF;background-color:#0A8276}.btn-primary:disabled,.btn-primary.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary{color:#0A8276;background-color:#FFFFFF;border-color:#0A8276}.btn-secondary:disabled,.btn-secondary.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary{background-color:transparent;color:#1D1D1D}.btn-tertiary:disabled,.btn-tertiary.disabled{color:#BFBBBB;pointer-events:none}.btn.icon-button{min-width:initial;min-height:initial;width:40px;height:40px;padding:0;justify-content:center}.btn.icon-button.btn-round{border-radius:100px}.btn.icon-button.btn-square{border-radius:1px}.btn.icon-button.btn-xs{width:20px;height:20px;padding:2px}.btn.icon-button.btn-s{width:32px;height:32px;padding:8px}.btn.icon-button.btn-m{width:40px;height:40px;padding:0}.btn.icon-button.btn-l{width:48px;height:48px;padding:8px}.btn.btn-primary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-primary:not(:disabled,.disabled):hover{background-color:#08665C;border-color:#08665C}.btn.btn-primary:not(:disabled,.disabled):active,.btn.btn-primary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#08665C;border-color:#08665C;color:#FFFFFF}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#06534B;border-color:#06534B}.btn.btn-tertiary:not(:disabled,.disabled):focus:not(:active,.active){outline:none;color:#1D1D1D;box-shadow:0 0 0 0px #FFFFFF, 0 0 0 2px #0A8276}.btn.btn-tertiary:not(:disabled,.disabled):hover{color:#0A8276}.btn.btn-tertiary:not(:disabled,.disabled):active,.btn.btn-tertiary:not(:disabled,.disabled).active{color:#08665C}";export{d as ifx_icon_button}