Kbd

Compact labels for keys and keyboard shortcuts.

Show keys and shortcuts on their own, in groups, inside buttons, or in tooltips.

Ctrl+B
tsx
import { Kbd, KbdGroup } from "@/components/ui/kbd"export function Example() {  return (    <div className="flex flex-col items-center gap-4">      <KbdGroup>        <Kbd></Kbd>        <Kbd></Kbd>        <Kbd></Kbd>        <Kbd></Kbd>      </KbdGroup>      <Kbd>Ctrl+B</Kbd>    </div>  )}

Installation

npx @arctis-sh/@arctis-sh/ui@latest add kbd

Usage

import { Kbd } from "@/components/ui/kbd"
<Kbd>Ctrl</Kbd>

Composition

Kbd
KbdGroup
├── Kbd
└── Kbd

Group

Use KbdGroup to keep related keys on one row.

UseCtrlB/CtrlKto open the command palette
tsx
import { Kbd, KbdGroup } from "@/components/ui/kbd"export function Example() {  return (    <div className="flex flex-wrap items-center justify-center gap-1 text-sm tracking-wide text-muted-foreground">      <span>Use</span>      <KbdGroup>        <Kbd>Ctrl</Kbd>        <Kbd>B</Kbd>      </KbdGroup>      <span>/</span>      <KbdGroup>        <Kbd>Ctrl</Kbd>        <Kbd>K</Kbd>      </KbdGroup>      <span>to open the command palette</span>    </div>  )}

Button

Place Kbd inside a Button for an inline shortcut hint.

tsx
import { Button } from "@/components/ui/button"import { Kbd } from "@/components/ui/kbd"export function Example() {  return (    <Button variant="outline">      Accept <Kbd></Kbd>    </Button>  )}

Tooltip

Place Kbd in TooltipContent to reveal a shortcut on hover.

tsx
import { Button } from "@/components/ui/button"import { ButtonGroup } from "@/components/ui/button-group"import { Kbd, KbdGroup } from "@/components/ui/kbd"import {  Tooltip,  TooltipContent,  TooltipProvider,  TooltipTrigger,} from "@/components/ui/tooltip"export function Example() {  return (    <TooltipProvider>      <ButtonGroup>        <Tooltip>          <TooltipTrigger asChild>            <Button variant="outline">Save</Button>          </TooltipTrigger>          <TooltipContent className="flex items-center gap-2">            Save            <KbdGroup>              <Kbd></Kbd>              <Kbd>S</Kbd>            </KbdGroup>          </TooltipContent>        </Tooltip>        <Tooltip>          <TooltipTrigger asChild>            <Button variant="outline">Print</Button>          </TooltipTrigger>          <TooltipContent className="flex items-center gap-2">            Print            <Kbd>⌘P</Kbd>          </TooltipContent>        </Tooltip>      </ButtonGroup>    </TooltipProvider>  )}

API Reference

Kbd

Native <kbd> for a single key or short shortcut. All kbd HTML attributes are supported. Styles invert automatically inside TooltipContent.

PropTypeDefault
classNamestring
<Kbd>Ctrl</Kbd>

KbdGroup

Groups Kbd keys in a row. Accepts native kbd props.

PropTypeDefault
classNamestring
<KbdGroup>  <Kbd>Ctrl</Kbd>  <Kbd>B</Kbd></KbdGroup>