This component no longer exists. It was in neobrutal-ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-06 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
Alert dialog
neobrutal-ui/alert-dialogRemovedComponent
neobrutal-ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by neobrutal-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://neobrutal-ui.andongmin.com/r/alert-dialog.jsonSource
1"use client";23import * as React from "react";4import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";56import { cn } from "@/lib/utils";7import { Button } from "@/components/ui/button";89type AutoFocusEventHandler = (event: Event) => void;10type FocusTarget = AlertDialogPrimitive.Popup.Props["initialFocus"];11type PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>;12type FocusOutsideEvent = CustomEvent<{ originalEvent: FocusEvent }>;13type DismissableLayerHandlers = {14 onEscapeKeyDown?: (event: KeyboardEvent) => void;15 onFocusOutside?: (event: FocusOutsideEvent) => void;16 onInteractOutside?: (event: FocusOutsideEvent | PointerDownOutsideEvent) => void;17 onPointerDownOutside?: (event: PointerDownOutsideEvent) => void;18};19type AlertDialogPortalProps = AlertDialogPrimitive.Portal.Props & {20 forceMount?: boolean;21};22type AlertDialogOverlayProps = AlertDialogPrimitive.Backdrop.Props & {23 asChild?: boolean;24 children?: React.ReactNode;25 forceMount?: boolean;26};27type AlertDialogContentProps = AlertDialogPrimitive.Popup.Props & {28 asChild?: boolean;29 children?: React.ReactNode;30 forceMount?: boolean;31 onCloseAutoFocus?: AutoFocusEventHandler;32 onOpenAutoFocus?: AutoFocusEventHandler;33 size?: "default" | "sm";34} & DismissableLayerHandlers;35type AlertDialogButtonProps = React.ComponentProps<typeof AlertDialogPrimitive.Close> &36 Pick<React.ComponentProps<typeof Button>, "variant" | "size"> & {37 asChild?: boolean;38 children?: React.ReactNode;39 };40type AlertDialogContextProps = {41 cancelRef: React.RefObject<HTMLButtonElement | null>;42 dismissableLayerHandlersRef: React.RefObject<DismissableLayerHandlers>;43 open: boolean;44};4546type PreventableBaseUIEvent = {47 readonly baseUIHandlerPrevented?: boolean;48 readonly defaultPrevented?: boolean;49 preventBaseUIHandler?: () => void;50};51type EventHandler = (...args: unknown[]) => unknown;52type RenderFunction = (props: Record<string, unknown>, state: unknown) => React.ReactElement;5354function adaptEventHandlers(props: Record<string, unknown>, beforeBaseUIHandler: boolean) {55 const eventHandlers: Record<string, EventHandler> = {};5657 for (const [name, handler] of Object.entries(props)) {58 if (!/^on[A-Z]/.test(name) || typeof handler !== "function") {59 continue;60 }6162 eventHandlers[name] = (...args) => {63 const event = args[0] as PreventableBaseUIEvent | undefined;64 if (beforeBaseUIHandler && event?.defaultPrevented) {65// … truncated
What it pulls in
npm packages
Other registry items
