Skip to content

Dialog

The Dialog component displays content in a modal overlay, capturing user attention. It provides a flexible way to create modal dialogs with backdrop, positioning, and focus management.

import { useRef } from 'react';
import {
Button,
Dialog,
useDisclosure,
} from '@fintech-sandpit/ui/react';
const {
open,
onOpen,
onClose,
} = useDisclosure();
const initialFocusEl = useRef<HTMLButtonElement>(null);
return (
<Dialog.Root
open={open}
initialFocusEl={() => initialFocusEl.current}
onOpen={onOpen}
onClose={onClose}
>
<Button
colorScheme="primary"
onClick={onOpen}
>
Open Dialog
</Button>
<Dialog.Content>
<Dialog.Title>
Hey!
</Dialog.Title>
<Dialog.Description>
I'm a dialog!
</Dialog.Description>
<Dialog.Footer>
<Button
ref={initialFocusEl}
onClick={onClose}
>
Close me
</Button>
</Dialog.Footer>
<Dialog.CloseTrigger />
</Dialog.Content>
</Dialog.Root>
);
NameTypeDefaultDescription
openbooleanfalseWhether the dialog is open
modalbooleantrueWhether the dialog is modal
closeOnInteractOutsidebooleantrueWhether to close on outside interaction
closeOnEscapebooleantrueWhether to close on Escape key
initialFocusEl() => HTMLElement | nullFunction that returns the element to focus initially
NameArgumentsDescription
onOpen() => voidCallback fired when dialog is opened
onClose() => voidCallback fired when dialog is closed