import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
// packages/ui/src/internal/layout/zones/DnDevHeader.tsx
/**
 * @fileoverview DnDevHeader Zone Component
 * @description Header zone with smart defaults.
 *
 * Layout: start (start-aligned) | center (absolutely centered) | end (end-aligned)
 * - start: [AppIcon, AppTitle] - start-aligned
 * - center: null - absolutely centered overlay (regardless of start/end content)
 * - end: [GoTo, Auth, Language, Theme] - end-aligned
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
import { memo } from 'react';
import { cn } from '@donotdev/components';
/**
 * DnDevHeader - Header zone with smart defaults
 *
 * Layout: start (start-aligned) | center (absolutely centered) | end (end-aligned)
 * Center is absolutely positioned overlay, independent of start/end content.
 *
 * @critical The `<header>` MUST have `role="banner"` and className `"header"`.
 * ALL header CSS in layout-variables.css targets `header[role='banner']`.
 * The inner divs MUST use classNames `"header-start"`, `"header-center"`, `"header-end"`.
 * Removing or renaming any of these silently breaks header layout, spacing, visibility,
 * and preset-specific rules (e.g. landing compact mode, mergedBar hiding).
 * DO NOT change role, tag, or classNames.
 */
function DnDevHeaderComponent({ start, center, end, }) {
    // Check if center has content
    const hasCenter = center !== null && center !== undefined;
    return (_jsxs("header", { role: "banner", className: "header", children: [_jsx("div", { className: "header-start", children: start }), hasCenter && _jsx("div", { className: "header-center", children: center }), _jsx("div", { className: "header-end", children: end })] }));
}
export const DnDevHeader = memo(DnDevHeaderComponent);
