{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"readme-badge-row","type":"registry:component","title":"Readme Badge Row","description":"Horizontal layout wrapper for multiple badges with consistent spacing, wrapping, and alignment. Pairs with ReadmeBadge.","dependencies":[],"registryDependencies":[],"categories":["badges","readme","layout"],"files":[{"path":"registry/readme-badge-row/readme-badge-row.tsx","type":"registry:component","content":"/**\n * shieldcn\n * ReadmeBadgeRow\n * by Justin Levine\n * shieldcn.dev\n *\n * Horizontal layout wrapper for multiple badges with consistent spacing,\n * wrapping, and alignment. Works with ReadmeBadge or any inline elements.\n *\n * Props:\n * - gap?: spacing between badges (\"xs\" | \"sm\" | \"md\" | \"lg\", default \"sm\")\n * - align?: horizontal alignment (\"left\" | \"center\" | \"right\", default \"left\")\n * - className?: additional class names\n * - children: badge elements\n */\n\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst gapMap = {\n  xs: \"gap-1\",\n  sm: \"gap-2\",\n  md: \"gap-3\",\n  lg: \"gap-4\",\n} as const\n\nconst alignMap = {\n  left: \"justify-start\",\n  center: \"justify-center\",\n  right: \"justify-end\",\n} as const\n\ninterface ReadmeBadgeRowProps extends React.ComponentProps<\"div\"> {\n  /** Spacing between badges. @default \"sm\" */\n  gap?: keyof typeof gapMap\n  /** Horizontal alignment. @default \"left\" */\n  align?: keyof typeof alignMap\n  /** Additional class names. */\n  className?: string\n  children: React.ReactNode\n}\n\nfunction ReadmeBadgeRow({\n  gap = \"sm\",\n  align = \"left\",\n  className,\n  children,\n  ...props\n}: ReadmeBadgeRowProps) {\n  return (\n    <div\n      data-slot=\"readme-badge-row\"\n      className={cn(\n        \"flex flex-wrap items-center\",\n        gapMap[gap],\n        alignMap[align],\n        className\n      )}\n      {...props}\n    >\n      {children}\n    </div>\n  )\n}\n\nexport { ReadmeBadgeRow }\nexport type { ReadmeBadgeRowProps }\n"}]}