开放代码社区 › zui
zui
开发工具TypeScriptZUI 3 是一个全新的开源 UI 组件库,提供了丰富的实用组件,并提供自由的定制使用方式,不依赖任何 JavaScript 框架,可以在任何 Web 应用中通过原生的方式使用。 访问 来提前预览组件库。 如果你需要访问 ZUI 1,请访问 ,ZUI 1 源码已经转移到 zui1 分支。 丰富的 CSS 工具类 :基于 Tailwind CSS 提供了丰富的 CSS 工具类,包括特别的语义化外观类名; 强大的 JS 组件 :基于 Preact 提供了大量 JavaScript 组件,每个组件提供了大量实用的功能选项
仓库地址
https://gitee.com/wwccss/zui.gitREADME
# ZUI 3
ZUI 3 是一个全新的开源 UI 组件库,提供了丰富的实用组件,并提供自由的定制使用方式,不依赖任何 JavaScript 框架,可以在任何 Web 应用中通过原生的方式使用。
访问 https://easysoft.github.io/zui/3/ 来提前预览组件库。
👉 如果你需要访问 ZUI 1,请访问 https://openzui.com/ ,ZUI 1 源码已经转移到 `zui1` 分支。
## 特性
* 🌸 **丰富的 CSS 工具类**:基于 [Tailwind CSS](https://tailwindcss.com/) 提供了丰富的 CSS 工具类,包括特别的语义化外观类名;
* 💠 **强大的 JS 组件**:基于 [Preact](https://preactjs.com/) 提供了大量 JavaScript 组件,每个组件提供了大量实用的功能选项;
* 💖 **友好现代的界面**:提供了经过精心设计的界面风格,所有组件交互经过反复优化和验证以提供最佳方式;
* 🌗 **主题和深色模式**:基于 CSS 变量的主题模式,快速生成主题,内置支持深色模式
* 📦 **自由使用**:不依赖具体的框架,所有 CSS 工具类开箱即用,所有 JS 组件支持原生调用,丰富的引入方式,支持通过 ESM 导入,或者直接在浏览器中引用整个 JS 和 CSS,支持打包定制自己的组合版本;
* ⚙️ **高度定制**:除了按需引入,还支持打包定制自己的组合版本,避免多余
一些激动人心的新特性正在开发,包括:
* [ ] 交互式的文档示例;
* [ ] 在线演练场;
* [ ] 主题设计器;
* [ ] 设计规范指导文档;
* [ ] 可配置的定制打包机制,支持在线生成打包配置;
* [ ] 适用于 React 和 Preact 的组件库;
* [ ] 通用组件插件机制,允许对所有组件进行扩展。
## 快速预览
### 使用 CSS 工具类
```html
<button class="btn primary">ZUI 3</button>
<button class="btn primary-outline">Read more</button>
```
### 使用 JS 组件
```html
<menu id="colorPicker"></menu>
<script>
const colorPicker = new ColorPicker('#colorPicker', {
heading: '选择颜色',
defaultValue: '#0ea5e9',
});
</script>
```
## 开发
### 安装
```sh
$ pnpm install
```
### 启动开发服务器
```sh
$ pnpm dev
```
### 构建
```sh
$ pnpm build
```
### 文档开发预览
```sh
$ pnpm docs:dev
```
### 文档构建
```sh
$ pnpm docs:build
```
## 技术栈
* Node.js 18+
* 包管理器:[pnpm](https://pnpm.io/zh/)
* 构建工具:[Vite](https://cn.vitejs.dev/)
* CSS 工具库:[TailwindCSS](https://tailwindcss.com/)
* 静态文档网站生成:[VitePress](https://vitepress.dev/)
* TypeScript 4.5+
* 字体图标生成:[Fantasticon](https://github.com/tancredi/fantasticon)
* JS 组件开发 [preact.js](https://preactjs.com/)
## FAQ
* 为何没有 ZUI 2?
* ZUI 3 和 ZUI 1 跨度太大了,所以跳过了大版本号。
* 我可以在项目中使用吗?
* 目前 ZUI 3 处理快速开发中的不稳定状态,如果没有深入了解项目源码,不建议在真实项目中使用,欢迎参与项目开发。