Dialog

A Base UI dialog component

Loading...

Installation

npx shadcn@latest add @craftdotui/baseui-dialog

Anatomy

Composite

<DialogRoot>
    <DialogTrigger>Open Dialog</DialogTrigger>

    <DialogContent showCloseButton>
        <DialogHeader>
            <DialogTitle>Dialog Title</DialogTitle>
            <DialogDescription>Dialog Description</DialogDescription>
        </DialogHeader>

        <DialogPanel>Content</DialogPanel>

        <DialogFooter>
            <DialogClose>Close</DialogClose>
        </DialogFooter>
    </DialogContent>
</DialogRoot>

Primitives

<DialogRoot>
    <DialogTrigger>Open Dialog</DialogTrigger>

    <DialogPortal>
        <DialogBackdrop />
        <DialogViewport>
            <DialogPopup>
                <DialogClose />

                <DialogHeader>
                    <DialogTitle>Dialog Title</DialogTitle>
                    <DialogDescription>Dialog Description</DialogDescription>
                </DialogHeader>

                <DialogPanel>Content</DialogPanel>

                <DialogFooter>
                    <DialogClose>Close</DialogClose>
                </DialogFooter>
            </DialogPopup>
        </DialogViewport>
    </DialogPortal>
</DialogRoot>

Demo

Controlled

Loading...

Inside Scroll

Loading...

Outside Scroll

Loading...

Detached Triggers

Loading...

Nested Dialogs

Loading...

Custom Focus Management

Loading...

Close Confirmation

Loading...

Open from Menu

Loading...