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