@grapecity/gcpdfviewer
Version:
GcDocs PDF Viewer
59 lines (58 loc) • 2.02 kB
TypeScript
//@ts-ignore
import { AppContextType, Coordinates, PropsWithDefaults, StaticDefaultProps } from '@grapecity/core-ui';
/// <reference path="../vendor/react/react.d.ts" />
//@ts-ignore
import * as React from 'react';
type ParentElement = {
type: 'element';
element: HTMLDivElement;
};
type ParentMouse = {
type: 'mouse';
position: Coordinates;
};
type ParentViewport = {
type: 'viewport';
};
export type PositionerAlignment = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
export type PositionerProps = {
parent: ParentElement | ParentMouse | ParentViewport;
align: PositionerAlignment;
offset?: false | number;
edgeSnapOffset?: number;
flippable?: boolean;
fillContainer?: boolean;
onSide?: boolean;
onReady?: () => void;
};
type PositionerStyle = {
position?: 'absolute' | 'fixed';
top?: number;
bottom?: number;
left?: number;
right?: number;
};
type PositionerState = {
hasCalculatedStyle: boolean;
};
type PositionerDefaultProps = keyof Pick<PositionerProps, 'edgeSnapOffset' | 'offset'>;
export declare class Positioner extends React.Component<PositionerProps, PositionerState> {
//@ts-ignore
static contextType: React.Context<import("@grapecity/core-ui/lib/types/utils").AppContextValue>;
context: AppContextType;
static defaultProps: StaticDefaultProps<PositionerProps, PositionerDefaultProps>;
props: PropsWithDefaults<PositionerProps, PositionerDefaultProps>;
private _disposables;
private _item;
state: PositionerState;
componentDidMount(): void;
componentWillUnmount(): void;
getNode: () => HTMLDivElement | null;
setupScrollSpy: () => void;
onScrollAndResize: () => void;
setViewportRelativePosition: () => void;
updatePosition: (initial?: boolean) => void;
applyStyle: ({ position, ...pixelValues }: PositionerStyle) => void;
render(): React.JSX.Element;
}
export {};