/** * AlertDialog — WealthX DS overrides (shadcn / \@base-ui alert-dialog) * * Changes from shadcn default: * - AlertDialogOverlay: `bg-black/50` → `bg-foreground/50` — DS foreground token (matches Figma) * - AlertDialogContent: `rounded-lg` removed — sharp corners per Figma * - AlertDialogContent: `shadow-lg` removed — flat panels per Figma * - AlertDialogFooter: always row, right-aligned; `border-t border-border pt-4` separator * - AlertDialogMedia: borderless icon slot — `size-10` default, `size-8` sm */ import { type ReactElement } from "react"; import * as React from "react"; import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog"; import { cn } from "@/lib/utils"; import { asChildProps } from "@/lib/as-child"; import { useThemeVars } from "@/lib/theme-provider"; import { buttonVariants } from "@/components/ui/button"; export type AlertDialogProps = React.ComponentProps< typeof AlertDialogPrimitive.Root >; function AlertDialog({ ...props }: AlertDialogProps): ReactElement { return ; } export type AlertDialogTriggerProps = React.ComponentProps< typeof AlertDialogPrimitive.Trigger > & { /** shadcn-compatible alias for Base UI's `render`: replaces the trigger with its single child. */ asChild?: boolean; }; function AlertDialogTrigger({ asChild, children, ...props }: AlertDialogTriggerProps): ReactElement { return ( ); } export type AlertDialogPortalProps = React.ComponentProps< typeof AlertDialogPrimitive.Portal >; function AlertDialogPortal({ ...props }: AlertDialogPortalProps): ReactElement { return ( ); } export type AlertDialogOverlayProps = React.ComponentProps< typeof AlertDialogPrimitive.Backdrop >; function AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps): ReactElement { return ( ); } export type AlertDialogContentProps = React.ComponentProps< typeof AlertDialogPrimitive.Popup > & { size?: "default" | "sm"; }; function AlertDialogContent({ className, size = "default", style, ...props }: AlertDialogContentProps): ReactElement { const themeVars = useThemeVars(); return ( ); } export type AlertDialogHeaderProps = React.ComponentProps<"div">; function AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps): ReactElement { return (
); } export type AlertDialogFooterProps = React.ComponentProps<"div">; function AlertDialogFooter({ className, ...props }: AlertDialogFooterProps): ReactElement { return (
); } export type AlertDialogTitleProps = React.ComponentProps< typeof AlertDialogPrimitive.Title >; function AlertDialogTitle({ className, ...props }: AlertDialogTitleProps): ReactElement { return ( ); } export type AlertDialogDescriptionProps = React.ComponentProps< typeof AlertDialogPrimitive.Description >; function AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps): ReactElement { return ( ); } export type AlertDialogMediaProps = React.ComponentProps<"div">; function AlertDialogMedia({ className, ...props }: AlertDialogMediaProps): ReactElement { return (
); } export type AlertDialogActionProps = React.ComponentProps< typeof AlertDialogPrimitive.Close > & { variant?: | "default" | "destructive" | "outline" | "secondary" | "ghost" | "link"; size?: "default" | "sm" | "lg" | "xs" | "icon"; }; function AlertDialogAction({ className, variant = "default", size = "default", ...props }: AlertDialogActionProps): ReactElement { return ( ); } export type AlertDialogCancelProps = React.ComponentProps< typeof AlertDialogPrimitive.Close > & { variant?: | "default" | "destructive" | "outline" | "secondary" | "ghost" | "link"; size?: "default" | "sm" | "lg" | "xs" | "icon"; }; function AlertDialogCancel({ className, variant = "outline", size = "default", ...props }: AlertDialogCancelProps): ReactElement { return ( ); } export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };