import{composeTypographyClassName as t,getGlobalColorStateClass as e}from"@gem-sdk/core";let g=({uid:g,styles:p,className:n,shouldRenderLink:o,advanced:a})=>({...n&&{[n]:!0},...g&&{[g]:!0},"gp-text-center":o,"gp-max-w-full":p?.textOverFlow||!1,"gp-scale-[1.1]":p?.animation?.normal==="grow","gp-animate-bounce":p?.animation?.normal==="bounce","hover:gp-scale-[1.1]":p?.animation?.hover==="grow","hover:gp-animate-bounce":p?.animation?.hover==="bounce","gp-button-base gp-group gp-relative gp-inline-flex gp-max-w-full gp-items-center gp-justify-center gp-no-underline gp-transition-colors gp-duration-200 disabled:gp-btn-disabled disabled:gp-opacity-30":!0,[e("text",p?.textColor)]:!0,[t(p?.typo,p?.typography)]:!0,...n?.includes("gp-button-atc")&&a&&{[a?.cssClass]:!0}}),p=(t,e,g)=>({[t]:!0,...!e?.includes("gp-button-atc")&&g&&{[g]:!0}}),n=t=>({"gp-inline-flex":!0,"gp-flex-row-reverse":t?.iconAlign==="right"&&!!t?.label}),o=()=>({"gp-flex gp-flex-col":!0}),a=(t,e)=>({"gp-content-product-button group-active/button:!gp-text-inherit gp-relative gp-flex gp-h-full gp-items-center gp-overflow-hidden gp-break-words group-data-[state=loading]:gp-invisible [&_p]:gp-whitespace-pre-line":!0,"[&:not(:has(p))]:gp-pr-[0.2em] [&_p]:[&:has(p)]:gp-pr-[0.2em]":t?.typo?.attrs?.italic,"gp-text button-text":e}),i=(t,e,g)=>({"!gp-m-0":e&&!t||!g,"gp-button-icon gp-z-1 gp-inline-flex gp-shrink-0 gp-items-center gp-justify-center group-data-[state=loading]:gp-invisible [&>svg]:!gp-h-[var(--height-desktop)] [&>svg]:!gp-w-auto tablet:[&>svg]:!gp-h-[var(--height-tablet)] mobile:[&>svg]:!gp-h-[var(--height-mobile)]":!0});export{g as getButtonClasses,o as getButtonContainerClasses,n as getButtonContentWrapperClasses,i as getButtonIconClasses,a as getButtonLabelClasses,p as getButtonWrapperClasses};
