choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
53 lines (52 loc) • 2.01 kB
TypeScript
import React, { CSSProperties, Key } from 'react';
import ViewComponent, { ViewComponentProps } from '../../pro/es/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 | undefined | null;
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;
forceRender?: boolean;
}
export default class Popup extends ViewComponent<PopupProps> {
static displayName: string;
static defaultProps: {
suffixCls: string;
transitionName: string;
};
popupContainer?: HTMLDivElement;
currentAlignClassName?: string;
currentAlignStyle?: CSSProperties;
align: Align | null;
target?: HTMLElement;
contentRendered: boolean;
popupKey: string;
size?: {
width?: number;
height?: number;
};
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;
handlePopupResize(width: any, height: any): void;
forceAlign(): void;
}
export declare function getGlobalPopupContainer(): HTMLDivElement;