Miao Design轻量、干净的 Vue 3 组件库
26 个打磨过的组件、完整 TypeScript 类型、设计变量驱动与内置深色模式。安装即用,不需要额外配置。
从设计变量到可访问性都按生产标准打磨,装进来就能直接用在正式项目里。
一条 npm 命令安装,app.use(MiaoDesign) 即可全局注册 32 个组件与 v-ripple 指令,无需额外配置。
全部组件由 TypeScript 编写并随包发布 .d.ts,props / 事件 / 插槽都有类型提示,重构不再靠猜。
所有视觉表现都落在 --m-* CSS 自定义属性上,换主题只要覆写一层变量,不必改组件源码。
内置 [data-theme="dark"] 一整套暗色令牌,跟随系统或手动切换,业务侧零成本接轨。
统一采用 MUI 的缓动曲线与时长令牌,按钮、开关、列表项都带点按涟漪与过渡反馈。
触摸事件与滚动区分处理、点击高亮清除、尺寸令牌自适应,桌面与移动端表现一致。
包体只依赖 Vue 3 本身,样式与主题变量随组件一同产出。
miao-design(Vue 3.5+ 作为 peer 依赖由业务侧提供)。 miao-design/style.css。 app.use(MiaoDesign) 注册,之后在模板里直接写 <m-button />。 import { MButton } from 'miao-design'。 当前文档站收录了 26 个组件与 v-ripple 指令的完整用法、API 表格与可运行演示。
// 1. 安装:npm i miao-design
import { createApp } from 'vue'
import MiaoDesign from 'miao-design'
import 'miao-design/style.css'
import App from './App.vue'
// 2. 全局注册 32 个组件 + v-ripple 指令
createApp(App).use(MiaoDesign).mount('#app')
下面的每个预览都由真实组件实时渲染 —— 直接点一下就能玩,进到文档页还能看到源码。
Button 按钮
六种语义色 × 五种变体 × 四种尺寸,内置涟漪反馈与点击节流。
ButtonGroup 按钮组
把一组按钮拼成整体,统一接管变体、尺寸、颜色与禁用状态。
Icon 图标
基于 @mdi/js 的 7000+ 图标,支持尺寸、颜色、旋转与自旋。
Divider 分割线
水平 / 垂直分割线,颜色、粗细与间距可通过 CSS 变量定制。
Fab 悬浮按钮
固定在视口角落的操作入口,支持位置、尺寸与扩展文本。
Input 输入框
带前后缀插槽、清除、字数限制与圆角控制的文本输入。
InputNumber 数字输入框
受控数字输入,支持步长、上下限、精度与自定义控制器。
Select 选择器
下拉选择,由 options 数据驱动,支持单选 / 多选、清空、禁用项与面板尺寸控制。