Kbd

@sushindustries/ui

A key, drawn as one. Semantically <kbd>, visually the chip the command palette already wears.

1 min read
View as Markdown

One paragraph on what this does and when to reach for it. This is the first thing on the component's page and the line that goes into llms.txt, so it should survive being read on its own.

Viewport width
Desktop100%whatever the page has
tanstacktanstack add https://adamjurek.com/r/tanstack/kbd.jsonshadcnpnpm dlx shadcn@latest add https://adamjurek.com/r/shadcn/kbd.json

Why it is built this way

The decision somebody would otherwise have to reverse-engineer from the source. Not what the code does - the source says that - but what it is avoiding.

What it does not do

The boundary. A component that lists what it is not is a component you can decide against in ten seconds.

Install commands are not written here

Anything in packages/ui/registry.ts gets its TanStack and shadcn commands attached automatically, so there is nothing to keep in sync.

Install

tanstack add https://adamjurek.com/r/tanstack/kbd.json
shell
pnpm dlx shadcn@latest add https://adamjurek.com/r/shadcn/kbd.json
shell
pnpm add @sushindustries/ui @sushindustries/atoms
shell

What you get

Version0.1.0
Categorycontent · Text
Fileskbd.tsx
DependenciesNone
Tagskeyboard, no-deps

No runtime dependencies

It brings nothing with it beyond the stylesheet.