beuiChartColor function

Color beuiChartColor(
  1. String? css,
  2. BeuiColors colors, {
  3. Color? fallback,
})

Parses a source CSS color: hex (#rgb / #rrggbb / #rrggbbaa) or a handful of var(--token) aliases the chart family actually uses.

Implementation

Color beuiChartColor(String? css, BeuiColors colors, {Color? fallback}) {
  if (css == null || css.isEmpty) return fallback ?? colors.primary;
  final trimmed = css.trim();
  if (trimmed.startsWith('var(')) {
    return switch (trimmed) {
      'var(--muted-foreground)' => colors.mutedForeground,
      'var(--foreground)' => colors.foreground,
      'var(--background)' => colors.background,
      'var(--muted)' => colors.muted,
      'var(--border)' => colors.border,
      'var(--primary)' => colors.primary,
      'var(--accent)' => colors.accent,
      'var(--success)' => colors.success,
      'var(--warning)' => colors.warning,
      'var(--destructive)' => colors.destructive,
      _ => fallback ?? colors.primary,
    };
  }
  return _parseHex(trimmed) ?? fallback ?? colors.primary;
}