Đi tới nội dung tài liệu
Underverse UI Logo
ComponentComponent cơ bản

Badge

Badge thuộc nhóm Component cơ bản. Xem demo trực tiếp, cách tích hợp và các lưu ý triển khai.

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ínhMô tảKiểuMặc định
childrenNội dung badge.React.ReactNode
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""default"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""md"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).booleanfalse
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
pulseBật hiệu ứng nhấp nháy.booleanfalse
removableHiển thị nút xoá (×).booleanfalse
onRemoveCallback khi xoá (nhấn ×).() => void
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
clickableCho phép hover/click.booleanfalse
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void

BadgeBase

Component
Thuộc tínhMô tảKiểuMặc định
childrenNội dung badge.React.ReactNode
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""default"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""md"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).booleanfalse
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
pulseBật hiệu ứng nhấp nháy.booleanfalse
removableHiển thị nút xoá (×).booleanfalse
onRemoveCallback khi xoá (nhấn ×).() => void
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
clickableCho phép hover/click.booleanfalse
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void

GradientBadge

Component
Thuộc tínhMô tảKiểuMặc định
fromMã nguồn chưa cung cấp mô tả bổ sung.string"from-primary"
toMã nguồn chưa cung cấp mô tả bổ sung.string"to-secondary"
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void
childrenNội dung badge.React.ReactNode
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).boolean
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number
showZeroHiển thị khi count = 0.boolean
pulseBật hiệu ứng nhấp nháy.boolean
removableHiển thị nút xoá (×).boolean
onRemoveCallback khi xoá (nhấn ×).() => void
clickableCho phép hover/click.boolean

InteractiveBadge

Component
Thuộc tínhMô tảKiểuMặc định
activeMã nguồn chưa cung cấp mô tả bổ sung.booleanfalse
disabledMã nguồn chưa cung cấp mô tả bổ sung.booleanfalse
childrenNội dung badge.React.ReactNode
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""outline"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).boolean
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number
showZeroHiển thị khi count = 0.boolean
pulseBật hiệu ứng nhấp nháy.boolean
removableHiển thị nút xoá (×).boolean
onRemoveCallback khi xoá (nhấn ×).() => void
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
clickableCho phép hover/click.boolean
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void

NotificationBadge

Component
Thuộc tínhMô tảKiểuMặc định
childrenBắt buộcNội dung badge.React.ReactNodeBắt buộc
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number99
showZeroHiển thị khi count = 0.booleanfalse
dotHiển thị dạng chấm (không nội dung).booleanfalse
variantKiểu giao diện của badge.BadgeProps["variant"]"danger"
sizeKích thước badge.BadgeProps["size"]"sm"
classNameClass tuỳ biến cho badge.string
badgeClassNameMã nguồn chưa cung cấp mô tả bổ sung.string
positionMã nguồn chưa cung cấp mô tả bổ sung."top-right" | "top-left" | "bottom-right" | "bottom-left""top-right"
pulseBật hiệu ứng nhấp nháy.booleanfalse

PulseBadge

Component
Thuộc tínhMô tảKiểuMặc định
speedMã nguồn chưa cung cấp mô tả bổ sung."slow" | "normal" | "fast""normal"
childrenNội dung badge.React.ReactNode
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).boolean
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number
showZeroHiển thị khi count = 0.boolean
pulseBật hiệu ứng nhấp nháy.boolean
removableHiển thị nút xoá (×).boolean
onRemoveCallback khi xoá (nhấn ×).() => void
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
clickableCho phép hover/click.boolean
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void

StatusBadge

Component
Thuộc tínhMô tảKiểuMặc định
statusMã nguồn chưa cung cấp mô tả bổ sung."online" | "offline" | "busy" | "away" | "idle""offline"
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void
childrenNội dung badge.React.ReactNode
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).boolean
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number
showZeroHiển thị khi count = 0.boolean
pulseBật hiệu ứng nhấp nháy.boolean
removableHiển thị nút xoá (×).boolean
onRemoveCallback khi xoá (nhấn ×).() => void
clickableCho phép hover/click.boolean

TagBadge

Component
Thuộc tínhMô tảKiểuMặc định
tagsMã nguồn chưa cung cấp mô tả bổ sung.string[][]
onTagRemoveMã nguồn chưa cung cấp mô tả bổ sung.(tag: string) => void
maxTagsMã nguồn chưa cung cấp mô tả bổ sung.number3
onClickXử lý click (chỉ hiệu lực khi clickable = true).() => void
childrenNội dung badge.React.ReactNode
iconIcon bên trái nội dung.React.ComponentType<{ className?: string }>
variantKiểu giao diện của badge.| "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "destructive" | "info" | "outline" | "ghost" | "transparent" | "gradient""outline"
sizeKích thước badge."xs" | "sm" | "md" | "lg" | "xl""sm"
classNameClass tuỳ biến cho badge.string
dotHiển thị dạng chấm (không nội dung).boolean
countSố đếm hiển thị.number
maxCountNgưỡng tối đa trước khi hiển thị 99+.number
showZeroHiển thị khi count = 0.boolean
pulseBật hiệu ứng nhấp nháy.boolean
onRemoveCallback khi xoá (nhấn ×).() => void
clickableCho 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ế.