DialogProvider

Контекст для управления диалогами из дочерних компонентов.

useShowDialog регистрирует и открывает диалог; useDialog предоставляет dialogs, activeDialog, closeDialog.

Живой пример

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

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

import { Button, Dialog, DialogProvider, useDialog, useShowDialog } from '@prosazhin/pbcomponents';

function Example() {
  const { closeDialog } = useDialog();
  const open = useShowDialog(() => (
    <Dialog id='example'>
      <Dialog.Content>
        <Dialog.Header>Title</Dialog.Header>
        <Dialog.Body>Content</Dialog.Body>
        <Dialog.Footer>
          <Button onClick={() => closeDialog('example')}>Close</Button>
        </Dialog.Footer>
      </Dialog.Content>
    </Dialog>
  ));
  return <Button onClick={open}>Open</Button>;
}

<DialogProvider>
  <Example />
</DialogProvider>;

API компонента

PropТип / вариантыНазначениеПо умолчанию
childrenReactNodeДочерние компоненты с доступом к useDialog и useShowDialog.
animationDurationnumberДлительность анимации диалога в миллисекундах.
classNamestringКласс корневого элемента.

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