import { jsx as _jsx } from "react/jsx-runtime";
import { CheckCircle2, Clock3, PauseCircle, PlayCircle, } from "lucide-react";
export function WizardTaskStatusBadge(props) {
    const { status, testId } = props;
    const label = status === "InProgress"
        ? "In progress"
        : status === "Waiting"
            ? "Waiting"
            : (status ?? "—");
    const statusClass = status === "Done"
        ? "border-emerald-200 bg-emerald-50 text-emerald-800"
        : status === "Waiting"
            ? "border-amber-200 bg-amber-50 text-amber-800"
            : status === "Review"
                ? "border-amber-200 bg-amber-50 text-amber-800"
                : status === "InProgress"
                    ? "border-sky-200 bg-sky-50 text-sky-800"
                    : "border-slate-200 bg-slate-50 text-slate-700";
    return (_jsx("span", { className: `rounded-full border px-2.5 py-1 font-medium ${statusClass}`, "data-testid": testId, children: label }));
}
export function getSummaryPresentation(summaryState, stats) {
    switch (summaryState) {
        case "working":
            return {
                icon: PlayCircle,
                title: "Agents are working",
                description: stats.runningCount > 0
                    ? `${stats.runningCount} active task${stats.runningCount === 1 ? "" : "s"} currently running.`
                    : "The next update will appear here as agents make progress.",
                accentClass: "border-emerald-200 bg-emerald-50 text-emerald-900",
            };
        case "blocked":
            return {
                icon: PauseCircle,
                title: "Tasks are blocked",
                description: stats.blockedCount > 0
                    ? `${stats.blockedCount} open task${stats.blockedCount === 1 ? "" : "s"} waiting on dependencies.`
                    : "Open tasks are currently waiting on dependencies.",
                accentClass: "border-amber-200 bg-amber-50 text-amber-900",
            };
        case "complete":
            return {
                icon: CheckCircle2,
                title: "All tasks are complete",
                description: "Nothing needs attention right now. The project is fully complete.",
                accentClass: "border-emerald-200 bg-emerald-50 text-emerald-900",
            };
        case "idle":
        default:
            return {
                icon: Clock3,
                title: "Waiting for the next step",
                description: "No agent currently needs input. Launch or unblock work to continue.",
                accentClass: "border-slate-200 bg-slate-50 text-slate-900",
            };
    }
}
export const compactMarkdownComponents = {
    h1: (props) => (_jsx("h1", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "15px",
            lineHeight: "18px",
            fontWeight: 600,
            color: "#1e293b",
        } })),
    h2: (props) => (_jsx("h2", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "14px",
            lineHeight: "17px",
            fontWeight: 600,
            color: "#1e293b",
        } })),
    h3: (props) => (_jsx("h3", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "13px",
            lineHeight: "16px",
            fontWeight: 600,
            color: "#1e293b",
        } })),
    p: (props) => (_jsx("p", { ...props, className: "my-0 text-xs leading-5 text-slate-600" })),
    ul: (props) => (_jsx("ul", { ...props, className: "my-1 ml-4 list-disc text-xs leading-5 text-slate-600" })),
    ol: (props) => (_jsx("ol", { ...props, className: "my-1 ml-4 list-decimal text-xs leading-5 text-slate-600" })),
    li: (props) => _jsx("li", { ...props, className: "my-0.5 text-xs leading-5" }),
    pre: (props) => (_jsx("pre", { ...props, className: "my-1 overflow-auto rounded bg-slate-100 px-2 py-1 text-[11px] leading-4 text-slate-700" })),
    code: ({ inline, className, ...props }) => inline ? (_jsx("code", { ...props, className: "rounded bg-slate-100 px-1 py-0.5 text-[10px] text-slate-700" })) : (_jsx("code", { ...props, className: className })),
};
//# sourceMappingURL=WizardCommunicationShared.js.map