export const WCAG_TAGS = {
  WCAG_2_0_A: ['wcag2a', 'wcag20a'],
  WCAG_2_0_AA: ['wcag2aa', 'wcag20aa'],
  WCAG_2_0_AAA: ['wcag2aaa', 'wcag20aaa'],
  WCAG_2_1_A: ['wcag21a'],
  WCAG_2_1_AA: ['wcag21aa'],
  WCAG_2_1_AAA: ['wcag21aaa'],
  WCAG_2_2_A: ['wcag22a'],
  WCAG_2_2_AA: ['wcag22aa'],
  WCAG_2_2_AAA: ['wcag22aaa'],
} as const;

export const IMPACT_SCORES = {
  critical: 100,
  serious: 75,
  moderate: 50,
  minor: 25,
} as const;

export const COMPLIANCE_THRESHOLDS = {
  A: 0.95,
  AA: 0.98,
  AAA: 1.0,
} as const;

export const DEFAULT_VIEWPORT = {
  width: 1280,
  height: 720,
  deviceScaleFactor: 1,
  isMobile: false,
} as const;

export const MOBILE_VIEWPORT = {
  width: 375,
  height: 667,
  deviceScaleFactor: 2,
  isMobile: true,
} as const;

export const SCAN_TIMEOUTS = {
  PAGE_LOAD: 30000,
  SCAN_EXECUTION: 60000,
  TOTAL: 120000,
} as const;

export const RESOURCE_BLOCK_PATTERNS = [
  '*.gif',
  '*.jpg',
  '*.jpeg',
  '*.png',
  '*.svg',
  '*.webp',
  '*.woff',
  '*.woff2',
  '*.ttf',
  '*.eot',
  'fonts.googleapis.com',
  'fonts.gstatic.com',
  'googletagmanager.com',
  'google-analytics.com',
  'facebook.com',
  'twitter.com',
  'doubleclick.net',
];

export const CRITICAL_WCAG_CRITERIA = [
  '1.1.1', // Non-text Content
  '1.3.1', // Info and Relationships
  '1.4.3', // Contrast (Minimum)
  '2.1.1', // Keyboard
  '2.1.2', // No Keyboard Trap
  '2.4.1', // Bypass Blocks
  '2.4.2', // Page Titled
  '2.4.3', // Focus Order
  '2.4.4', // Link Purpose
  '3.1.1', // Language of Page
  '3.3.1', // Error Identification
  '3.3.2', // Labels or Instructions
  '4.1.1', // Parsing
  '4.1.2', // Name, Role, Value
] as const;