import React, { type HTMLAttributes } from 'react' import classNames from 'classnames' import { VisuallyHidden } from '~components/VisuallyHidden' import { type ButtonProps } from '../../Button' import styles from './ButtonContent.module.css' type ButtonContentProps = { size?: ButtonProps['size'] icon?: ButtonProps['icon'] iconPosition?: ButtonProps['iconPosition'] hasHiddenLabel?: ButtonProps['hasHiddenLabel'] } & HTMLAttributes /** Renders the inner content of the button, handling icon and label visibility */ export const ButtonContent = ({ children, hasHiddenLabel, size = 'medium', icon, iconPosition = 'start', className, ...restProps }: ButtonContentProps): JSX.Element => ( {icon && iconPosition === 'start' && {icon}} {hasHiddenLabel ? ( {children} ) : ( {children} )} {icon && iconPosition === 'end' && {icon}} )