/
kaws
/
ui-kit-ce
Обзор
Документация
Войти
/
kaws
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/modal/src/types.ts
125 строк
3 KB
Урядышев Павел Александрович
fix(drawer): исправлена ошибка закрытия Drawer без backdrop в ShadowRoot
23 окт 2025, 15:51
23 окт 2025, 15:51
ca6bbdc
Код
Авторство
О чём код?
import * as React from 'react' import { PortalProps } from '@v-uik/portal' import { ComponentPropsWithRefFix, ComponentPropsWithAttributes, } from '@v-uik/common' import { Classes } from './classes' interface ModalStylesProps { /** * Ширина модального окна. * * @inner */ width?: number | string } export interface ModalProps extends ModalStylesProps, ComponentPropsWithRefFix<'div'> { /** * JSS-классы для стилизации. * * @inner */ classes?: Partial<Classes> /** * Флаг открытия модального окна. * * @inner */ open?: boolean /** * HTML-аттрибуты элемента фона окна. * * @inner */ backdropProps?: ComponentPropsWithAttributes<ComponentPropsWithRefFix<'div'>> /** * HTML-аттрибуты элемента модального окна. * * @inner */ contentProps?: ComponentPropsWithAttributes<ComponentPropsWithRefFix<'div'>> /** * HTML-элемент или функция, возвращающая HTML-элемент, в который рендерится children. * * @inner */ container?: PortalProps['container'] /** * Отключить срабатывание обработчика onClose при нажатии клавиши Esc. * * @inner */ disableEscapePressHandler?: boolean /** * Отключить срабатывание обработчика onClose при клике за пределами модального окна. * * @inner */ disableBackdropClickHandler?: boolean /** * Флаг отключения подложки модального окна. * * @inner */ disableBackdrop?: boolean /** * Обработчик закрытия окна. * * @returns */ onClose?: ( event: | React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLButtonElement> | null ) => void /** * Флаг сохранения компонента в DOM после скрытия. * * @inner */ keepMounted?: boolean /** * Определение положения модального окна по оси z. * * @inner */ zIndex?: number /** * Функция обратного вызова, срабатывающая при изменении состояния `Modal` после окончания анимации. * * @param {boolean} open - значение флага открытия модального окна. * * @returns */ onAfterOpenChange?: (open: boolean) => void /** * Отменить отрисовку компонента в контейнер и отрисовывать в текущем родителе. * * @inner */ disablePortal?: boolean } export type ShowOptions = Omit<ModalProps, 'open' | 'children' | 'onClose'> & { /** * * @inner */ content?: React.ReactNode /** * * @returns */ onClose?: () => void }