UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

47 lines (46 loc) 1.6 kB
import { Component, ReactNode } from 'react'; import EventManager from '../_util/EventManager'; import TaskRunner from '../_util/TaskRunner'; export declare type AlignPoint = { pageX?: number; pageY?: number; clientX?: number; clientY?: number; }; export declare type AlignTarget = (() => Element | Text | null) | AlignPoint; export declare type ChildrenFunction = (innerRef: (node: any) => void) => ReactNode; export interface AlignProps { childrenProps?: object; childrenRef?: (node: any) => void; align: object; target?: AlignTarget; onAlign?: (source: Element | Text | null, align: object, target: HTMLElement | null, translate: { x: number; y: number; }, point: AlignPoint | null) => void; monitorBufferTime?: number; monitorWindowResize?: boolean; hidden?: boolean; children?: ReactNode | ChildrenFunction; } export default class Align extends Component<AlignProps, any> { static displayName: string; static defaultProps: { target: () => Window & typeof globalThis; monitorBufferTime: number; monitorWindowResize: boolean; hidden: boolean; }; resizeHandler: EventManager | null; bufferMonitor: TaskRunner | null; source?: HTMLElement; sourceRect: ClientRect | DOMRect | null; saveSourceRef: (node: any) => void; componentDidMount(): void; componentDidUpdate(prevProps: any): void; componentWillUnmount(): void; startMonitorWindowResize(): void; stopMonitorWindowResize(): void; forceAlign(): void; render(): {} | null | undefined; }