diff --git a/packages/core/src/components/alert-dialog/alert-dialog-content.tsx b/packages/core/src/components/alert-dialog/alert-dialog-content.tsx index a63aafa..bb33f70 100644 --- a/packages/core/src/components/alert-dialog/alert-dialog-content.tsx +++ b/packages/core/src/components/alert-dialog/alert-dialog-content.tsx @@ -43,8 +43,8 @@ export function AlertDialogContent(props: AlertDialogContentProps): JSX.Element id={ctx.contentId()} role="alertdialog" aria-modal="true" - aria-labelledby={ctx.titleId() ?? undefined} - aria-describedby={ctx.descriptionId() ?? undefined} + aria-labelledby={ctx.titleId() || undefined} + aria-describedby={ctx.descriptionId() || undefined} data-state={ctx.isOpen() ? "open" : "closed"} {...rest} > diff --git a/packages/core/src/components/alert-dialog/alert-dialog-root.tsx b/packages/core/src/components/alert-dialog/alert-dialog-root.tsx index 4d6c5fa..bc8615c 100644 --- a/packages/core/src/components/alert-dialog/alert-dialog-root.tsx +++ b/packages/core/src/components/alert-dialog/alert-dialog-root.tsx @@ -13,8 +13,11 @@ import { /** Props for the AlertDialog root. */ export interface AlertDialogRootProps { + /** Controls open state externally. */ open?: boolean; + /** Initial open state when uncontrolled. */ defaultOpen?: boolean; + /** Called when open state changes. */ onOpenChange?: (open: boolean) => void; children: JSX.Element; } diff --git a/packages/core/src/components/alert-dialog/alert-dialog-trigger.tsx b/packages/core/src/components/alert-dialog/alert-dialog-trigger.tsx index 58add57..29f7b33 100644 --- a/packages/core/src/components/alert-dialog/alert-dialog-trigger.tsx +++ b/packages/core/src/components/alert-dialog/alert-dialog-trigger.tsx @@ -18,7 +18,14 @@ export function AlertDialogTrigger(props: AlertDialogTriggerProps): JSX.Element }; return ( - );