Kbd
Tastenkappen für Tastenkürzel, die auf jeder Plattform die richtigen Symbole zeigen, korrekt vorgelesen werden und sich wie echte Tasten eindrücken.
Press Command K to search, or hold Shift and watch the keys.
pnpm dlx shadcn@latest add https://hextaui.com/r/kbd.jsonFügt die Komponente, die HextaUI-Theme-Tokens und alle HextaUI-Komponenten hinzu, von denen sie abhängt.
Füge die Theme-Tokens zu deinem globalen CSS hinzu, falls du das noch nicht getan hast.
Installiere die Abhängigkeiten.
pnpm add @base-ui/react class-variance-authority cnKopiere den folgenden Code und füge ihn in dein Projekt ein.
components/ui/kbd.tsx lib/hotkey.ts Passe die Importpfade an dein Projekt-Setup an.
Schreibe Tastenkürzel einmal mit keys, und sie erscheinen als ⌘K auf dem Mac und Strg K unter Windows und Linux. Oder übergib beliebige Inhalte als children für volle Kontrolle.
Varianten
keycap hat eine feine Kante und eine 1px-Lippe, damit es wie eine echte Taste wirkt. flat ist eine ruhige Füllung für dichte Stellen wie Menüs.
Größen
sm passt in kleinen Text, default neben Fließtext und lg in Überschriften oder allein.
Tastenkürzel
<KbdGroup /> teilt eine Kombination in je eine Taste auf. Ein Leerzeichen startet eine Sequenz, verbunden durch separator. <Kbd /> mit keys hält die ganze Kombination in einer Taste.
Live-Tasten
Mit listen wird eine Taste gedrückt dargestellt, solange die echte Taste gehalten wird. Sie beobachtet nur und blockiert, verzögert oder verändert deine Eingabe nie. Buchstaben werden über die physische Taste erkannt, sodass Option und Shift sie nicht durcheinanderbringen.
In einem Button
Innerhalb eines Buttons übernimmt die Taste ihre Farben vom Text des Buttons und passt so zu jeder Variante.
Icons und Aktionen
Setze Icons in eine Taste für Aktionen ohne Tastennamen und gib ihnen ein visuell verstecktes Label.
Rechts nach links
Tastenkürzel behalten in rechts-nach-links-Text die Reihenfolge von links nach rechts, wie auf der Tastatur aufgedruckt.
- Symbole wie ⌘ und ⇧ werden für Screenreader ausgeblendet und durch ihre Namen ersetzt, sodass
keys="mod+shift+p"als „Command Shift P“ vorgelesen wird. - Tasten werden als
<kbd>gerendert, und eine Gruppe verschachtelt sie in einem weiteren<kbd>, so kennzeichnet HTML eine Tastenkombination. - Ein angezeigtes Tastenkürzel ist noch nicht gebunden. Registriere den Key-Handler selbst.
- Der Druckeffekt ist Dekoration; bei reduzierter Bewegung wechselt stattdessen die Farbe, statt dass sich etwas bewegt. Vor der Hydration sehen alle Plattformen die Apple-Symbole.
Beide Teile rendern ein <kbd> und akzeptieren render samt dessen Attributen.
| Prop | Typ | Standard |
|---|---|---|
keysTasten, mit + verbunden, etwa "mod+shift+p". mod ist ⌘ auf Apple-Geräten und sonst Strg. Namen wie alt, enter, escape, up und space werden zu Symbolen oder Kurzwörtern und erhalten einen gesprochenen Namen für Screenreader. | string | – |
variantWird von KbdGroup übernommen, wenn nicht gesetzt. | "keycap" | "flat" | "keycap" |
sizeWird von KbdGroup übernommen, wenn nicht gesetzt. | "sm" | "default" | "lg" | "default" |
listenDrückt die Taste, solange die echte Taste gehalten wird. Funktioniert mit keys oder einem einfachen Tastennamen als children. | boolean | false |
render | ReactElement | (props, state) => ReactElement | <kbd> |
| Attribut | Beschreibung |
|---|---|
data-slot="kbd" | Tasten per CSS ansprechen. |
data-variant | Die aktuelle Variante. |
data-size | Die aktuelle Größe. |
data-pressed | Vorhanden, solange die echte Taste gedrückt ist. |
| Prop | Typ | Standard |
|---|---|---|
keysTasten, mit + verbunden, etwa "mod+shift+p". mod ist ⌘ auf Apple-Geräten und sonst Strg. Namen wie alt, enter, escape, up und space werden zu Symbolen oder Kurzwörtern und erhalten einen gesprochenen Namen für Screenreader. Leerzeichen trennen die Schritte einer Sequenz. | string | – |
separatorWird zwischen den Schritten einer Sequenz angezeigt. | ReactNode | "then" |
variantWird an jede enthaltene Taste weitergegeben. | "keycap" | "flat" | – |
sizeWird an jede enthaltene Taste weitergegeben. | "sm" | "default" | "lg" | – |
listenWird an jede enthaltene Taste weitergegeben. | boolean | – |
render | ReactElement | (props, state) => ReactElement | <kbd> |
| Attribut | Beschreibung |
|---|---|
data-slot="kbd-group" | Gruppen in CSS ansprechen. |
data-slot="kbd-separator" | Der Text zwischen den Schritten einer Sequenz. |
- HotkeyTastenkürzel parsen, beschriften, ansagen und abgleichen, mit ⌘ auf Apple-Plattformen und Strg überall sonst.
- useHeldKeysDie Tasten, die gerade gehalten werden, geteilt von allen Abonnenten über einen einzigen Satz Window-Listener.
- AvatarNutzerfotos mit Initialen als Fallback, Statusbadges und gestapelte Gruppen, die zu einer Zahl einklappen.
- BadgeStatuslabels mit farbigen Punkten, entfernbare Tags, die zugleiten, und Zähler, die zu ihrem neuen Wert rollen.
- CardEine Fläche zum Gruppieren von Inhalten, mit drei Varianten, randlosen Medien, konzentrischen Radien und Links über die ganze Karte.
- ChartRecharts-Diagramme mit Theme-Farben, einem Tooltip und einer Legende, die Labels aus einer Konfiguration lesen, und Tastaturnavigation mit sichtbarem Fokusring.
In Blocks verwendet
Blocks, die auf Kbd aufbauen.
- Prompt InputEin Chat-Composer, der als ruhige einzelne Zeile beginnt, beim Schreiben zu einer Karte wächst und nach unten wandert, sobald die Unterhaltung beginnt. Enter sendet, sicher bei japanischer und chinesischer Eingabe. Dateien per Einfügen, Ablegen oder Auswählen hinzufügen, mit Vorschau, Fortschritt und Wiederholen. @ fügt Dateien hinzu und / führt Befehle aus einem Menü an der Einfügemarke aus. Ein Modellwähler mit Zifferntasten, ein Effort-Slider, der bei Max lebendig wird, ein Kontextring, Diktat mit Live-Wellenform, Tool-Chips, eine Warteschlange für Nachrichten, die während einer streamenden Antwort getippt werden, und Entwürfe, die einen Reload überstehen.
- Agent TodosZeige den Plan eines Agenten, während er arbeitet. Jeder Schritt wandert von Backlog über To do und In Arbeit zu Erledigt, mit Live-Zeiten, Fehlern und den dahinterliegenden Tool-Aufrufen. Eine Status-Pille für über dem Composer, sichtbare Planänderungen und ein Review-Schritt, um den Plan vor der Ausführung zu bearbeiten.
- ArtifactDas Panel neben einem KI-Chat, das zeigt, was das Modell erzeugt hat. Webseiten, SVGs, Dokumente und Code streamen live ein und wechseln dann zu einer Sandbox-Vorschau, mit Versionen zum Vergleichen und Wiederherstellen, einem anpassbaren Split und einem Bottom Sheet auf Smartphones.
- Chat SidebarDie Seitenleiste für eine Chat-App. Logo, Suche und Neuer Chat oben, deine eigenen Links darunter, angeheftete Chats, Projekte, die sich aufklappen und ihre Chats zeigen, zuletzt verwendete nach Tag gruppiert und Zeilen mit Hover- und Rechtsklick-Menüs, direktem Umbenennen, Löschen mit Rückgängig und Live-Antwortzuständen.