Skip to main content
PolyUI/docs

Base

Kbd

A styled component for displaying keyboard keys or shortcuts. Supports single keys and key combinations.

Installation

bash
npx polyui add kbd

Basic Usage

Use Kbd for a single key and KbdGroup to compose multiple keys into a shortcut.

tsx
import { Kbd, KbdGroup } from "@polyui/react/kbd"

export function Example() {
  return (
    <div className="flex items-center gap-3">
      {/* Single key */}
      <Kbd>⌘K</Kbd>

      {/* Key combination */}
      <KbdGroup>
        <Kbd>Ctrl</Kbd>
        <Kbd>S</Kbd>
      </KbdGroup>

      {/* Three-key shortcut */}
      <KbdGroup>
        <Kbd>⇧</Kbd>
        <Kbd>⌘</Kbd>
        <Kbd>P</Kbd>
      </KbdGroup>
    </div>
  )
}

Preview Link

⌘KCtrlSPAltF4
tsx
import { Kbd, KbdGroup } from "@polyui/react/kbd"
export function KbdPreview() {
  return (
    <div className="flex flex-wrap items-center gap-4">
      <Kbd>⌘K</Kbd>
      <KbdGroup>
        <Kbd>Ctrl</Kbd>
        <Kbd>S</Kbd>
      </KbdGroup>
      <KbdGroup>
        <Kbd>⇧</Kbd>
        <Kbd>⌘</Kbd>
        <Kbd>P</Kbd>
      </KbdGroup>
      <KbdGroup>
        <Kbd>Alt</Kbd>
        <Kbd>F4</Kbd>
      </KbdGroup>
    </div>
  )
}

Tooltip

When placed inside a Tooltip, Kbd automatically adjusts its colors for contrast.

tsx
import { Kbd, KbdGroup } from "@polyui/react/kbd"
import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "@polyui/react/tooltip"
export function KbdTooltip() {
  return (
    <TooltipProvider>
      <Tooltip>
        <TooltipTrigger className="text-sm underline underline-offset-4 cursor-default">Search</TooltipTrigger>
        <TooltipContent>
          Open search{" "}
          <KbdGroup>
            <Kbd>⌘</Kbd>
            <Kbd>K</Kbd>
          </KbdGroup>
        </TooltipContent>
      </Tooltip>
    </TooltipProvider>
  )
}

Props — Kbd

属性类型默认值说明
classNamestringAdditional CSS class names
childrenReact.ReactNodeKey content, typically a character or symbol

Props — KbdGroup

属性类型默认值说明
classNamestringAdditional CSS class names
childrenReact.ReactNodeMultiple Kbd elements forming a shortcut