@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
43 lines (42 loc) • 2.77 kB
TypeScript
import React from 'react';
import { $DeviceType } from '@docsvision/webclient/StandardServices';
/** Свойства {@link CommonModalDialog}. */
export interface CommonModalDialogProps {
/** Существует ли кнопка закрытия модального окна (крестик) */
closeButtonDisabled?: boolean;
/** Открыт диалог или нет. */
isOpen: boolean;
/** Функция, которая будет вызвана при клике по затемнению или кнопке закрыть. */
onClose: () => void;
/** Класс для всего окна. Может быть использован для задания ширины окна. Можно использовать классы width-300, width-400, width-500 ... width-1300. */
className?: string;
/** Кнопки диалога, которые будут расположены в нижней части справа. Можно использовать хелпер {@link Button}. */
buttons?: React.ReactNode | React.ReactNode[];
/** Содержимое диалога. */
children: React.ReactNode | React.ReactNode[];
/** Заголовок, который будет отображен в верхней части справа, отделенный горизонтальной линией. */
header?: React.ReactNode | React.ReactNode[];
/** Использовать стандартную ширину окна */
defaultWidth?: boolean;
/** Максимальная ширина окна */
maxWidth?: string;
/** Существует ли кнопка развертывания */
maximizeButtonEnabled?: boolean;
/** Вызывается при попытке развернуть окно */
onMaximize?: () => void;
/** При смене значения на true модальное окно развернётся, при смене в false - свернётся. */
maximized?: boolean;
/**
* Максимальная высота, которая будет назначена если браузер - IE. В других браузерах будет работать flexbox.
* По умолчанию: 100vh
*/
maxHeight?: string;
services: $DeviceType;
}
export declare type Props = CommonModalDialogProps;
/**
* Обертка, использующая {@link StackingModal}, {@link ModalBackdrop}, {@link ModalDialog},
* {@link ModalDialogBox}, {@link ModalDialogHeader}, {@link ModalDialogCloseButton},{@link ModalDialogContent}, {@link ModalDialogButtonPanel}
* для отображения модального окна.
*/
export declare const CommonModalDialog: (props: Props) => JSX.Element;