UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

33 lines (32 loc) 1.58 kB
import * as React from 'react'; import type { OpenChangeReason, Strategy } from '@floating-ui/react'; import type { PopupOffset, PopupPlacement } from "../Popup/index.js"; import type { AriaLabelingProps, DOMProps, QAProps } from "../types.js"; import "./Tooltip.css"; export interface TooltipProps extends AriaLabelingProps, QAProps, DOMProps { /** Anchor node */ children: ((props: Record<string, unknown>, ref: React.Ref<HTMLElement>) => React.ReactElement) | React.ReactElement; /** Controls open state */ open?: boolean; /** Callback for open state changes, when dismiss happens for example */ onOpenChange?: (open: boolean, event?: Event, reason?: OpenChangeReason) => void; /** Floating UI strategy */ strategy?: Strategy; /** Floating element placement */ placement?: PopupPlacement; /** Floating element offset relative to anchor */ offset?: PopupOffset; /** Disabled state */ disabled?: boolean; /** Floating element content */ content?: React.ReactNode; /** Event that should trigger opening */ trigger?: 'focus'; /** Role applied to the floating element */ role?: 'tooltip' | 'label'; /** Delay in ms before open */ openDelay?: number; /** Delay in ms before close */ closeDelay?: number; } export declare function Tooltip({ children, open, onOpenChange, strategy, placement: placementProp, offset: offsetProp, disabled, content, trigger, role: roleProp, openDelay, closeDelay, className, style, qa, ...restProps }: TooltipProps): import("react/jsx-runtime").JSX.Element;