SPB Git forge
38commits 1branches 0releases
338.7 MBsize
maindefault branch
6 h agolast push
HTML 53.9% TypeScript 44.5% JavaScript 0.6% SQL 0.5%
835 B · 18 lines tsx
Raw Blame History
1import { countryName, flagEmoji } from "@/lib/format";2import { cn } from "./cn";34/** Emoji flag from iso2 with accessible name; optional text label. */5export function CountryFlag({ iso2, withName, className, size = 14 }: { iso2: string | null | undefined; withName?: boolean; className?: string; size?: number }) {6  if (!iso2) return withName ? <span className={cn("text-ink-3", className)}>—</span> : null;7  const name = countryName(iso2);8  return (9    <span className={cn("inline-flex items-center gap-1.5", className)} title={name}>10      <span role="img" aria-label={name} style={{ fontSize: size, lineHeight: 1 }} className="font-[emoji]">11        {flagEmoji(iso2)}12      </span>13      {withName && <span className="truncate">{name}</span>}14      {!withName && <span className="sr-only">{name}</span>}15    </span>16  );17}18