[READ-ONLY] a fast, modern browser for the npm registry
at main 48 lines 1.7 kB view raw
1// @unocss-include 2 3import type { OsvSeverityLevel } from '../types' 4import { SEVERITY_LEVELS } from '../types' 5 6/** 7 * Color classes for severity levels (banner style) 8 */ 9export const SEVERITY_COLORS: Record<OsvSeverityLevel, string> = { 10 critical: 'text-red-700 dark:text-red-500 bg-red-800/10 dark:bg-red-500/10 border-red-500/50', 11 high: 'text-red-800 dark:text-red-400 bg-red-800/10 dark:bg-red-500/10 border-red-500/30', 12 moderate: 13 'text-orange-800 dark:text-orange-400 bg-orange-600/10 dark:bg-orange-500/10 border-orange-500/30', 14 low: 'text-yellow-700 dark:text-yellow-400 bg-yellow-500/10 border-yellow-500/30', 15 unknown: 'text-fg-muted bg-bg-subtle border-border', 16} 17 18/** 19 * Color classes for inline severity indicators 20 */ 21export const SEVERITY_TEXT_COLORS: Record<OsvSeverityLevel, string> = { 22 critical: 'text-red-700 dark:text-red-500', 23 high: 'text-orange-700 dark:text-orange-500', 24 moderate: 'text-yellow-700 dark:text-yellow-500', 25 low: 'text-blue-700 dark:text-blue-500', 26 unknown: 'text-fg-subtle', 27} 28 29/** 30 * Badge color classes for severity levels 31 */ 32export const SEVERITY_BADGE_COLORS: Record<OsvSeverityLevel, string> = { 33 critical: 'bg-bg-muted border border-border text-fg', 34 high: 'bg-bg-muted border border-border text-fg-muted', 35 moderate: 'bg-bg-muted border border-border text-fg-muted', 36 low: 'bg-bg-muted border border-border text-fg-subtle', 37 unknown: 'bg-bg-muted border border-border text-fg-subtle', 38} 39 40/** 41 * Get highest severity from counts 42 */ 43export function getHighestSeverity(counts: Record<string, number>): OsvSeverityLevel { 44 for (const s of SEVERITY_LEVELS) { 45 if ((counts[s] ?? 0) > 0) return s 46 } 47 return 'unknown' 48}