import * as React from "react"; import { cn } from "@/lib/utils"; /** * Auth form container. On phones it is borderless and fills the column (full-height flow, big * title, 16 px inputs from the base styles); from `sm` up it becomes an elevated card. */ export function AuthCard({ title, description, children, footer, icon, className }: { title: string; description?: React.ReactNode; children: React.ReactNode; footer?: React.ReactNode; icon?: React.ReactNode; className?: string }) { return (
{icon ?
{icon}
: null}

{title}

{description ?

{description}

: null}
{children}
{footer ?
{footer}
: null}
); } export function FormError({ children, id }: { children?: React.ReactNode; id?: string }) { if (!children) return null; return ( ); } export function FormNotice({ children, tone = "info" }: { children: React.ReactNode; tone?: "info" | "success" | "warning" }) { const cls = { info: "border-info/30 bg-info-soft text-info", success: "border-success/30 bg-success-soft text-success", warning: "border-warning/30 bg-warning-soft text-warning" }[tone]; return (
{children}
); }