MCPcopy
hub / github.com/ReactTooltip/react-tooltip / Tooltip

Function Tooltip

src/components/Tooltip/Tooltip.tsx:28–707  ·  view source on GitHub ↗
({
  // props
  forwardRef,
  id,
  className,
  classNameArrow,
  variant = 'dark',
  portalRoot,
  anchorSelect,
  place = 'top',
  offset = 10,
  openOnClick = false,
  positionStrategy = 'absolute',
  middlewares,
  wrapper: WrapperElement,
  delayShow = 0,
  delayHide = 0,
  autoClose,
  float = false,
  hidden = false,
  noArrow = false,
  clickable = false,
  openEvents,
  closeEvents,
  globalCloseEvents,
  imperativeModeOnly,
  style: externalStyles,
  position,
  afterShow,
  afterHide,
  disableTooltip,
  // props handled by controller
  content,
  contentWrapperRef,
  isOpen,
  defaultIsOpen = false,
  setIsOpen,
  previousActiveAnchor,
  activeAnchor,
  setActiveAnchor,
  border,
  opacity,
  arrowColor,
  arrowSize = 8,
  role = 'tooltip',
}: ITooltip)

Source from the content-addressed store, hash-verified

26let globalTransitionShowDelay: number | null = null
27
28const Tooltip = ({
29 // props
30 forwardRef,
31 id,
32 className,
33 classNameArrow,
34 variant = 'dark',
35 portalRoot,
36 anchorSelect,
37 place = 'top',
38 offset = 10,
39 openOnClick = false,
40 positionStrategy = 'absolute',
41 middlewares,
42 wrapper: WrapperElement,
43 delayShow = 0,
44 delayHide = 0,
45 autoClose,
46 float = false,
47 hidden = false,
48 noArrow = false,
49 clickable = false,
50 openEvents,
51 closeEvents,
52 globalCloseEvents,
53 imperativeModeOnly,
54 style: externalStyles,
55 position,
56 afterShow,
57 afterHide,
58 disableTooltip,
59 // props handled by controller
60 content,
61 contentWrapperRef,
62 isOpen,
63 defaultIsOpen = false,
64 setIsOpen,
65 previousActiveAnchor,
66 activeAnchor,
67 setActiveAnchor,
68 border,
69 opacity,
70 arrowColor,
71 arrowSize = 8,
72 role = 'tooltip',
73}: ITooltip) => {
74 const tooltipRef = useRef<HTMLElement>(null)
75 const tooltipArrowRef = useRef<HTMLElement>(null)
76 const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)
77 const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)
78 const tooltipAutoCloseTimerRef = useRef<NodeJS.Timeout | null>(null)
79 const missedTransitionTimerRef = useRef<NodeJS.Timeout | null>(null)
80 const [computedPosition, setComputedPosition] = useState<IComputedPosition>({
81 tooltipStyles: {},
82 tooltipArrowStyles: {},
83 place,
84 })
85 const [show, setShow] = useState(false)

Callers

nothing calls this directly

Calls 9

clearTimeoutRefFunction · 0.90
cssTimeToMsFunction · 0.90
computeTooltipPositionFunction · 0.90
removeAriaDescribedByFunction · 0.85
getAriaDescribedByFunction · 0.85
useTooltipAnchorsFunction · 0.85
useTooltipEventsFunction · 0.85
observeMethod · 0.80
disconnectMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…