@clayui/modal
Version:
ClayModal component
56 lines (55 loc) • 2.64 kB
TypeScript
/**
* SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
* SPDX-License-Identifier: BSD-3-Clause
*/
import { IPortalBaseProps } from '@clayui/shared';
import React from 'react';
import { IContext } from './Context';
import { Observer } from './types';
interface IProps extends React.HTMLAttributes<HTMLDivElement>, Omit<IContext, 'onClose' | 'ariaLabelledby'> {
/**
* Flag indicating to vertically center the modal.
*/
center?: boolean;
/**
* Container element to render modal into.
*/
containerElementRef?: React.RefObject<Element>;
/**
* Props to add to the ClayPortal.
*/
containerProps?: IPortalBaseProps;
/**
* A flag indicating if the modal shouldn't
* be closed when either the ESC key is pressed
* or when clicking outside the modal
*/
disableAutoClose?: boolean;
/**
* The size of element modal.
*/
size?: 'full-screen' | 'lg' | 'sm';
/**
* Observer is Modal's communication system with `useModal`
* hook, adds observer from `useModal` hook here.
*/
observer: Observer;
/**
* Allows setting a custom z-index value, overriding the default one which is 1040, modal body z-index will be +10 of this value
*/
zIndex?: number;
}
declare const Modal: {
({ center, children, className, containerElementRef, containerProps, disableAutoClose, observer, role, size, spritemap, status, zIndex, ...otherProps }: IProps): JSX.Element;
Body: ({ children, className, iFrameProps, scrollable, url, ...otherProps }: import("./Body").IBodyProps) => JSX.Element;
Footer: ({ className, first, last, middle, ...otherProps }: import("./Footer").IFooterProps) => JSX.Element;
Header: ({ children, withTitle, ...otherProps }: import("./Header").IHeaderProps) => JSX.Element;
Item: ({ children, className, shrink, ...otherProps }: import("./Header").IItemProps) => JSX.Element;
ItemGroup: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
Subtitle: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
SubtitleSection: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
Title: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
TitleIndicator: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
TitleSection: ({ children, className, ...otherProps }: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
};
export default Modal;