import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { cn } from "../lib/utils";
/**
 * Reusable page header component with icon, title, and optional description.
 * Used for consistent page headers across the application.
 */
export function PageHeader({ icon, title, description, className, iconClassName, titleClassName, descriptionClassName, variant = "default", showIconBox = true, actions, }) {
    const isCompact = variant === "compact";
    return (_jsx("div", { className: cn("shrink-0 bg-white", isCompact ? "px-6 py-4" : "px-8 pt-10 pb-6", className), "data-testid": "page-header", children: _jsxs("div", { className: "flex items-center gap-4", children: [icon && (_jsx("div", { className: cn("flex shrink-0 items-center justify-center", showIconBox
                        ? cn("bg-neutral-grey-100 shadow-neutral-grey-100/10 rounded-2xl text-white shadow-xl", isCompact ? "h-10 w-10" : "h-12 w-12")
                        : "text-neutral-grey-50", iconClassName), children: icon })), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("h1", { className: cn("text-neutral-grey-100 font-extrabold tracking-tight", isCompact ? "text-xl font-semibold" : "text-2xl sm:text-3xl", titleClassName), children: title }), description && (_jsx("p", { className: cn("text-neutral-grey-50 font-medium", isCompact ? "text-sm" : "text-[15px]", descriptionClassName), children: description }))] }), actions && (_jsx("div", { className: "ml-auto flex shrink-0 items-center gap-2", children: actions }))] }) }));
}
//# sourceMappingURL=PageHeader.js.map