(
props: TooltipProps & {isExiting: boolean; tooltipRef: RefObject<HTMLDivElement | null>}
)
| 183 | }); |
| 184 | |
| 185 | function TooltipInner( |
| 186 | props: TooltipProps & {isExiting: boolean; tooltipRef: RefObject<HTMLDivElement | null>} |
| 187 | ) { |
| 188 | let state = useContext(TooltipTriggerStateContext)!; |
| 189 | let arrowRef = useRef<HTMLDivElement>(null); |
| 190 | |
| 191 | let {overlayProps, arrowProps, placement, triggerAnchorPoint} = useOverlayPosition({ |
| 192 | placement: props.placement || 'top', |
| 193 | targetRef: props.triggerRef!, |
| 194 | overlayRef: props.tooltipRef, |
| 195 | arrowRef, |
| 196 | offset: props.offset, |
| 197 | crossOffset: props.crossOffset, |
| 198 | isOpen: state.isOpen, |
| 199 | arrowBoundaryOffset: props.arrowBoundaryOffset, |
| 200 | shouldFlip: props.shouldFlip, |
| 201 | containerPadding: props.containerPadding, |
| 202 | onClose: () => state.close(true) |
| 203 | }); |
| 204 | |
| 205 | let isEntering = useEnterAnimation(props.tooltipRef, !!placement) || props.isEntering || false; |
| 206 | let renderProps = useRenderProps({ |
| 207 | ...props, |
| 208 | defaultClassName: 'react-aria-Tooltip', |
| 209 | values: { |
| 210 | placement, |
| 211 | isEntering, |
| 212 | isExiting: props.isExiting, |
| 213 | state |
| 214 | } |
| 215 | }); |
| 216 | |
| 217 | props = mergeProps(props, overlayProps); |
| 218 | let {tooltipProps} = useTooltip(props, state); |
| 219 | |
| 220 | let DOMProps = filterDOMProps(props, {global: true}); |
| 221 | |
| 222 | return ( |
| 223 | <dom.div |
| 224 | {...mergeProps(DOMProps, renderProps, tooltipProps)} |
| 225 | ref={props.tooltipRef} |
| 226 | style={ |
| 227 | { |
| 228 | ...overlayProps.style, |
| 229 | '--trigger-anchor-point': triggerAnchorPoint |
| 230 | ? `${triggerAnchorPoint.x}px ${triggerAnchorPoint.y}px` |
| 231 | : undefined, |
| 232 | ...renderProps.style |
| 233 | } as CSSProperties |
| 234 | } |
| 235 | data-placement={placement ?? undefined} |
| 236 | data-entering={isEntering || undefined} |
| 237 | data-exiting={props.isExiting || undefined}> |
| 238 | <OverlayArrowContext.Provider value={{...arrowProps, placement, ref: arrowRef}}> |
| 239 | {renderProps.children} |
| 240 | </OverlayArrowContext.Provider> |
| 241 | </dom.div> |
| 242 | ); |
nothing calls this directly
no test coverage detected