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> ); }, );