Spaces:
Sleeping
Sleeping
import { memo } from 'react'; | |
import { classNames } from '~/utils/classNames'; | |
interface PanelHeaderButtonProps { | |
className?: string; | |
disabledClassName?: string; | |
disabled?: boolean; | |
children: string | JSX.Element | Array<JSX.Element | string>; | |
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void; | |
} | |
export const PanelHeaderButton = memo( | |
({ className, disabledClassName, disabled = false, children, onClick }: PanelHeaderButtonProps) => { | |
return ( | |
<button | |
className={classNames( | |
'flex items-center shrink-0 gap-1.5 px-1.5 rounded-md py-0.5 text-bolt-elements-item-contentDefault bg-transparent enabled:hover:text-bolt-elements-item-contentActive enabled:hover:bg-bolt-elements-item-backgroundActive disabled:cursor-not-allowed', | |
{ | |
[classNames('opacity-30', disabledClassName)]: disabled, | |
}, | |
className, | |
)} | |
disabled={disabled} | |
onClick={(event) => { | |
if (disabled) { | |
return; | |
} | |
onClick?.(event); | |
}} | |
> | |
{children} | |
</button> | |
); | |
}, | |
); | |