react-tooltip-z
Version:
Lightweight, customizable React tooltip component with hover, click, focus and manual trigger support.
40 lines (39 loc) • 1.29 kB
TypeScript
/// <reference types="react" />
export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
export type TooltipTrigger = 'hover' | 'focus' | 'click' | 'manual';
interface TooltipBaseProps {
content?: string | React.ReactNode;
tooltipClassName?: string;
constrainWidth?: boolean;
delay?: number;
animation?: 'fade' | 'zoom';
backgroundColor?: string;
textColor?: string;
arrowCentered?: boolean;
placement?: TooltipPlacement;
top?: boolean;
bottom?: boolean;
left?: boolean;
right?: boolean;
}
export interface TooltipRef {
show: (content?: React.ReactNode) => void;
hide: () => void;
isOpen: () => boolean;
}
export interface TooltipProps extends TooltipBaseProps {
children: React.ReactNode;
tagName?: keyof JSX.IntrinsicElements;
className?: string;
style?: React.CSSProperties;
trigger?: TooltipTrigger;
onClick?: (event: React.MouseEvent<HTMLElement>) => void;
onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;
onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;
onOpenChange?: (open: boolean) => void;
mouseWheel?: boolean;
open?: boolean;
closeOnResize?: boolean;
closeOnScroll?: boolean;
}
export {};