light static method

Theme light()

Light theme with blue accents.

Implementation

static Theme light() {
  const primary = AnsiColor(33); // Blue
  const secondary = AnsiColor(90); // Purple
  const surface = AnsiColor(254); // Light gray
  const background = AnsiColor(255); // White
  const error = AnsiColor(160); // Dark red
  const success = AnsiColor(28); // Dark green
  const warning = AnsiColor(172); // Dark orange
  const onPrimary = AnsiColor(255); // White
  const onSecondary = AnsiColor(255); // White
  const onSurface = AnsiColor(235); // Dark gray
  const onBackground = AnsiColor(232); // Black
  const onError = AnsiColor(255); // White
  const muted = AnsiColor(245); // Gray
  const border = AnsiColor(250); // Light gray

  return Theme(
    primary: primary,
    secondary: secondary,
    surface: surface,
    background: background,
    error: error,
    success: success,
    warning: warning,
    onPrimary: onPrimary,
    onSecondary: onSecondary,
    onSurface: onSurface,
    onBackground: onBackground,
    onError: onError,
    muted: muted,
    border: border,
    // Extended colors
    surfaceVariant: const AnsiColor(253), // Slightly darker than white
    onSurfaceVariant: onSurface,
    outline: const AnsiColor(248), // Subtle light divider
    info: const AnsiColor(33), // Blue (same as primary)
    onSuccess: const AnsiColor(255), // White on green
    onWarning: const AnsiColor(232), // Black on orange
    onInfo: const AnsiColor(255), // White on blue
    highlight: const AnsiColor(153), // Light blue highlight
    onHighlight: const AnsiColor(232), // Black on highlight
    shadow: const AnsiColor(248), // Light gray shadow
    // Text styles
    titleLarge: Style().bold().foreground(onBackground),
    titleMedium: Style().bold().foreground(onSurface),
    titleSmall: Style().bold().foreground(muted),
    bodyLarge: Style().foreground(onBackground),
    bodyMedium: Style().foreground(onSurface),
    bodySmall: Style().foreground(muted),
    labelLarge: Style().foreground(onSurface),
    labelMedium: Style().foreground(muted),
    labelSmall: Style().dim().foreground(muted),
  );
}