James Shopland

Dialog [react-aria-components]

Buttons

About

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.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Dialog [react-aria-components] to your project and fits it to your theme.

Code

How Dialog [react-aria-components] is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

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>
  )
}

Dependencies

More by James Shopland

View all
  • Tag Group [react-aria-components]

    Tag Group [react-aria-components]

    96
  • Date Range Picker [react-aria-components]

    Date Range Picker [react-aria-components]

    88
  • Grid List [react-aria-components]

    Grid List [react-aria-components]

    74
  • Switch [react-aria-components]

    Switch [react-aria-components]

    70
  • Select [react-aria-components]

    Select [react-aria-components]

    47
  • Range Calendar [react-aria-components]

    Range Calendar [react-aria-components]

    39
  • Menu

    Menu

    36
  • Popover

    Popover

    35

More in Buttons

View all
  • Button

    Button

    10
  • Button

    Button

    1
  • Texture Button

    Texture Button

    103
  • Eclipse Button

    Eclipse Button

    42
  • Native Button

    Native Button

    12
  • Button

    Button

    77
  • Button

    Button

  • Notification Button

    Notification Button

    113