choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
94 lines (93 loc) • 4.62 kB
TypeScript
import React, { CSSProperties, Key } from 'react';
import PropTypes from 'prop-types';
import ViewComponent, { ViewComponentProps } from '../../pro/lib/core/ViewComponent';
import Align from '../align';
export interface PopupProps extends ViewComponentProps {
align: object;
onAlign?: (source: Node, align: object, target: HTMLElement, translate: {
x: number;
y: number;
}) => void;
getRootDomNode?: () => Element | Text | null;
getPopupContainer?: (triggerNode: Element) => HTMLElement;
transitionName?: string;
onAnimateAppear?: (key: Key | null) => void;
onAnimateEnter?: (key: Key | null) => void;
onAnimateLeave?: (key: Key | null) => void;
onAnimateEnd?: (key: Key | null, exists: boolean) => void;
getStyleFromAlign?: (target: HTMLElement, align: object) => object | undefined;
getClassNameFromAlign?: (align: object) => string | undefined;
getFocusableElements?: (elements: HTMLElement[]) => void;
}
export default class Popup extends ViewComponent<PopupProps> {
static displayName: string;
static popupContainer?: HTMLDivElement;
static propTypes: {
id: PropTypes.Requireable<string>;
size: PropTypes.Requireable<import("../_util/enum").Size>;
suffixCls: PropTypes.Requireable<string>;
prefixCls: PropTypes.Requireable<string>;
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
hidden: PropTypes.Requireable<boolean>;
autoFocus: PropTypes.Requireable<boolean>;
accessKey: PropTypes.Requireable<string | boolean>;
dir: PropTypes.Requireable<string>;
contentEditable: PropTypes.Requireable<string | boolean>;
draggable: PropTypes.Requireable<string | boolean>;
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
lang: PropTypes.Requireable<string>;
spellCheck: PropTypes.Requireable<boolean>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
align: PropTypes.Requireable<object>;
onAlign: PropTypes.Requireable<(...args: any[]) => any>;
getRootDomNode: PropTypes.Requireable<(...args: any[]) => any>;
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
transitionName: PropTypes.Requireable<string>;
onAnimateAppear: PropTypes.Requireable<(...args: any[]) => any>;
onAnimateEnter: PropTypes.Requireable<(...args: any[]) => any>;
onAnimateLeave: PropTypes.Requireable<(...args: any[]) => any>;
onAnimateEnd: PropTypes.Requireable<(...args: any[]) => any>;
getStyleFromAlign: PropTypes.Requireable<(...args: any[]) => any>;
getClassNameFromAlign: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
suffixCls: string;
transitionName: string;
};
popupContainer?: HTMLDivElement;
currentAlignClassName?: string;
currentAlignStyle?: CSSProperties;
align: Align | null;
target?: HTMLElement;
contentRendered: boolean;
popupKey: string;
saveRef: (align: any) => any;
getOmitPropsKeys(): string[];
componentWillUnmount(): void;
componentDidUpdate(): void;
componentDidMount(): void;
findFocusableElements(): void;
renderInner(innerRef: any): JSX.Element;
render(): React.ReactPortal | null;
getContainer(): HTMLDivElement | undefined;
onAlign(source: any, align: any, target: any, translate: any): void;
forceAlign(): void;
}
export declare function getGlobalPopupContainer(): HTMLDivElement;