Skip to content

Kbd

A visual indicator for keyboard keys and shortcuts, styled to match system keyboard key appearance.

Ctrl + B
K
---
import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
---
<div class="flex flex-col items-center gap-4">
<KbdGroup>
<Kbd>⌘</Kbd>
<Kbd>⇧</Kbd>
<Kbd>⌥</Kbd>
<Kbd>⌃</Kbd>
</KbdGroup>
<KbdGroup>
<Kbd>Ctrl</Kbd>
<span>+</span>
<Kbd>B</Kbd>
</KbdGroup>
<KbdGroup>
<Kbd>⌘</Kbd>
<Kbd>K</Kbd>
</KbdGroup>
</div>
Terminal window
bunx bejamas add kbd
---
import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
---
<KbdGroup>
<Kbd>⌘</Kbd>
<Kbd>K</Kbd>
</KbdGroup>
<KbdGroup>
<Kbd>Ctrl</Kbd>
<span>+</span>
<Kbd>B</Kbd>
</KbdGroup>

Use the KbdGroup component to group keyboard keys together.

Use
Ctrl + B Ctrl + K
to open the command palette
---
import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
---
<div class="flex flex-col items-center gap-4">
<p class="text-muted-foreground text-sm">
Use{" "}
<KbdGroup>
<Kbd>Ctrl + B</Kbd>
<Kbd>Ctrl + K</Kbd>
</KbdGroup>{" "}
to open the command palette
</p>
</div>

Use the Kbd component inside a Button component to display a keyboard key inside a button.

---
import { Button } from '@bejamas/ui/components/button';
import { Kbd } from '@bejamas/ui/components/kbd';
---
<Button variant="outline">
Accept <Kbd class="translate-x-0.5">
</Kbd>
</Button>

You can use the Kbd component inside a Tooltip component to display a tooltip with a keyboard key.

Save Changes S
Print Document
Ctrl P
---
import { Button } from '@bejamas/ui/components/button';
import { ButtonGroup } from '@bejamas/ui/components/button-group';
import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
import { Tooltip, TooltipContent, TooltipTrigger } from '@bejamas/ui/components/tooltip';
---
<div class="flex flex-wrap gap-4">
<ButtonGroup>
<Tooltip>
<TooltipTrigger asChild>
<Button variant="outline">Save</Button>
</TooltipTrigger>
<TooltipContent class="pr-1.5">
<div class="flex items-center gap-2">
Save Changes <Kbd>S</Kbd>
</div>
</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<Button variant="outline">Print</Button>
</TooltipTrigger>
<TooltipContent class="pr-1.5">
<div class="flex items-center gap-2">
Print Document <KbdGroup>
<Kbd>Ctrl</Kbd>
<Kbd>P</Kbd>
</KbdGroup>
</div>
</TooltipContent>
</Tooltip>
</ButtonGroup>
</div>

You can use the Kbd component inside a InputGroupAddon component to display a keyboard key inside an input group.

K
---
import { SearchIcon } from '@lucide/astro';
import { InputGroup, InputGroupAddon, InputGroupInput } from '@bejamas/ui/components/input-group';
import { Kbd } from '@bejamas/ui/components/kbd';
---
<div class="flex w-full max-w-xs flex-col gap-6">
<InputGroup>
<InputGroupInput placeholder="Search..." />
<InputGroupAddon>
<SearchIcon />
</InputGroupAddon>
<InputGroupAddon align="inline-end">
<Kbd>⌘</Kbd>
<Kbd>K</Kbd>
</InputGroupAddon>
</InputGroup>
</div>