@mtktech/ui

Thư viện UI component dùng chung cho Vue 3 (MButton, MDataTable, MSidebar, ...)
1,240
Install
npm install @mtktech/ui
Latest Version:0.0.9
Vue:3
License:MIT
Last Updated:Oct 12, 2026
Links: npm
Maintainer: pdm211202

@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, variant primary/secondary.

  • MBadge — pill hiển thị trạng thái/tag, variant neutral/success/info/warning/danger, tuỳ chọn dot.

  • MDataTable — bảng dữ liệu tái sử dụng: truyền columns + rows là 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 qua mode="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 field visible tự 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ền options/v-model là 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ùng MDataTable để 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

integrasoft-shared-ui

Librería de componentes UI en Vue 3 + TypeScript para estandarizar estilos entre...

2,758
@banxa-official/banxa-ui

Banxa's Vue 3 design system — accessible, themeable components built on a CSS cu...

926
@nubisco/ui

Vue 3 UI component library

35,080 1
@quidgest/ui

Quidgest's UI framework

22,574
@cocoar/vue-ui

Cocoar Design System — a touch-first Vue 3 component library with 30+ accessible...

17,724 0

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