modelsdev 0.11.4

A fast TUI and CLI for browsing AI models, benchmarks, and coding agents
---
import Card from "@/components/bearnie/card/Card.astro";

interface Props {
  label: string;
  value: string;
  accent: "cyan" | "magenta" | "green" | "amber";
}

const { label, value, accent } = Astro.props;

const accentColors = {
  cyan: "border-[rgba(34,211,238,0.2)]",
  magenta: "border-[rgba(244,114,182,0.2)]",
  green: "border-[rgba(74,222,128,0.2)]",
  amber: "border-[rgba(251,191,36,0.2)]",
};

const numberColors = {
  cyan: "text-[var(--neon-cyan)] glow-cyan",
  magenta: "text-[var(--neon-magenta)] glow-magenta",
  green: "text-[var(--neon-green)] glow-green",
  amber: "text-[var(--neon-amber)] glow-amber",
};
---

<Card
  class:list={[
    "overflow-hidden rounded-none",
    accentColors[accent],
    "motion-safe:opacity-0",
  ]}
  data-stat-card
  data-accent={accent}
>
  <div class="relative flex flex-col justify-between p-6">
    <div class="font-mono text-[10px] tracking-widest text-slate-500 uppercase">
      {label}
    </div>
    <div class="mt-2">
      <div
        class:list={[
          "z-10 text-5xl font-black [font-variant-numeric:tabular-nums]",
          numberColors[accent],
        ]}
        data-count-target={value}
      >
        0
      </div>
    </div>
    <slot />
  </div>
</Card>