Dialog

Модальное окно с триггером, секциями и закрытием.

Нужен уникальный id. Доступны Dialog.Trigger, Content, Header, Body, Footer, Close. На мобильных диалог открывается шторкой снизу, её можно смахнуть вниз. Затемнение тёмное в обеих темах. Для подтверждения действия есть готовый ConfirmDialog.

Живой пример

Dialog title

Dialog content

Настройки примера

Использование

import { Dialog } from '@prosazhin/pbcomponents';

<Dialog id='example'>
  <Dialog.Trigger>Open</Dialog.Trigger>
  <Dialog.Content>
    <Dialog.Header>Title</Dialog.Header>
    <Dialog.Body>Content</Dialog.Body>
    <Dialog.Footer>
      <Dialog.Close>Close</Dialog.Close>
    </Dialog.Footer>
  </Dialog.Content>
</Dialog>;

API компонента

Составные части: Dialog.Trigger, Dialog.Content, Dialog.Header, Dialog.Body, Dialog.Footer, Dialog.Close.

PropТип / вариантыНазначениеПо умолчанию
idstringУникальный идентификатор диалога.—
openbooleanУправляемая видимость диалога.—
backdropbooleanЗатемнение за диалогом.true
animationDurationnumberДлительность анимации в миллисекундах.400
defaultOpenbooleanНачальная видимость без внешнего управления.false
onOpenChange(open: boolean, id?: string) => voidВызывается при изменении видимости.—
onClose(open: boolean, id?: string) => voidВызывается после закрытия.—
childrenReactNodeСодержимое компонента.—
classNamestringКласс корневого элемента.—

Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.