plane/apps/app/ui/HeaderButton/index.tsx

41 lines
912 B
TypeScript
Raw Normal View History

2022-11-19 14:21:26 +00:00
type HeaderButtonProps = {
Icon: (
props: React.SVGProps<SVGSVGElement> & {
title?: string | undefined;
titleId?: string | undefined;
}
) => JSX.Element;
label: string;
disabled?: boolean;
onClick: () => void;
className?: string;
position?: "normal" | "reverse";
2022-11-19 14:21:26 +00:00
};
const HeaderButton = ({
Icon,
label,
disabled = false,
onClick,
className = "",
position = "normal",
}: HeaderButtonProps) => {
2022-11-19 14:21:26 +00:00
return (
<>
<button
type="button"
className={`bg-theme text-white border border-indigo-600 text-xs flex items-center gap-x-1 p-2 rounded-md font-medium whitespace-nowrap outline-none ${
position === "reverse" && "flex-row-reverse"
} ${className}`}
disabled={disabled}
onClick={onClick}
2022-11-19 14:21:26 +00:00
>
<Icon className="h-4 w-4" />
{label}
</button>
</>
);
};
export default HeaderButton;