@gravity-ui/uikit
Version:
Gravity UI base styling and components
33 lines (32 loc) • 1.58 kB
TypeScript
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;