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 | Тип / варианты | Назначение | По умолчанию |
|---|---|---|---|
children | ReactNode | Дочерние компоненты с доступом к useDialog и useShowDialog. | — |
animationDuration | number | Длительность анимации диалога в миллисекундах. | — |
className | string | Класс корневого элемента. | — |
Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.