registry:component

Kbd

v1.0.0ga

Keyboard keycap primitive for shortcut hints.

Registry Endpoint
Open JSON

https://registry.aavya.com/r/ui-kbd.json

npx shadcn@latest add https://registry.aavya.com/r/ui-kbd.json

Live Preview

Open search with CmdK

Usage Snippet
import Kbd from '@/components/ui/kbd.tsx'

export default function Example() {
  return (
    <div className="p-6">
      <Kbd />
    </div>
  )
}
Source Preview
import { cn } from '@/lib/utils'

function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {
  return (
    <kbd
      data-slot='kbd'
      className={cn(
        'bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none',
        "[&_svg:not([class*='size-'])]:size-3",
        '[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10',
        className
      )}
      {...props}
    />
  )
}

function KbdGroup({ className, ...props }: React.ComponentProps<'div'>) {
  return <kbd data-slot='kbd-group' className={cn('inline-flex items-center gap-1', className)} {...props} />
}

export { Kbd, KbdGroup }