Components
A dialog is an overlay shown above other content in an application.
The HTML <dialog> element can be used to build dialogs. However, it is not yet widely supported across browsers, and building fully accessible custom dialogs from scratch is very difficult and error prone. Dialog helps achieve accessible dialogs that can be styled as needed.
Loading preview...
import { Button } from "@/components/ui/button"
import {
DialogContent,
DialogFooter,
DialogHeader,
DialogOverlay,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
import { Label } from "@/components/ui/field"
import { Input, TextField } from "@/components/ui/textfield"
export function DialogDemo() {
return (
<DialogTrigger>
<Button variant="outline">Sign up...</Button>
<DialogOverlay>
<DialogContent className="sm:max-w-[425px]">
{({ close }) => (
<>
<DialogHeader>
<DialogTitle>Sign up</DialogTitle>
</DialogHeader>
<div className="grid gap-4 py-4">
<TextField autoFocus>
<Label>First Name</Label>
<Input />
</TextField>
<TextField>
<Label>Last Name</Label>
<Input />
</TextField>
</div>
<DialogFooter>
<Button onPress={close} type="submit">
Save changes
</Button>
</DialogFooter>
</>
)}
</DialogContent>
</DialogOverlay>
</DialogTrigger>
)
}