{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "kbd",
  "title": "Kbd",
  "author": "AniBT <https://anibt.net>",
  "description": "AniBT key cap: a sunk 20px cap with a 1px floor in the round face, and KbdGroup for a chord.",
  "registryDependencies": [
    "@anibt/theme"
  ],
  "files": [
    {
      "path": "registry/anibt/ui/kbd.tsx",
      "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n/**\n * Kbd — an AniBT 「贴纸手账」 key cap: ⌘K in a search field, esc and ↑ ↓ ↵\n * along a palette's legend.\n *\n * A sunk 20px cap on radius 6: the `--muted` well inside a 1px `--border`\n * ring with a 1px `--input` floor, the figure in the round face (Fredoka\n * 600/12). It is the `anibt-kbd` recipe spelled out in classes, so a caller's\n * `hidden sm:inline-flex` merges. Inside a tooltip (`data-slot=\n * \"tooltip-content\"`) it turns into a faint cap on the dark bubble.\n *\n * `KbdGroup` sets a few caps side by side (Ctrl + K).\n */\nfunction Kbd({ className, ...props }: React.ComponentProps<\"kbd\">) {\n  return (\n    <kbd\n      data-slot=\"kbd\"\n      className={cn(\n        \"pointer-events-none inline-flex h-5 w-fit min-w-5 shrink-0 items-center justify-center gap-0.5 rounded-[6px] bg-muted px-1 font-anibt-display text-[12px] leading-none font-semibold text-muted-foreground shadow-[inset_0_-1px_0_var(--input),inset_0_0_0_1px_var(--border)] select-none\",\n        \"in-data-[slot=tooltip-content]:bg-anibt-tip-ink/15 in-data-[slot=tooltip-content]:text-anibt-tip-ink in-data-[slot=tooltip-content]:shadow-none\",\n        \"[&_svg:not([class*='size-'])]:size-3\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction KbdGroup({ className, ...props }: React.ComponentProps<\"kbd\">) {\n  return <kbd data-slot=\"kbd-group\" className={cn(\"inline-flex items-center gap-1\", className)} {...props} />\n}\n\nexport { Kbd, KbdGroup }\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "display"
  ],
  "type": "registry:ui"
}