@alifd/next
Version:
A configurable component library for web built on React.
51 lines (50 loc) • 2.74 kB
TypeScript
import { Component } from 'react';
import PropTypes from 'prop-types';
import ResizeObserver from 'resize-observer-polyfill';
import type { PositionProps } from './types';
export default class Position extends Component<PositionProps> {
static displayName: string;
static VIEWPORT: "viewport";
static propTypes: {
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
target: PropTypes.Requireable<any>;
container: PropTypes.Requireable<any>;
align: PropTypes.Requireable<NonNullable<string | boolean | null | undefined>>;
offset: PropTypes.Requireable<any[]>;
beforePosition: PropTypes.Requireable<(...args: any[]) => any>;
onPosition: PropTypes.Requireable<(...args: any[]) => any>;
needAdjust: PropTypes.Requireable<boolean>;
autoFit: PropTypes.Requireable<boolean>;
needListenResize: PropTypes.Requireable<boolean>;
shouldUpdatePosition: PropTypes.Requireable<boolean>;
rtl: PropTypes.Requireable<boolean>;
pinFollowBaseElementWhenFixed: PropTypes.Requireable<boolean>;
};
static defaultProps: {
align: string;
offset: number[];
beforePosition: () => void;
onPosition: () => void;
needAdjust: boolean;
autoFit: boolean;
needListenResize: boolean;
shouldUpdatePosition: boolean;
rtl: boolean;
};
resizeObserver: ResizeObserver;
shouldUpdatePosition: boolean;
updateCount: number;
resizeTimeout: number;
constructor(props: PositionProps);
componentDidMount(): void;
componentDidUpdate(prevProps: PositionProps): void;
componentWillUnmount(): void;
observe: () => void;
unobserve: () => void;
shouldIgnorePosition: () => boolean;
setPosition(): void;
getContentNode(): null | HTMLElement;
getTargetNode(): Element | Text | "viewport" | null;
handleResize(): void;
render(): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & string) | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & number) | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & false) | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & true) | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> & import("react").ReactPortal) | undefined;
}