/**
 * Shared semantic color type and common color maps.
 *
 * Components with extra colors extend locally:
 *   export type SpinnerColor = SemanticColor | 'dark';
 */
/**
 * Background colors for semantic colors.
 * neutral uses neutral-400; others use their base variable.
 */
const semanticBgColors = {
    neutral: "bg-[var(--color-neutral-400)]",
    primary: "bg-[var(--color-primary)]",
    secondary: "bg-[var(--color-secondary)]",
    success: "bg-[var(--color-success)]",
    warning: "bg-[var(--color-warning)]",
    danger: "bg-[var(--color-danger)]",
};
/**
 * Text colors for semantic colors.
 * neutral uses text-primary; others use their base variable.
 */
const semanticTextColors = {
    neutral: "text-[var(--color-text-primary)]",
    primary: "text-[var(--color-primary)]",
    secondary: "text-[var(--color-secondary)]",
    success: "text-[var(--color-success)]",
    warning: "text-[var(--color-warning)]",
    danger: "text-[var(--color-danger)]",
};
/**
 * Spinner border colors for semantic colors.
 * Each value is the atomic pair: border color + transparent top.
 * neutral uses --color-border; others use their base variable.
 */
const semanticSpinnerColors = {
    neutral: "border-[var(--color-border)] border-t-transparent",
    primary: "border-[var(--color-primary)] border-t-transparent",
    secondary: "border-[var(--color-secondary)] border-t-transparent",
    success: "border-[var(--color-success)] border-t-transparent",
    warning: "border-[var(--color-warning)] border-t-transparent",
    danger: "border-[var(--color-danger)] border-t-transparent",
};

export { semanticBgColors, semanticSpinnerColors, semanticTextColors };
