Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 144x 3110x | import { CommonProps } from '../../../types/buttonLinkCommonProps'
import { Icon } from '../../Icon/Icon'
/**
* Inner content of a button or link. Handles icon loading and positioning.
*/
export const InnerContent: React.FC<Pick<CommonProps, 'icon' | 'iconSlot' | 'loading' | 'children'>> = ({
icon,
iconSlot,
loading,
children,
}) => {
return (
<>
{icon &&
iconSlot === 'start' &&
(loading ? (
<Icon datacy="icon-start-loading" className={`mr-2 text-xl ${loading ? 'animate-spin' : ''}`} icon="sync" />
) : (
<Icon datacy="icon-start" className="mr-2 text-xl" icon={icon} />
))}
{children}
{icon &&
iconSlot === 'end' &&
(loading ? (
<Icon datacy="icon-end-loading" className={`ml-2 text-xl ${loading ? 'animate-spin' : ''}`} icon="sync" />
) : (
<Icon datacy="icon-end" className="ml-2 text-xl" icon={icon} />
))}
</>
)
}
|