/**
 * Shared status configuration for clarification cards.
 * Centralizes status colors, icons, labels, and priority ordering
 * used by both ClarificationCard and ClarificationGroupCard.
 */
import { HiExclamationCircle, HiCheckCircle, HiMinusCircle } from 'react-icons/hi';
/** Status configuration lookup */
export const STATUS_CONFIG = {
    pending: {
        bg: 'bg-red-50 dark:bg-red-950/30',
        text: 'text-red-700 dark:text-red-400',
        label: 'Needs Response',
        card_border: 'border-stone-200 dark:border-stone-700',
        card_left_border: 'border-l-red-500',
        icon_color: 'text-red-600 dark:text-red-400',
        icon_bg: 'bg-red-50 dark:bg-red-950/30',
        Icon: HiExclamationCircle,
        accent_border: 'border-red-500',
        issue_bg: 'bg-stone-50 dark:bg-stone-900/30',
        issue_label_color: 'text-stone-500 dark:text-stone-400',
        issue_icon_color: 'text-red-500 dark:text-red-400',
        response_bg: 'bg-blue-50/60 dark:bg-blue-950/20',
        response_border: 'border-blue-200 dark:border-blue-800/40',
        response_label_color: 'text-blue-600 dark:text-blue-400',
        response_radio_accent: 'accent-blue-600',
        submit_bg: 'bg-blue-600 hover:bg-blue-700',
        divider_label: 'Your Response',
    },
    responded: {
        bg: 'bg-blue-50 dark:bg-blue-950/30',
        text: 'text-blue-700 dark:text-blue-400',
        label: 'Responded',
        card_border: 'border-stone-200 dark:border-stone-700',
        card_left_border: 'border-l-blue-500',
        icon_color: 'text-blue-600 dark:text-blue-400',
        icon_bg: 'bg-blue-50 dark:bg-blue-950/30',
        Icon: HiCheckCircle,
        accent_border: 'border-blue-400',
        issue_bg: 'bg-stone-50/50 dark:bg-stone-900/20',
        issue_label_color: 'text-stone-400 dark:text-stone-500',
        issue_icon_color: 'text-blue-400 dark:text-blue-500',
        response_bg: 'bg-blue-50/40 dark:bg-blue-950/10',
        response_border: 'border-blue-200/60 dark:border-blue-800/30',
        response_label_color: 'text-blue-500 dark:text-blue-400',
        response_radio_accent: 'accent-blue-600',
        submit_bg: 'bg-blue-600 hover:bg-blue-700',
        divider_label: 'Response Submitted',
    },
    resolved: {
        bg: 'bg-green-50 dark:bg-green-950/30',
        text: 'text-green-700 dark:text-green-400',
        label: 'Resolved',
        card_border: 'border-stone-200 dark:border-stone-700',
        card_left_border: 'border-l-green-500',
        icon_color: 'text-green-600 dark:text-green-400',
        icon_bg: 'bg-green-50 dark:bg-green-950/30',
        Icon: HiCheckCircle,
        accent_border: 'border-green-400',
        issue_bg: 'bg-stone-50/30 dark:bg-stone-900/10',
        issue_label_color: 'text-stone-400 dark:text-stone-500',
        issue_icon_color: 'text-green-400 dark:text-green-500',
        response_bg: 'bg-green-50/30 dark:bg-green-950/10',
        response_border: 'border-green-200/50 dark:border-green-800/30',
        response_label_color: 'text-green-500 dark:text-green-400',
        response_radio_accent: 'accent-green-600',
        submit_bg: 'bg-green-600 hover:bg-green-700',
        divider_label: 'Response Submitted',
    },
    dismissed: {
        bg: 'bg-gray-50 dark:bg-gray-900/30',
        text: 'text-gray-500 dark:text-gray-400',
        label: 'Dismissed',
        card_border: 'border-stone-200 dark:border-stone-700',
        card_left_border: 'border-l-gray-400',
        icon_color: 'text-gray-400',
        icon_bg: 'bg-gray-50 dark:bg-gray-900/30',
        Icon: HiMinusCircle,
        accent_border: 'border-gray-300',
        issue_bg: 'bg-stone-50/30 dark:bg-stone-900/10',
        issue_label_color: 'text-stone-400 dark:text-stone-500',
        issue_icon_color: 'text-gray-400 dark:text-gray-500',
        response_bg: 'bg-gray-50/30 dark:bg-gray-900/10',
        response_border: 'border-gray-200 dark:border-gray-700/40',
        response_label_color: 'text-gray-400 dark:text-gray-500',
        response_radio_accent: 'accent-gray-600',
        submit_bg: 'bg-gray-600 hover:bg-gray-700',
        divider_label: 'Dismissed',
    },
};
/** Group card badge styles (slightly different from card header) */
export const STATUS_BADGE_STYLES = {
    pending: { bg: 'bg-amber-100 dark:bg-amber-900/40', text: 'text-amber-700 dark:text-amber-400', label: 'Pending' },
    responded: { bg: 'bg-blue-100 dark:bg-blue-900/40', text: 'text-blue-700 dark:text-blue-400', label: 'Responded' },
    resolved: { bg: 'bg-green-100 dark:bg-green-900/40', text: 'text-green-700 dark:text-green-400', label: 'Resolved' },
    dismissed: { bg: 'bg-gray-100 dark:bg-gray-800', text: 'text-gray-600 dark:text-gray-400', label: 'Dismissed' },
};
/** Priority order: pending > responded > resolved > dismissed (lower = higher priority) */
export const STATUS_PRIORITY = {
    pending: 0,
    responded: 1,
    resolved: 2,
    dismissed: 3,
};
/** Get the worst (highest priority) status from a list of items */
export function get_worst_status(items) {
    let worst = 'dismissed';
    let worst_priority = STATUS_PRIORITY[worst] ?? 9;
    for (const item of items) {
        const p = STATUS_PRIORITY[item.status] ?? 9;
        if (p < worst_priority) {
            worst = item.status;
            worst_priority = p;
        }
    }
    return worst;
}
/** Get the appropriate text class for issue description based on status */
export function get_issue_text_class(status) {
    if (status === 'resolved')
        return 'text-foreground/70 dark:text-foreground/60';
    if (status === 'responded')
        return 'text-foreground/70 dark:text-foreground/60';
    if (status === 'dismissed')
        return 'text-muted-foreground';
    return 'text-red-600 dark:text-red-400 font-medium';
}
/** Get the muted variant of issue text class (for validation details) */
export function get_issue_detail_text_class(status) {
    if (status === 'resolved' || status === 'responded')
        return 'text-foreground/60 dark:text-foreground/50';
    if (status === 'dismissed')
        return 'text-muted-foreground/80';
    return 'text-red-600/80 dark:text-red-400/80';
}
//# sourceMappingURL=clarification_status_config.js.map