Giới thiệu

Semi Design là bộ thư viện giao diện do ByteDance phát triển, cung cấp 70+ thành phần giao diện với điểm nhấn là bộ AI Components chuyên dụng. Đây là tài liệu tham khảo nhanh về công năng từng component — giúp bạn chọn đúng thành phần khi làm việc với Claude Code.

Đặc điểm nổi bật

Đặc điểmGiải thích
70+ thành phầnBao gồm AI Components và Plus components
Phát triển bởi ByteDanceĐơn vị đứng sau TikTok và nền tảng AI
AI-First DesignBộ AI Components chuyên dụng cho chatbot và ứng dụng thông minh
MCP IntegrationHỗ trợ tích hợp với Claude Code qua MCP server
TypeScriptMã nguồn viết bằng TypeScript — dễ bảo trì
ReactChỉ hỗ trợ React

Nhóm 1 — Hiển thị dữ liệu (Data Display)

Dùng khi bạn muốn trình bày thông tin cho người dùng nhìn thấy.
TênCông dụng
AvatarẢnh đại diện người dùng — tròn, có chữ viết tắt nếu không có ảnh
BadgeSố thông báo nhỏ hiện trên icon, nhãn “New”
CalendarLịch cho phép xem/chọn ngày tháng năm
CardKhung chứa nội dung với tiêu đề, hình ảnh, chân trang
CarouselThanh trình chiếu ảnh có thể vuốt trái/phải
ChartBiểu đồ đa dạng — đường, cột, tròn, radar
CollapseDanh sách các mục có thể thu gọn/mở rộng từng mục
CollapsiblePhần nội dung có thể thu gọn/mở rộng bằng một nút bấm
CropperCông cụ cắt ảnh — phóng to/thu nhỏ, xoay, cắt vùng mong muốn
DescriptionBảng mô tả hiện danh sách thuộc tính và giá trị
DropdownMenu xổ xuống khi bấm vào nút hoặc liên kết
EmptyTrạng thái “không có dữ liệu” — hiện khi danh sách/bảng trống
HighlightĐánh dấu/cặp từ khoá quan trọng trong văn bản
ImageẢnh có tính năng phóng to, xem toàn màn hình
ListDanh sách hiện dữ liệu dạng danh sách có phân trang
ModalHộp thoại bật lên giữa màn hình — dùng cho xác nhận, form
OverflowListDanh sách tự động ẩn các mục thừa khi không đủ không gian
PopoverCửa sổ nhỏ bật ra khi bấm hoặc di chuột vào một phần tử
ScrollListDanh sách cuộn vô tận — tải thêm dữ liệu khi cuộn xuống
SideSheetBảng điều khiển trượt ra từ cạnh màn hình (trái/phải)
TableBảng dữ liệu có sắp xếp, tìm kiếm, phân trang, lọc
TagThẻ nhãn nhỏ — ví dụ: “Mới”, “Hot”, “Pro”
TimelineDòng thời gian hiện các sự kiện theo thứ tự
TooltipDòng chú thích nhỏ hiện ra khi di chuột vào một phần tử
UserGuideHướng dẫn sử dụng từng bước cho người dùng mới

Nhóm 2 — Nhập liệu & Biểu mẫu (Input & Form)

Dùng khi bạn muốn thu thập thông tin từ người dùng.
TênCông dụng
AutoCompleteÔ tìm kiếm có gợi ý sẵn khi gõ chữ
CascaderChọn địa chỉ/danh mục phân cấp nhiều tầng
CheckboxHộp tích chọn — có thể chọn nhiều
ColorPickerBảng chọn màu trực quan
DatePickerChọn ngày tháng bằng lịch trực quan
FormBiểu mẫu tổng hợp kèm validation (kiểm tra lỗi nhập liệu)
InputÔ nhập văn bản một dòng
InputNumberÔ nhập chỉ cho phép nhập số, có nút tăng/giảm
PinCodeÔ nhập mã xác thực — gồm nhiều ô riêng biệt, mỗi ô một ký tự
RadioNút radio — chỉ chọn được một trong nhiều lựa chọn
RatingThang đánh giá sao (1-5 sao)
SelectDanh sách xổ xuống để chọn một hoặc nhiều mục
SliderThanh trượt để chọn giá trị trong một khoảng
SwitchCông tắc bật/tắt (toggle)
TagInputÔ nhập tag — người dùng nhập từ khoá rồi bấm Enter để tạo tag
TimePickerChọn giờ phút
TransferChuyển đổi giữa hai danh sách — chọn/di chuyển nhiều mục
TreeSelectChọn từ cây danh mục phân cấp (tương tự Select nhưng dạng cây)
UploadTải lên tệp — hỗ trợ kéo thả, xem trước ảnh

Nhóm 3 — Điều hướng (Navigation)

Dùng khi bạn muốn dẫn dắt người dùng di chuyển giữa các phần của ứng dụng.
TênCông dụng
AnchorĐiều hướng neo — bấm vào để nhảy đến phần trong trang
BackTopNút cuộn về đầu trang — hiện khi cuộn xuống đủ xa
BreadcrumbĐường dẫn phân cấp (ví dụ: Trang chủ > Sản phẩm > Áo thun)
NavigationThanh điều hướng chính — menu ngang hoặc dọc cho website
PaginationThanh số trang khi có nhiều nội dung (Trang 1, 2, 3…)
StepsThanh tiến trình gồm các bước — dùng cho wizard, quy trình đăng ký
TabsThanh tab để chuyển đổi giữa nhiều nội dung khác nhau
TreeCây thư mục hiện cấu trúc phân cấp có thể thu gọn

Nhóm 4 — Thông báo & Phản hồi (Feedback)

Dùng khi bạn muốn thông báo điều gì đó cho người dùng hoặc phản hồi hành động.
TênCông dụng
BannerThanh thông báo ngang ở đầu trang — dùng cho thông báo hệ thống
FeedbackThu thập phản hồi từ người dùng — ví dụ: “Bạn thấy trang này thế nào?”
NotificationThông báo dạng popup thường nằm ở góc trên phải
PopconfirmCửa sổ xác nhận nhỏ bật ra khi bấm nút nguy hiểm
ProgressThanh tiến trình cho biết công việc đang ở đâu
SkeletonĐường gạch chờ tải — giúp giao diện không “nhảy” khi đang load
SpinVòng xoay chờ tải (loading indicator)
ToastThông báo ngắn bật lên ở góc màn hình (thành công, lỗi…)

Nhóm 5 — Bố cục & Cấu trúc (Layout)

Dùng khi bạn muốn sắp xếp, tổ chỉnh không gian trên màn hình.
TênCông dụng
GridHệ thống lưới — chia màn hình thành các vùng linh hoạt
LayoutCấu trúc trang gồm header, sidebar, content, footer
ResizableVùng giao diện có thể kéo thay đổi kích thước bằng cách kéo cạnh
SpaceKhoảng cách tự động thêm khoảng trống giữa các phần tử

Nhóm 6 — Nền tảng & Hành động (Basic & Actions)

Những thành phần nền tảng được dùng xuyên suốt ứng dụng.
TênCông dụng
ButtonNút bấm có nhiều kiểu (primary, secondary, tertiary, warning, danger) và kích thước (large, default, small)
DividerĐường kẻ phân cách ngang hoặc dọc
FloatButtonNút nổi cố định ở góc màn hình — dùng cho hành động nhanh như “Cuộn lên đầu”, “Chat”
IconBiểu tượng — thư viện icon tích hợp sẵn
TokensHệ thống biến thiết kế — màu sắc, spacing, typography, border-radius toàn bộ ứng dụng
TypographyKiểu chữ — tiêu đề, đoạn văn, trích dẫn với các kích thước chuẩn

Nhóm 7 — Nội dung AI & Media (Plus)

Các thành phần nâng cao dành cho ứng dụng AI và nội dung phong phú.
TênCông dụng
AudioPlayerTrình phát âm thanh — play, pause, progress bar
ChatGiao diện hội thoại AI — khung chat với message, input, action
CodeHighlightĐoạn code có tô màu cú pháp — hỗ trợ nhiều ngôn ngữ lập trình
DragMoveKéo thả để di chuyển/phóng to/thu nhỏ một phần tử
HotKeysPhím tắt — hiện tổ hợp phím khi di chuột qua một chức năng
JsonViewerHiển thị dữ liệu JSON dạng cây có thể thu gọn/mở rộng
LottieAnimationHiệu ứng animation từ file Lottie (After Effects)
MarkdownRenderHiển thị nội dung viết bằng Markdown thành HTML đã định dạng
VideoPlayerTrình phát video — hỗ trợ subtitle, fullscreen, quality

Nhóm 8 — AI Components (AI Chat)

Các thành phần được thiết kế riêng cho ứng dụng chatbot và AI.
TênCông dụng
AIChatDialogueHộp thoại chat AI — hiện tin nhắn, thời gian, avatar, actions
AIChatInputÔ nhập chat AI — có thể nhập văn bản, đính kèm file, chọn chế độ
SidebarThanh bên AI — hiện lịch sử chat, cài đặt, danh sách cuộc hội thoại

Nhóm 9 — Cấu hình & Tiện ích (Config & Utilities)

Dùng để tuỳ chỉnh toàn bộ ứng dụng.
TênCông dụng
ConfigProviderCấu hình toàn cục — thay đổi màu chủ đạo, ngôn ngữ, locale
LocaleProviderHỗ trợ đa ngôn ngữ — chuyển đổi ngôn ngữ cho toàn bộ ứng dụng

Tổng hợp theo nhóm

NhómSố thành phầnDùng khi nào
Hiển thị dữ liệu25Trình bày thông tin
Nhập liệu & Biểu mẫu18Thu thập dữ liệu từ người dùng
Điều hướng8Dẫn dắt người dùng di chuyển
Thông báo & Phản hồi8Thông báo trạng thái
Bố cục & Cấu trúc4Sắp xếp không gian
Nền tảng & Hành động6Thành phần cơ bản, nút bấm
Nội dung AI & Media9Ứng dụng AI, nội dung phong phú
AI Components3Chatbot, AI chat
Cấu hình & Tiện ích2Tuỳ chỉnh toàn cục
Tổng cộng: 70+ thành phần — nổi bật với AI Components và Plus components cho ứng dụng thông minh.

Tham khảo