📄 radixui/themes/docs/components/alert-dialog

File: alert-dialog.md | Updated: 11/15/2025

Source: https://www.radix-ui.com/themes/docs/components/alert-dialog

Radix Homepage

Made by WorkOS

Radix Homepage

Made by WorkOS

ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors

Documentation Playground Blog

Overview

Getting started Styling Layout Releases Resources

Theme

Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors

Layout

Box Flex Grid Container Section

Typography

Text Heading Blockquote Code Em Kbd Link Quote Strong

Components

Alert Dialog Aspect Ratio Avatar Badge Button Callout Card Checkbox Checkbox Group Checkbox Cards Context Menu Data List Dialog Dropdown Menu Hover Card Icon Button Inset Popover Progress Radio Radio Group Radio Cards Scroll Area Segmented Control Select Separator Skeleton Slider Spinner Switch Table Tabs Tab Nav Text Area Text Field Tooltip

Utilities

Accessible Icon Portal Reset Slot Theme Visually Hidden

Components

Alert Dialog

Modal confirmation dialog that interrupts the user and expects a response.

View source Report an issue View in Playground

Revoke access

<AlertDialog.Root>
	<AlertDialog.Trigger>
		<Button color="red">Revoke access</Button>
	</AlertDialog.Trigger>
	<AlertDialog.Content maxWidth="450px">
		<AlertDialog.Title>Revoke access</AlertDialog.Title>
		<AlertDialog.Description size="2">
			Are you sure? This application will no longer be accessible and any
			existing sessions will be expired.
		</AlertDialog.Description>

		<Flex gap="3" mt="4" justify="end">
			<AlertDialog.Cancel>
				<Button variant="soft" color="gray">
					Cancel
				</Button>
			</AlertDialog.Cancel>
			<AlertDialog.Action>
				<Button variant="solid" color="red">
					Revoke access
				</Button>
			</AlertDialog.Action>
		</Flex>
	</AlertDialog.Content>
</AlertDialog.Root>

API Reference


This component inherits parts and props from the Alert Dialog primitive and is visually identical to Dialog , though with differing semantics and behavior.

Root

Contains all the parts of the dialog.

Trigger

Wraps the control that will open the dialog.

Content

Contains the content of the dialog. This component is based on the div element.

| Prop | Type | Default | | --- | --- | --- | | asChild<br><br>Prop description | boolean | No default value | | align | "start" \| "center" | "center" | | size | Responsive<"1" \| "2" \| "3" \| "4"> | "3" | | width | Responsive<string> | No default value | | minWidth | Responsive<string> | No default value | | maxWidth | Responsive<string> | "600px" | | height | Responsive<string> | No default value | | minHeight | Responsive<string> | No default value | | maxHeight | Responsive<string> | No default value |

Title

An accessible title that is announced when the dialog is opened. This part is based on the Heading component with a pre-defined font size and leading trim on top.

Description

An optional accessible description that is announced when the dialog is opened. This part is based on the Text component with a pre-defined font size.

If you want to remove the description entirely, remove this part and pass aria-describedby={undefined} to Content.

Action

Wraps the control that will close the dialog. This should be distinguished visually from the Cancel control.

Cancel

Wraps the control that will close the dialog. This should be distinguished visually from the Action control.

Examples


Size

Use the size prop to control size of the dialog. It will affect the padding and border-radius of the Content. Use it in conjunction with the width, minWidth and maxWidth props to control the width of the dialog.

Size 1Size 2Size 3Size 4

<Flex gap="4" align="center">
	<AlertDialog.Root>
		<AlertDialog.Trigger>
			<Button variant="soft">Size 1</Button>
		</AlertDialog.Trigger>
		<AlertDialog.Content size="1" maxWidth="300px">
			<Text as="p" trim="both" size="1">
				The quick brown fox jumps over the lazy dog.
			</Text>
		</AlertDialog.Content>
	</AlertDialog.Root>

	<AlertDialog.Root>
		<AlertDialog.Trigger>
			<Button variant="soft">Size 2</Button>
		</AlertDialog.Trigger>
		<AlertDialog.Content size="2" maxWidth="400px">
			<Text as="p" trim="both" size="2">
				The quick brown fox jumps over the lazy dog.
			</Text>
		</AlertDialog.Content>
	</AlertDialog.Root>

	<AlertDialog.Root>
		<AlertDialog.Trigger>
			<Button variant="soft">Size 3</Button>
		</AlertDialog.Trigger>
		<AlertDialog.Content size="3" maxWidth="500px">
			<Text as="p" trim="both" size="3">
				The quick brown fox jumps over the lazy dog.
			</Text>
		</AlertDialog.Content>
	</AlertDialog.Root>

	<AlertDialog.Root>
		<AlertDialog.Trigger>
			<Button variant="soft">Size 4</Button>
		</AlertDialog.Trigger>
		<AlertDialog.Content size="4">
			<Text as="p" trim="both" size="4">
				The quick brown fox jumps over the lazy dog.
			</Text>
		</AlertDialog.Content>
	</AlertDialog.Root>
</Flex>

With inset content

Use the Inset component to align content flush with the sides of the dialog.

Delete users

<AlertDialog.Root>
	<AlertDialog.Trigger>
		<Button color="red">Delete users</Button>
	</AlertDialog.Trigger>
	<AlertDialog.Content maxWidth="500px">
		<AlertDialog.Title>Delete Users</AlertDialog.Title>
		<AlertDialog.Description size="2">
			Are you sure you want to delete these users? This action is permanent and
			cannot be undone.
		</AlertDialog.Description>

		<Inset side="x" my="5">
			<Table.Root>
				<Table.Header>
					<Table.Row>
						<Table.ColumnHeaderCell>Full name</Table.ColumnHeaderCell>
						<Table.ColumnHeaderCell>Email</Table.ColumnHeaderCell>
						<Table.ColumnHeaderCell>Group</Table.ColumnHeaderCell>
					</Table.Row>
				</Table.Header>

				<Table.Body>
					<Table.Row>
						<Table.RowHeaderCell>Danilo Sousa</Table.RowHeaderCell>
						<Table.Cell>danilo@example.com</Table.Cell>
						<Table.Cell>Developer</Table.Cell>
					</Table.Row>

					<Table.Row>
						<Table.RowHeaderCell>Zahra Ambessa</Table.RowHeaderCell>
						<Table.Cell>zahra@example.com</Table.Cell>
						<Table.Cell>Admin</Table.Cell>
					</Table.Row>
				</Table.Body>
			</Table.Root>
		</Inset>

		<Flex gap="3" justify="end">
			<AlertDialog.Cancel>
				<Button variant="soft" color="gray">
					Cancel
				</Button>
			</AlertDialog.Cancel>
			<AlertDialog.Action>
				<Button color="red">Delete users</Button>
			</AlertDialog.Action>
		</Flex>
	</AlertDialog.Content>
</AlertDialog.Root>

PreviousStrong

NextAspect Ratio

Edit this page on GitHub.