Files
supabase/apps/studio/components/ui/ButtonTooltip.tsx
T
Joshen Lim c9458d93cf Chore/fix broken links wrappers (#30046)
* Fix broken links wrappers

* Refactor
2024-10-23 15:42:06 +08:00

31 lines
985 B
TypeScript

import { ComponentProps, ComponentPropsWithoutRef, ElementRef, forwardRef, ReactNode } from 'react'
import { Button, TooltipContent_Shadcn_, TooltipTrigger_Shadcn_, Tooltip_Shadcn_, cn } from 'ui'
export const ButtonTooltip = forwardRef<
ElementRef<typeof Button>,
ComponentPropsWithoutRef<typeof Button> & {
tooltip: {
content: ComponentProps<typeof TooltipContent_Shadcn_> & {
text?: string | ReactNode
}
}
}
>(({ ...props }, ref) => {
return (
<Tooltip_Shadcn_>
<TooltipTrigger_Shadcn_ asChild>
<Button ref={ref} {...props} className={cn(props.className, 'pointer-events-auto')}>
{props.children}
</Button>
</TooltipTrigger_Shadcn_>
{props.tooltip.content.text !== undefined && (
<TooltipContent_Shadcn_ {...props.tooltip.content}>
{props.tooltip.content.text}
</TooltipContent_Shadcn_>
)}
</Tooltip_Shadcn_>
)
})
ButtonTooltip.displayName = 'ButtonTooltip'