@uiw/react-overlay-trigger
Version:
OverlayTrigger component
45 lines (44 loc) • 1.5 kB
TypeScript
import React from 'react';
import { IProps } from '@uiw/utils';
import { OverlayProps } from '@uiw/react-overlay';
import './style/index.less';
export interface OverlayTriggerProps extends IProps, OverlayProps {
onVisibleChange?: (isVisbale: boolean) => void;
onEnter?: (node: HTMLElement, isAppearing: boolean) => void;
overlay?: React.ReactNode | any;
trigger?: 'click' | 'hover' | 'focus';
usePortal?: boolean;
isOpen?: boolean;
disabled?: boolean;
isOutside?: boolean;
isClickOutside?: boolean;
autoAdjustOverflow?: boolean;
placement?: Placement;
delay?: Delay;
}
export interface OverlayTriggerState {
show: boolean;
trigger: OverlayTriggerProps['trigger'];
overlayStyl: OverlayStyl;
transitionName: OverlayProps['transitionName'];
}
export type Delay = number | {
show?: number;
hide?: number;
};
export type Placement = 'top' | 'topLeft' | 'topRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom' | 'bottom' | 'bottomLeft' | 'bottomRight';
export type OverlayStyl = {
placement: Placement;
top: number;
bottom: number;
left: number;
right: number;
zIndex: number;
};
export type OverlayTriggerRef = {
hide: () => void;
show: () => void;
overlayDom: React.MutableRefObject<HTMLElement | undefined>;
};
declare const _default: React.ForwardRefExoticComponent<Omit<OverlayTriggerProps, "ref"> & React.RefAttributes<OverlayTriggerRef>>;
export default _default;