mirror of
https://github.com/ershisan99/DevToysWeb.git
synced 2025-12-16 20:49:23 +00:00
31 lines
775 B
TypeScript
31 lines
775 B
TypeScript
import { Button, ButtonProps } from "@/components/ui/button";
|
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
|
|
|
|
export type BaseProps = ButtonProps & {
|
|
icon: React.ReactNode;
|
|
iconOnly?: true;
|
|
labelText: string;
|
|
};
|
|
|
|
export function Base({ icon, iconOnly, labelText, ...props }: BaseProps) {
|
|
const button = (
|
|
<Button className="w-fit border" {...props}>
|
|
{icon}
|
|
{!iconOnly && <span className="ml-1">{labelText}</span>}
|
|
</Button>
|
|
);
|
|
|
|
return iconOnly ? (
|
|
<TooltipProvider>
|
|
<Tooltip>
|
|
<TooltipTrigger asChild>{button}</TooltipTrigger>
|
|
<TooltipContent>
|
|
<p>{labelText}</p>
|
|
</TooltipContent>
|
|
</Tooltip>
|
|
</TooltipProvider>
|
|
) : (
|
|
button
|
|
);
|
|
}
|