import{getGlobalColorStateClass as t,composeTypographyClassName as e}from"@gem-sdk/core";let getButtonClasses=({uid:g,styles:n,className:p,shouldRenderLink:o,advanced:a})=>({...p&&{[p]:!0},...g&&{[g]:!0},"gp-text-center":o,"gp-max-w-full":n?.textOverFlow||!1,"gp-scale-[1.1]":n?.animation?.normal==="grow","gp-animate-bounce":n?.animation?.normal==="bounce","hover:gp-scale-[1.1]":n?.animation?.hover==="grow","hover:gp-animate-bounce":n?.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,[t("text",n?.textColor)]:!0,[e(n?.typo,n?.typography)]:!0,...p?.includes("gp-button-atc")&&a&&{[a?.cssClass]:!0}}),getButtonWrapperClasses=(t,e,g)=>({[t]:!0,...!e?.includes("gp-button-atc")&&g&&{[g]:!0}}),getButtonContentWrapperClasses=t=>({"gp-inline-flex":!0,"gp-flex-row-reverse":t?.iconAlign==="right"&&!!t?.label}),getButtonContainerClasses=()=>({"gp-flex gp-flex-col":!0}),getButtonLabelClasses=(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}),getButtonIconClasses=(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{getButtonClasses,getButtonContainerClasses,getButtonContentWrapperClasses,getButtonIconClasses,getButtonLabelClasses,getButtonWrapperClasses};
