'use client';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { AlertTriangle, Check, CircleHelp, X } from 'lucide-react';
import { SettingsCard } from './components.js';
/** Small status icon used in check/summary rows. Text label always accompanies it. */
export function CheckIcon({ status }) {
    switch (status) {
        case 'pass':
            return _jsx(Check, { size: 15, className: "text-success shrink-0", "aria-hidden": "true" });
        case 'warning':
            return _jsx(AlertTriangle, { size: 15, className: "text-warning shrink-0", "aria-hidden": "true" });
        case 'fail':
            return _jsx(X, { size: 15, className: "text-destructive shrink-0", "aria-hidden": "true" });
        default:
            return _jsx(CircleHelp, { size: 15, className: "text-muted-foreground shrink-0", "aria-hidden": "true" });
    }
}
const STATUS_WORD = {
    pass: 'Pass',
    warning: 'Warning',
    fail: 'Fail',
    unknown: 'Unknown',
};
/** A status row: icon + label on the left, value on the right. */
export function StatusRow({ status, label, value, badge, }) {
    return (_jsxs("div", { className: "flex items-center justify-between gap-3 py-1.5 text-sm", children: [_jsxs("span", { className: "flex items-center gap-2", children: [_jsx(CheckIcon, { status: status }), _jsxs("span", { className: "sr-only", children: [STATUS_WORD[status], ": "] }), _jsx("span", { className: "text-foreground", children: label }), badge] }), value !== undefined && _jsx("span", { className: "text-muted-foreground text-right", children: value })] }));
}
/**
 * Section wrapper for the Security tab. Delegates to the shared
 * {@link SettingsCard} so Security matches the canonical Settings design
 * language (p-6, text-lg title, muted description). `headingId` is accepted
 * for backward compatibility but ignored — {@link SettingsCard} generates and
 * wires its own accessible heading id.
 */
export function SecurityCard({ title, description, actions, children, }) {
    return (_jsx(SettingsCard, { title: title, description: description, actions: actions, children: children }));
}
//# sourceMappingURL=securityPrimitives.js.map