tm-reuseable-components
Version:
This is a reuseable components lib made for TextMercato
54 lines (53 loc) • 1.63 kB
TypeScript
import { ChangeEventHandler } from "react";
export interface PopupProps {
type?: 'popover' | 'modal' | 'dialog';
id?: string;
role?: string;
dialogTransitionDuration?: number | {
appear?: number;
enter?: number;
exit?: number;
};
open: boolean;
anchorEl?: HTMLButtonElement;
anchorOrigin?: {
horizontal: 'center' | 'left' | 'right' | number;
vertical: 'bottom' | 'center' | 'top' | number;
};
anchorPosition?: {
left: number;
top: number;
};
anchorReference?: 'anchorEl' | 'anchorPosition' | 'none';
children: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
container?: HTMLElement;
elevation?: number;
marginThreshold?: number;
onClose?: ChangeEventHandler;
transformOrigin?: {
horizontal: 'center' | 'left' | 'right' | number;
vertical: 'bottom' | 'center' | 'top' | number;
};
transitionDuration?: 'auto' | number | {
appear?: number;
enter?: number;
exit?: number;
};
closeAfterTransition?: boolean;
disableAutoFocus?: boolean;
disableEnforceFocus?: boolean;
disableEscapeKeyDown?: boolean;
disablePortal?: boolean;
disableRestoreFocus?: boolean;
disableScrollLock?: boolean;
hideBackdrop?: boolean;
keepMounted?: boolean;
onBackdropClick?: ChangeEventHandler;
ariaDescribedby?: string;
ariaLabelledBy?: string;
fullScreen?: boolean;
fullWidth?: boolean;
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
scroll?: 'body' | 'paper';
className?: string;
}