registry:component
Kbd
v1.0.0ga
Keyboard keycap primitive for shortcut hints.
Registry Endpoint
Open JSONnpx shadcn@latest add @aavya/ui-kbd
One-time setup — add the @aavya registry to your components.json so branded dependencies resolve to Aavya (not stock shadcn):
"registries": { "@aavya": "https://registry-dev.aavya.com/r/{name}.json" }Or install by full URL: npx shadcn@latest add https://registry-dev.aavya.com/r/ui-kbd.json
Live Preview
Open search with CmdK
Props
Kbd forwards remaining props to all <kbd> element props.
Usage Snippet
import { Kbd } from '@/components/ui/kbd'
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 }