tooltip.tsx 694 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import {
  2. OverlayTrigger,
  3. OverlayTriggerProps,
  4. Tooltip as BSTooltip,
  5. } from 'react-bootstrap'
  6. type TooltipProps = {
  7. children: React.ReactNode
  8. description: string
  9. id: string
  10. overlayProps?: Omit<OverlayTriggerProps, 'overlay'>
  11. tooltipProps?: BSTooltip.TooltipProps
  12. }
  13. function Tooltip({
  14. id,
  15. description,
  16. children,
  17. tooltipProps,
  18. overlayProps,
  19. }: TooltipProps) {
  20. return (
  21. <OverlayTrigger
  22. overlay={
  23. <BSTooltip id={`${id}-tooltip`} {...tooltipProps}>
  24. {description}
  25. </BSTooltip>
  26. }
  27. {...overlayProps}
  28. placement={overlayProps?.placement || 'top'}
  29. >
  30. {children}
  31. </OverlayTrigger>
  32. )
  33. }
  34. export default Tooltip