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-transparent bg-feedback-green-light text-feedback-green"
        : status === "Waiting"
            ? "border-transparent bg-feedback-orange-light text-feedback-orange"
            : status === "Review"
                ? "border-transparent bg-feedback-orange-light text-feedback-orange"
                : status === "InProgress"
                    ? "border-transparent bg-feedback-blue-light text-feedback-blue"
                    : "border-transparent bg-feedback-grey-light text-feedback-grey";
    return (_jsx("span", { className: `rounded-badge badge-pad text-2xs border 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-feedback-green bg-feedback-green-light text-feedback-green",
            };
        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-feedback-orange bg-feedback-orange-light text-feedback-orange",
            };
        case "complete":
            return {
                icon: CheckCircle2,
                title: "All tasks are complete",
                description: "Nothing needs attention right now. The project is fully complete.",
                accentClass: "border-feedback-green bg-feedback-green-light text-feedback-green",
            };
        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-border-default bg-neutral-grey-5 text-neutral-grey-100",
            };
    }
}
export const compactMarkdownComponents = {
    h1: (props) => (_jsx("h1", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "15px",
            lineHeight: "18px",
            fontWeight: 600,
            color: "var(--color-neutral-grey-100)",
        } })),
    h2: (props) => (_jsx("h2", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "14px",
            lineHeight: "17px",
            fontWeight: 600,
            color: "var(--color-neutral-grey-100)",
        } })),
    h3: (props) => (_jsx("h3", { ...props, style: {
            marginTop: 0,
            marginBottom: "4px",
            fontSize: "13px",
            lineHeight: "16px",
            fontWeight: 600,
            color: "var(--color-neutral-grey-100)",
        } })),
    p: (props) => (_jsx("p", { ...props, className: "text-neutral-grey-50 my-0 text-xs leading-5" })),
    ul: (props) => (_jsx("ul", { ...props, className: "text-neutral-grey-50 my-1 ml-4 list-disc text-xs leading-5" })),
    ol: (props) => (_jsx("ol", { ...props, className: "text-neutral-grey-50 my-1 ml-4 list-decimal text-xs leading-5" })),
    li: (props) => _jsx("li", { ...props, className: "my-0.5 text-xs leading-5" }),
    pre: (props) => (_jsx("pre", { ...props, className: "bg-neutral-grey-5 badge-pad text-2xs text-neutral-grey-100 my-1 overflow-auto rounded leading-4" })),
    code: ({ inline, className, ...props }) => inline ? (_jsx("code", { ...props, className: "bg-neutral-grey-5 text-neutral-grey-100 rounded px-1 py-0.5 text-[10px]" })) : (_jsx("code", { ...props, className: className })),
};
//# sourceMappingURL=WizardCommunicationShared.js.map