Controls
Kbd
Keycaps on glass, singly or grouped.
Installation
pnpm dlx shadcn@latest add https://glasscn.app/r/kbd.jsonOr with the namespace set up: shadcn add @glasscn/kbd
Source
components/glass/kbd.tsx
import * as React from "react"
import { cn } from "cn"
/** A keycap on glass. */
function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
return (
<kbd
data-slot="kbd"
className={cn(
"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-[calc(var(--glass-radius-control)*0.5)] border border-glass-border bg-fill px-1 font-glass-sans text-xs font-medium text-muted-foreground select-none [&_svg:not([class*='size-'])]:size-3",
className
)}
{...props}
/>
)
}
function KbdGroup({ className, ...props }: React.ComponentProps<"div">) {
return <div data-slot="kbd-group" className={cn("inline-flex items-center gap-1", className)} {...props} />
}
export { Kbd, KbdGroup }