tune-ui
v1.2.5
Published
基于Vue3的现代化UI组件库
Maintainers
Readme
TUI (Tune UI)
🔥 特性
- 💪 基于 Vue 3 Composition API 开发
- 🔥 使用 TypeScript 编写,提供完整的类型定义
- 📦 开箱即用的高质量组件
- 🌈 支持主题定制,轻松适配不同设计风格
- 👓 专注于开发体验与用户体验的平衡
- ⚡ 支持全量引入和按需引入,优化应用体积
🚀 快速开始
安装
# 使用 npm
npm install tune-ui
# 使用 yarn
yarn add tune-ui
# 使用 pnpm
pnpm add tune-ui使用方式
全量引入
如果你希望一次性注册所有组件,可以使用以下方式:
import { createApp } from "vue";
import App from "./App.vue";
import { install } from "tune-ui";
import "tune-ui/style.css";
const app = createApp(App);
app.use(install);
app.mount("#app");按需引入
如果你只需要使用部分组件,可以按需引入以减小应用体积:
<template>
<t-button type="primary" prefix-icon="github">Click</t-button>
<t-input v-model="value1" placeholder="Please input" />
<t-select v-model="value2" placeholder="Please select" :options="options" />
</template>
<script lang="ts" setup>
import { TButton, TInput, TSelect } from "tune-ui";
import { ref } from "vue";
const value1 = ref("");
const value2 = ref("");
const options = ref([
{ label: "Option 1", value: "1" },
{ label: "Option 2", value: "2" },
{ label: "Option 3", value: "3" }
]);
</script>🎨 主题定制与全局配置
TUI 提供了丰富的主题定制和全局配置能力,帮助你快速构建符合设计需求的界面。
主题颜色配置
import { useOptions } from "tune-ui";
// 获取配置API
const { updateThemeColor, configOptions } = useOptions();
// 更新单个主题颜色
updateThemeColor({ primary: "#3b82f6" });
// 更新多个主题颜色
updateThemeColor({
primary: "#3b82f6",
success: "#10b981",
warning: "#f59e0b",
danger: "#ef4444",
info: "#6b7280",
dark: "#1f2937",
light: "#f3f4f6"
});
// 获取当前配置
console.log(configOptions.value.theme);元素尺寸配置
import { useOptions } from "tune-ui";
const { updateDefaultSize } = useOptions();
// 设置全局默认尺寸 (可选值: "small", "default", "large")
updateDefaultSize("default");国际化配置
import { useOptions, LOCALE_TYPE } from "tune-ui";
const { setLocale } = useOptions();
// 设置语言为中文
setLocale(LOCALE_TYPE.ZH_CN);
// 设置语言为英文
setLocale(LOCALE_TYPE.EN_US);重置配置
import { useOptions } from "tune-ui";
const { initOptions } = useOptions();
// 重置所有配置到默认值
initOptions();CSS 变量方式
你也可以通过 CSS 变量直接覆盖默认样式:
:root {
/* 主题颜色 */
--t-color-primary: #3b82f6;
--t-color-success: #10b981;
--t-color-warning: #f59e0b;
--t-color-danger: #ef4444;
--t-color-info: #6b7280;
/* 文字颜色 */
--t-text-color: #374151;
--t-text-color-light: #6b7280;
/* 边框样式 */
--t-border-radius: 4px;
--t-border-color: #e5e7eb;
/* 更多变量... */
}🧩 组件总览
基础组件
TButton- 按钮TIcon- 图标TTag- 标签TDivider- 分割线
表单组件
TInput- 输入框TInputNumber- 数字输入框TTextarea- 文本域TRadio- 单选框TCheckbox- 复选框TSwitch- 开关TSelect- 选择器TRate- 评分TSlider- 滑块TDatePicker- 日期选择器TDatePickerMultiple- 多日期选择器TUpload- 上传TColorPicker- 颜色选择器
数据展示
TBadge- 徽章TCard- 卡片TCarousel- 轮播图TListView- 列表视图TTable- 表格TProgress- 进度条TImage- 图片TCalendar- 日历TLoading- 加载TScrollbar- 滚动条
导航组件
TBreadcrumb- 面包屑TBackTop- 回到顶部TTabs- 标签页TTree- 树形控件TCollapse- 折叠面板
反馈组件
TDialog- 对话框TDrawer- 抽屉TPopConfirm- 气泡确认框TMessage- 消息提示TPopover- 气泡卡片
布局组件
TFlex- 弹性布局
🤝 贡献指南
我们非常欢迎您的贡献,您可以通过以下方式参与项目:
- 提交 Issue 报告问题或建议
- 提交 Pull Request 改进代码
在提交之前,请确保阅读我们的贡献指南。
📄 许可证
Copyright (c) 2024-present, TommyRunner
