ComponentComponent cơ bản
Bắt đầu nhanh
Import Badge từ entry công khai. Các ví dụ bên dưới thể hiện những kiểu tương tác và cấu hình được hỗ trợ.
component.tsxtsx
import { Badge } from '@underverse-ui/underverse';Ví dụ tương tác
Dùng thử Badge thật, xem mã ví dụ và tra cứu các prop đã được mô tả.
Đang tải ví dụ tương tác…
Tham chiếu
Tham chiếu API
Tra cứu các thuộc tính, kiểu dữ liệu được chấp nhận, giá trị mặc định và lưu ý về hành vi.
Dữ liệu được sinh từ API TypeScript công khai của thư viện. Kiểu dữ liệu, thuộc tính bắt buộc và giá trị mặc định luôn đồng bộ với mã nguồn.
Badge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
children | Nội dung badge. | React.ReactNode | — |
variant | Kiểu giao diện của badge. | | "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient" | "default" |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | "md" |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | false |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | 99 |
showZero | Hiển thị khi count = 0. | boolean | false |
pulse | Bật hiệu ứng nhấp nháy. | boolean | false |
removable | Hiển thị nút xoá (×). | boolean | false |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
clickable | Cho phép hover/click. | boolean | false |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
BadgeBase
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
children | Nội dung badge. | React.ReactNode | — |
variant | Kiểu giao diện của badge. | | "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient" | "default" |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | "md" |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | false |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | 99 |
showZero | Hiển thị khi count = 0. | boolean | false |
pulse | Bật hiệu ứng nhấp nháy. | boolean | false |
removable | Hiển thị nút xoá (×). | boolean | false |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
clickable | Cho phép hover/click. | boolean | false |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
GradientBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
from | Mã nguồn chưa cung cấp mô tả bổ sung. | string | "from-primary" |
to | Mã nguồn chưa cung cấp mô tả bổ sung. | string | "to-secondary" |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
children | Nội dung badge. | React.ReactNode | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | — |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | — |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | — |
showZero | Hiển thị khi count = 0. | boolean | — |
pulse | Bật hiệu ứng nhấp nháy. | boolean | — |
removable | Hiển thị nút xoá (×). | boolean | — |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
clickable | Cho phép hover/click. | boolean | — |
InteractiveBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
active | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | false |
disabled | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | false |
children | Nội dung badge. | React.ReactNode | — |
variant | Kiểu giao diện của badge. | | "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient" | "outline" |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | — |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | — |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | — |
showZero | Hiển thị khi count = 0. | boolean | — |
pulse | Bật hiệu ứng nhấp nháy. | boolean | — |
removable | Hiển thị nút xoá (×). | boolean | — |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
clickable | Cho phép hover/click. | boolean | — |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
NotificationBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
childrenBắt buộc | Nội dung badge. | React.ReactNode | Bắt buộc |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | 99 |
showZero | Hiển thị khi count = 0. | boolean | false |
dot | Hiển thị dạng chấm (không nội dung). | boolean | false |
variant | Kiểu giao diện của badge. | BadgeProps["variant"] | "danger" |
size | Kích thước badge. | BadgeProps["size"] | "sm" |
className | Class tuỳ biến cho badge. | string | — |
badgeClassName | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
position | Mã nguồn chưa cung cấp mô tả bổ sung. | "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-right" |
pulse | Bật hiệu ứng nhấp nháy. | boolean | false |
PulseBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
speed | Mã nguồn chưa cung cấp mô tả bổ sung. | "slow" | "normal" | "fast" | "normal" |
children | Nội dung badge. | React.ReactNode | — |
variant | Kiểu giao diện của badge. | | "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient" | — |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | — |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | — |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | — |
showZero | Hiển thị khi count = 0. | boolean | — |
pulse | Bật hiệu ứng nhấp nháy. | boolean | — |
removable | Hiển thị nút xoá (×). | boolean | — |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
clickable | Cho phép hover/click. | boolean | — |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
StatusBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
status | Mã nguồn chưa cung cấp mô tả bổ sung. | "online" | "offline" | "busy" | "away" | "idle" | "offline" |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
children | Nội dung badge. | React.ReactNode | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | — |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | — |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | — |
showZero | Hiển thị khi count = 0. | boolean | — |
pulse | Bật hiệu ứng nhấp nháy. | boolean | — |
removable | Hiển thị nút xoá (×). | boolean | — |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
clickable | Cho phép hover/click. | boolean | — |
TagBadge
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
tags | Mã nguồn chưa cung cấp mô tả bổ sung. | string[] | [] |
onTagRemove | Mã nguồn chưa cung cấp mô tả bổ sung. | (tag: string) => void | — |
maxTags | Mã nguồn chưa cung cấp mô tả bổ sung. | number | 3 |
onClick | Xử lý click (chỉ hiệu lực khi clickable = true). | () => void | — |
children | Nội dung badge. | React.ReactNode | — |
icon | Icon bên trái nội dung. | React.ComponentType<{ className?: string }> | — |
variant | Kiểu giao diện của badge. | | "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient" | "outline" |
size | Kích thước badge. | "xs" | "sm" | "md" | "lg" | "xl" | "sm" |
className | Class tuỳ biến cho badge. | string | — |
dot | Hiển thị dạng chấm (không nội dung). | boolean | — |
count | Số đếm hiển thị. | number | — |
maxCount | Ngưỡng tối đa trước khi hiển thị 99+. | number | — |
showZero | Hiển thị khi count = 0. | boolean | — |
pulse | Bật hiệu ứng nhấp nháy. | boolean | — |
onRemove | Callback khi xoá (nhấn ×). | () => void | — |
clickable | Cho phép hover/click. | boolean | — |
Hướng dẫn sử dụng
Dùng Badge như một khối giao diện nền tảng đáng tin cậy. Ưu tiên HTML có ngữ nghĩa, dùng biến thể có mục đích và không ghi đè các trạng thái truyền đạt ý nghĩa.
Trợ năng
Khi dùng Badge, hãy giữ trạng thái focus dễ nhận biết, cung cấp tên truy cập khi cần và kiểm tra bàn phím cùng trình đọc màn hình trong ngữ cảnh thực tế.
