UNPKG

easemob-chat-uikit

Version:

![Static Badge](https://img.shields.io/badge/platform-React-green) ![Static Badge](https://img.shields.io/badge/language-typescript-green) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/easemob/Easemob-UIKit-web) ![GitHub last c

50 lines (49 loc) 2.23 kB
import type { placements as Placements } from 'rc-tooltip/lib/placements'; import type { TooltipProps as RcTooltipProps } from 'rc-tooltip/lib/Tooltip'; import * as React from 'react'; import { AdjustOverflow, PlacementsConfig } from '../_utils/placements'; export type { AdjustOverflow, PlacementsConfig }; export type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom'; export interface TooltipAlignConfig { points?: [string, string]; offset?: [number | string, number | string]; targetOffset?: [number | string, number | string]; overflow?: { adjustX: boolean; adjustY: boolean; }; useCssRight?: boolean; useCssBottom?: boolean; useCssTransform?: boolean; } interface LegacyTooltipProps extends Partial<Omit<RcTooltipProps, 'children' | 'visible' | 'defaultVisible' | 'onVisibleChange' | 'afterVisibleChange'>> { open?: RcTooltipProps['visible']; defaultOpen?: RcTooltipProps['defaultVisible']; onOpenChange?: RcTooltipProps['onVisibleChange']; afterOpenChange?: RcTooltipProps['afterVisibleChange']; } export interface AbstractTooltipProps extends LegacyTooltipProps { style?: React.CSSProperties; className?: string; color?: string; placement?: TooltipPlacement; builtinPlacements?: typeof Placements; openClassName?: string; arrowPointAtCenter?: boolean; autoAdjustOverflow?: boolean | AdjustOverflow; getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; children?: React.ReactNode; arrow?: boolean; } export type RenderFunction = () => React.ReactNode; export interface TooltipPropsWithOverlay extends AbstractTooltipProps { title?: React.ReactNode | RenderFunction; overlay?: React.ReactNode | RenderFunction; } export interface TooltipPropsWithTitle extends AbstractTooltipProps { title: React.ReactNode | RenderFunction; overlay?: React.ReactNode | RenderFunction; } export declare type TooltipProps = TooltipPropsWithTitle | TooltipPropsWithOverlay; declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<unknown>>; export { Tooltip };