UNPKG

@ucloud-pccl/react-components

Version:
198 lines (197 loc) 7.37 kB
export const Animation: string[]; export const Trigger: string[]; export const Placement: string[]; export default Popover; export { prefixCls }; declare class Popover extends React.Component<any, any, any> { static propTypes: { /** 受控,控制弹出层展示 */ visible: PropTypes.Requireable<boolean>; /** 非受控,是否默认展示弹出层 */ defaultVisible: PropTypes.Requireable<boolean>; /** 弹出层显示隐藏时触发 */ onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>; /** 如何触发弹出层,focus 需要注意被包裹元素必须能触发 focus 事件,如链接、按钮、input */ trigger: PropTypes.Requireable<(string | null | undefined)[]>; /** 根据鼠标位置定位 */ alignPoint: PropTypes.Requireable<boolean>; /** @ignore */ showAction: PropTypes.Requireable<any[]>; /** @ignore */ hideAction: PropTypes.Requireable<any[]>; /** 位置 */ placement: PropTypes.Requireable<string>; /** * @ignore * 自定义定位配置 */ builtinPlacements: PropTypes.Requireable<object>; /** 自定义定位 */ align: PropTypes.Requireable<object>; /** 尺寸自适应,'width', 'minWidth', 'height', 'minHeight' 或混合使用 */ stretch: PropTypes.Requireable<(string | null | undefined)[]>; /** 弹出层内容 */ popup: PropTypes.Requireable<PropTypes.ReactNodeLike>; /** 弹出层的类名 */ popupClassName: PropTypes.Requireable<string>; /** 弹出层的样式 */ popupStyle: PropTypes.Requireable<object>; /** 弹出层的 z-index */ zIndex: PropTypes.Requireable<number>; /** 自定义弹出层容器 */ getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>; /** 是否使用最上层传入的安全容器,如果为 function,在没有找到安全容器时将会使用该 function 作为 getPopupContainer 的值 */ forwardPopupContainer: PropTypes.Requireable<NonNullable<boolean | ((...args: any[]) => any) | null | undefined>>; /** * @ignore * 自定义类名前缀 */ prefixCls: PropTypes.Requireable<string>; /** 需要对子元素进行定位,所以只接收一个有效 react 元素(不接收文本节点) */ children: PropTypes.Validator<PropTypes.ReactElementLike>; /** 动画名称,slide-up 只支持上下方向的弹窗 */ animation: PropTypes.Requireable<string>; /** * @ignore * 自定义动画 */ transitionName: PropTypes.Requireable<string>; /** * @ignore * 更新时强制重新定位 */ forceAlignWhenUpdate: PropTypes.Requireable<boolean>; /** 滚动时强制重新定位 */ forceAlignWhenScroll: PropTypes.Requireable<boolean>; /** @ignore */ className: PropTypes.Requireable<string>; /** 鼠标移入后延时多少才显示 Tooltip,单位:秒 */ mouseEnterDelay: PropTypes.Requireable<number>; /** 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 */ mouseLeaveDelay: PropTypes.Requireable<number>; }; static defaultProps: { trigger: string[]; showAction: never[]; hideAction: never[]; popupClassName: string; animation: string; popupStyle: {}; defaultVisible: boolean; onVisibleChange(): void; placement: string; builtinPlacements: { topLeft: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; top: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; topRight: { points: string[]; overflow: {}; /** 非受控,是否默认展示弹出层 */ offset: number[]; targetOffset: number[]; }; /** 弹出层显示隐藏时触发 */ bottomLeft: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; bottom: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; bottomRight: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; /** 自定义定位 */ leftTop: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; left: { points: string[]; /** 弹出层内容 */ overflow: {}; /** 弹出层的类名 */ offset: number[]; targetOffset: number[]; /** 弹出层的样式 */ }; leftBottom: { points: string[]; overflow: {}; /** 自定义弹出层容器 */ offset: number[]; targetOffset: number[]; }; /** 是否使用最上层传入的安全容器,如果为 function,在没有找到安全容器时将会使用该 function 作为 getPopupContainer 的值 */ rightTop: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; /** * @ignore * 自定义类名前缀 */ right: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; rightBottom: { points: string[]; overflow: {}; offset: number[]; targetOffset: number[]; }; }; forceAlignWhenScroll: boolean; prefixCls: string; mouseEnterDelay: number; mouseLeaveDelay: number; }; static getDerivedStateFromProps(nextProps: any): { visible: any; } | null; constructor(props: any); state: { visible: any; }; __scroll_lock: boolean; __scroll_bind: boolean; bindPopupWrap: (_ref: any) => void; popupWrap: any; onPopupWrapScroll: () => void; unlockScroll: _.DebouncedFunc<() => void>; onScroll: () => void; forceAlign: _.DebouncedFunc<() => void>; bindScroll: () => void; unbindScroll: () => void; updateScroll: () => void; componentDidMount: () => void; componentWillUnmount: () => void; componentDidUpdate: (prevProps: any) => void; onVisibleChange: (visible: any) => void; getPopup(): React.JSX.Element; getPopupDomNode(): any; saveTrigger: (node: any) => void; trigger: any; render(): React.JSX.Element; } import { prefixCls } from "./style"; import React from "react"; import _ from "lodash"; import PropTypes from "prop-types";