{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "kbd",
  "type": "registry:ui",
  "title": "Kbd",
  "description": "Inline keyboard-key styling for documenting shortcuts (⌘K, Ctrl+C).",
  "dependencies": [
    "@saasflare/ui"
  ],
  "files": [
    {
      "path": "components/ui/kbd.tsx",
      "type": "registry:ui",
      "content": "// @toreview\n\"use client\"\n\n/**\n * @fileoverview Kbd primitive — renders keyboard shortcut keys with platform-aware\n * styling. Supports individual keys and grouped key combinations. Part of the\n * Saasflare base component layer.\n * @module packages/ui/components/ui/kbd\n * @layer core\n *\n * @component\n * @example\n * import { Kbd, KbdGroup } from '@saasflare/ui';\n * <KbdGroup><Kbd>Ctrl</Kbd><Kbd>S</Kbd></KbdGroup>\n */\nimport { cn } from \"@saasflare/ui\"\nimport { useSaasflareProps, type SaasflareComponentProps } from \"@saasflare/ui\"\n\n/** Props for {@link Kbd}. */\ninterface KbdProps extends Omit<React.ComponentProps<\"kbd\">, keyof SaasflareComponentProps>, SaasflareComponentProps {}\n\n/**\n * Renders a single keyboard key as a styled `<kbd>` element. Use it in\n * tooltips, menus, and docs to surface keyboard shortcuts.\n *\n * @component\n * @layer core\n */\nfunction Kbd({ className, surface, radius, animated, iconWeight, ...props }: KbdProps) {\n  const sf = useSaasflareProps({ surface, radius, animated, iconWeight })\n\n  return (\n    <kbd\n      {...props}\n      data-slot=\"kbd\"\n      data-surface={sf.surface}\n      data-radius={sf.radius}\n      data-animated={String(sf.animated)}\n      className={cn(\n        \"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none\",\n        \"[&_svg:not([class*='size-'])]:size-3\",\n        \"[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10\",\n        className\n      )}\n    />\n  )\n}\n\ninterface KbdGroupProps\n  extends Omit<React.ComponentProps<\"div\">, keyof SaasflareComponentProps>,\n    SaasflareComponentProps {}\n\n/**\n * Lays out multiple {@link Kbd} keys as a single shortcut combination.\n *\n * @component\n * @layer core\n */\nfunction KbdGroup({ className, surface, radius, animated, iconWeight, ...props }: KbdGroupProps) {\n  const sf = useSaasflareProps({ surface, radius, animated, iconWeight })\n\n  return (\n    <div\n      {...props}\n      data-slot=\"kbd-group\"\n      data-surface={sf.surface}\n      data-radius={sf.radius}\n      data-animated={String(sf.animated)}\n      className={cn(\"inline-flex items-center gap-1\", className)}\n    />\n  )\n}\n\nexport { Kbd, KbdGroup, type KbdProps }\n",
      "target": "components/ui/kbd.tsx"
    }
  ],
  "$meta": {
    "source": "https://ui.saasflare.io/r/kbd.json"
  }
}
