@mtktech/ui
@mtktech/ui
Thư viện component Vue 3 dùng chung cho các app trong monorepo này (và các dự án khác sau khi publish).
Xem tài liệu đầy đủ (props, slot, theme màu) tại docs/ui-library.md. Hướng dẫn thêm component mới: docs/adding-a-component.md.
Component hiện có
-
MButton— nút bấm, variantprimary/secondary. -
MBadge— pill hiển thị trạng thái/tag, variantneutral/success/info/warning/danger, tuỳ chọndot. -
MDataTable— bảng dữ liệu tái sử dụng: truyềncolumns+rowslà dùng được, có search, phân trang rút gọn kèm ô nhảy nhanh tới trang (client-side hoặc server-side quamode="server"+total), page-size selector, scoped slot theo cột (#cell-<key>), tự chuyển thành card trên mobile, hỗ trợ dữ liệu dạng cây cha/con (children-key), theme màu qua CSS variables. -
MTreeList— panel danh sách dọc dạng cây cha/con nhiều cấp (khu vực > tiểu khu > ...), kèm search, dòng "Tất cả" tổng hợp, chọn 1 dòng (v-model), tùy biến icon/màu qua slot + CSS variables. -
MSidebar— sidebar điều hướng cho toàn app: menu phân cấp cha/con, thu gọn thành dải icon (desktop), tự chuyển thành drawer trượt vào (mobile/tablet), ẩn/hiện từng mục theo quyền qua fieldvisibletự tính trước khi truyền vào. -
MFilterButton— nút mở panel filter, tự chuyển popover (desktop) / bottom sheet (mobile); nội dung filter ghép từ các component filter bên dưới qua slot. -
MFilterCheckboxGroup/MFilterRadioGroup/MFilterDateRange— filter dựng sẵn (checkbox nhiều lựa chọn có search tự động, radio 1 lựa chọn, khoảng ngày) — chỉ cần truyềnoptions/v-modellà dùng được, không phải tự viết markup. -
MPageHeader/MFilterDrawer/MActiveFilters/MColumnPicker/MActionMenu— bộ List Page Kit chuẩn hóa từ UI Maintenance; dùng cùngMDataTableđể dựng trang danh sách mà không viết lại CSS, drawer, chip lọc, menu thao tác hoặc logic resize/lưu cột. -
MThemeToggle+useTheme()/initTheme()— dark mode cho toàn bộ thư viện (và Element Plus), xem docs/dark-mode.md.
Dùng trong workspace này
import '@mtktech/ui/style.css'
import { MButton, MBadge, MDataTable, MPageHeader, MFilterDrawer, MActiveFilters, MColumnPicker, MActionMenu } from '@mtktech/ui'
Build
npm run build -w @mtktech/ui
Output ở dist/: ES module (mtk-ui.js), CJS (mtk-ui.cjs), type declarations (dist/src/index.d.ts), CSS riêng (ui.css).
Related Packages
Librería de componentes UI en Vue 3 + TypeScript para estandarizar estilos entre...
Banxa's Vue 3 design system — accessible, themeable components built on a CSS cu...
Cocoar Design System — a touch-first Vue 3 component library with 30+ accessible...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.0.9 | ^3.5.0 | MIT | |
| 0.0.8 | ^3.5.0 | MIT | |
| 0.0.7 | ^3.5.0 | MIT | |
| 0.0.5 | ^3.5.0 | MIT | |
| 0.0.4 | ^3.5.0 | MIT | |
| 0.0.3 | ^3.5.0 | MIT | |
| 0.0.1 | ^3.5.0 | MIT |