Bỏ qua tới nội dung
Component / 029 / NEXOFRAME

Kbd

Mẫu chuẩn

Hiển thị một phím tắt mà người dùng có thể bấm. Một phím một Kbd -- tổ hợp là nhiều Kbd cạnh nhau.

Thuần TailwindKhông RadixKhông tương tácLight & dark

Playground

Đổi brand, theme, phím và cách trình bày. Ba cách trình bày dưới đây không phải prop -- chúng là ba cách người gọi ghép nhiều Kbd, tự viết trong nơi gọi.

LIVE PREVIEW
K

Kbd không tương tác -- không hover, không focus, không disabled. Hiển thị một phím tắt không tự tạo ra phím tắt; trình xử lý phải do nơi gọi gắn.

import { Kbd } from "@nexobox/ui";

<Kbd>K</Kbd>

Khi nào sử dụng

Nên dùng

Hiển thị một phím tắt mà người dùng có thể bấm -- trong menu, trong ô tìm kiếm, trong tài liệu, trong gợi ý trợ giúp. Một tổ hợp là nhiều Kbd cạnh nhau, nối bằng dấu trong prose do nơi gọi viết.

Tránh dùng

Mã nguồn hay tên biến -- đó là code. Một nút bấm được -- Kbd không tương tác, nó chỉ mô tả một phím. Chữ viết tắt hay nhãn trạng thái -- đó là một pill/badge, và repo chưa có primitive đó trong catalogue.

Anatomy

#PhầnGhi chú
1RootPhần tử <kbd> thật, không phải span hay code. Một Kbd = một phím.

Không có phần con nào khác -- không icon, không indicator, không slot cho glyph tổ hợp.

Variants & states

Không có variant, không có size, không có prop keys, không có bản đồ ký hiệu theo hệ điều hành. Hover / focus / disabled / loading / error / empty: không có.

MỘT PHÍMEnter

Một Kbd cho một phím duy nhất.

TỔ HỢPCtrl + K

Hai Kbd cạnh nhau, dấu nối là chữ thường viết ngoài Kbd, không phải một prop.

PHÍM DÀIBackspace

whitespace-nowrap giữ tên phím dài trên một dòng, không gãy chữ.

TRONG CÂUNhấn Esc để đóng.

Kbd nằm giữa một câu tiếng Việt mà không phá nhịp dòng.

Không có variant, không có size, không có prop keys, không có bản đồ ký hiệu theo hệ điều hành.

Design tokens

Root đọc --nf-semantic-surface-subtle, --nf-semantic-border-control, --nf-semantic-text-primary, --nf-foundation-radius-small, --nf-foundation-space-2, --nf-foundation-space-1, và năm thuộc tính --nf-foundation-typography-data-*. Không tồn tại --nf-component-kbd-* -- đã kiểm bằng grep, kết quả 0.

API & triển khai

PropMặc địnhQuy ước
…(mọi thuộc tính kbd gốc)—Truyền thẳng qua ...props. Không có prop riêng nào.

KbdProps = ComponentPropsWithoutRef<"kbd"> — id, className, style và mọi thuộc tính kbd gốc đều truyền thẳng.

Accessibility & nội dung

<kbd> là phần tử ngữ nghĩa đúng cho đầu vào từ bàn phím, đọc được bởi trình đọc màn hình.
Không có điểm dừng Tab -- Kbd không tương tác, không nhận tiêu điểm.
Hiển thị một phím tắt không tạo ra phím tắt -- ứng dụng phải tự gắn trình xử lý, nếu không đó là nói dối người dùng.
Một tổ hợp phải là nhiều <kbd> để trình đọc màn hình đọc thành từng phím, không nhồi vào một <kbd> duy nhất.