dydx-naive-ui-for-vue 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,71 +1,80 @@
1
- # Dydx Naive UI
1
+ # DYDX Native UI for Vue
2
2
 
3
- 基于 Naive UI 封装的高级业务组件库,提供配置化表单、高级表格、弹窗表单等常用业务组件,旨在提升中后台开发效率。
3
+ 基于 [Naive UI](https://www.naiveui.com/) 的 Vue 3 二次封装组件库,旨在提供更高效、易用的业务组件,简化开发流程。
4
4
 
5
- ## 特性
5
+ ## 特性
6
6
 
7
- - 🚀 **配置化表单**:通过 JSON 配置生成复杂表单,支持响应式布局。
8
- - 📊 **高级表格**:集成列设置、自定义操作列、分页等功能的表格组件。
9
- - 🪟 **弹窗表单**:一键调用的弹窗/抽屉表单组件。
10
- - 🎨 **主题定制**:支持 CSS 变量定制,完美适配 Naive UI 主题。
11
- - 📝 **TypeScript**:完全使用 TypeScript 编写,提供完整的类型推断。
7
+ - 🚀 **开箱即用**:封装了常用的业务组件,减少重复代码
8
+ - 📝 **Schema 驱动**:支持通过 JSON 配置生成表单和表格
9
+ - 🎨 **高度定制**:保留了 Naive UI 的灵活性,支持属性透传和插槽扩展
10
+ - **响应式设计**:内置响应式布局支持
11
+ - 📘 **TypeScript**:全量 TypeScript 编写,提供完整的类型提示
12
12
 
13
- ## 安装
13
+ ## 📦 包含组件
14
14
 
15
- ```bash
16
- pnpm add dydx-naive-ui-for-vue
17
- # 或者
18
- npm install dydx-naive-ui-for-vue
19
- # 或者
20
- yarn add dydx-naive-ui-for-vue
21
- ```
15
+ | 组件名 | 描述 | 文档 |
16
+ |---|---|---|
17
+ | **NaiveForm** | Schema 驱动的高级表单,支持动态分组、联动等 | [查看文档](./src/components/NaiveForm/README.md) |
18
+ | **NaiveTable** | 功能强大的数据表格,支持列设置、拖拽、分页等 | [查看文档](./src/components/NaiveTable/README.md) |
19
+ | **FormModal** | 基于表单的弹窗/抽屉组件,简化增删改查交互 | [查看文档](./src/components/FormModal/README.md) |
20
+ | **NaiveUpload** | 增强版上传组件,支持自定义上传、自动校验等 | [查看文档](./src/components/NaiveUpload/README.md) |
21
+ | **IconSelect** | 图标选择器,支持虚拟滚动和搜索 | [查看文档](./src/components/IconSelect/README.md) |
22
+ | **VerificationCode** | 验证码输入 + 倒计时按钮组合 | [查看文档](./src/components/VerificationCode/README.md) |
22
23
 
23
- ## 快速上手
24
+ ## 🧩 组合式函数 (Composables)
24
25
 
25
- ### 引入样式
26
+ 项目提供了一系列 Vue Composable 函数,用于处理通用逻辑。
26
27
 
27
- 在你的入口文件(如 `main.ts`)中引入样式:
28
+ | 函数名 | 描述 | 文档 |
29
+ |---|---|---|
30
+ | **useResponsive** | 全局响应式设备检测与配置管理 | [查看文档](./src/composables/README.md) |
28
31
 
29
- ```ts
30
- import 'dydx-naive-ui-for-vue/style.css';
31
- ```
32
+ ## 🛠️ 安装指南
32
33
 
33
- ### 全局注册
34
+ ### 环境要求
34
35
 
35
- ```ts
36
- import { createApp } from 'vue';
37
- import App from './App.vue';
38
- import DydxNaiveUI from 'dydx-naive-ui-for-vue';
36
+ - Node.js >= 16
37
+ - Vue >= 3.3
38
+ - Naive UI >= 2.34
39
39
 
40
- const app = createApp(App);
41
- app.use(DydxNaiveUI);
42
- app.mount('#app');
43
- ```
40
+ ### 安装依赖
41
+
42
+ ```bash
43
+ # 使用 pnpm (推荐)
44
+ pnpm install
44
45
 
45
- ### 按需引入
46
+ # 或者使用 npm
47
+ npm install
46
48
 
47
- ```vue
48
- <script setup lang="ts">
49
- import { DydxNaiveForm, DydxNaiveTable } from 'dydx-naive-ui-for-vue';
50
- </script>
51
- </script>
49
+ # 或者使用 yarn
50
+ yarn install
52
51
  ```
53
52
 
54
- ### 自动引入 (Auto Import)
53
+ ### 🔌 自动按需引入 (Resolver)
55
54
 
56
- 如果你使用 `unplugin-vue-components`,可以使用内置的解析器:
55
+ 本库提供了用于 `unplugin-vue-components` 的 Resolver,支持自动按需引入组件。
57
56
 
58
- ```ts
59
- // vite.config.ts
57
+ 1. **安装插件**:
58
+
59
+ ```bash
60
+ pnpm add -D unplugin-vue-components unplugin-auto-import
61
+ ```
62
+
63
+ 2. **配置 `vite.config.ts`**:
64
+
65
+ ```typescript
66
+ import { defineConfig } from 'vite'
60
67
  import Components from 'unplugin-vue-components/vite'
61
- import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
62
- import { DydxNaiveUIResolver } from 'dydx-naive-ui-for-vue/resolver'
68
+ import { DydxNaiveUIResolver } from 'dydx-naive-ui-for-vue'
63
69
 
64
70
  export default defineConfig({
65
71
  plugins: [
66
72
  Components({
67
73
  resolvers: [
68
- NaiveUiResolver(),
74
+ // 自动引入 Naive UI 组件
75
+ // NaiveUiResolver(),
76
+
77
+ // 自动引入 DYDX Native UI 组件
69
78
  DydxNaiveUIResolver()
70
79
  ]
71
80
  })
@@ -73,26 +82,107 @@ export default defineConfig({
73
82
  })
74
83
  ```
75
84
 
76
- ## 组件文档
85
+ 配置完成后,你可以直接在模板中使用组件(如 `<dydx-naive-form />`),无需手动 import。
86
+
87
+ ## 🚀 快速开始
88
+
89
+ ### 引入组件
90
+
91
+ 在你的 Vue 项目中引入并注册组件:
92
+
93
+ ```typescript
94
+ import { createApp } from 'vue'
95
+ import App from './App.vue'
96
+ import DydxNativeUI from 'dydx-naive-ui-for-vue'
97
+ import 'dydx-naive-ui-for-vue/dist/style.css'
98
+
99
+ const app = createApp(App)
100
+ app.use(DydxNativeUI)
101
+ app.mount('#app')
102
+ ```
103
+
104
+ 或者按需引入:
105
+
106
+ ```typescript
107
+ import { DydxNaiveForm, DydxNaiveTable } from 'dydx-naive-ui-for-vue'
108
+ ```
109
+
110
+ ## 📂 项目结构
111
+
112
+ ```
113
+ dydx-native-ui-for-vue/
114
+ ├── src/
115
+ │ ├── components/ # 组件源码
116
+ │ │ ├── FormModal/ # 表单弹窗组件
117
+ │ │ ├── IconSelect/ # 图标选择器
118
+ │ │ ├── NaiveForm/ # Schema 表单
119
+ │ │ ├── NaiveTable/ # 高级表格
120
+ │ │ ├── NaiveUpload/ # 上传组件
121
+ │ │ └── VerificationCode/ # 验证码组件
122
+ │ ├── composables/ # 组合式函数
123
+ │ ├── utils/ # 工具函数
124
+ │ └── index.ts # 入口文件
125
+ ├── dist/ # 打包产物
126
+ ├── package.json # 项目配置
127
+ └── README.md # 项目说明
128
+ ```
129
+
130
+ ## 💻 开发指南
131
+
132
+ ### 启动开发环境
133
+
134
+ ```bash
135
+ pnpm dev
136
+ ```
137
+
138
+ ### 代码检查与格式化
139
+
140
+ ```bash
141
+ # 运行 ESLint 和 TypeScript 检查
142
+ pnpm check
143
+
144
+ # 自动修复 Lint 错误
145
+ pnpm lint
77
146
 
78
- - [NaiveForm 配置化表单](./src/components/NaiveForm/README.md)
79
- - [NaiveTable 高级表格](./src/components/NaiveTable/README.md)
80
- - [FormModal 表单弹窗](./src/components/FormModal/README.md)
81
- - [NaiveUpload 上传组件](./src/components/NaiveUpload/README.md)
82
- - [IconSelect 图标选择](./src/components/IconSelect/README.md)
147
+ # 格式化代码
148
+ pnpm format
149
+ ```
83
150
 
84
- ## 主题定制
151
+ ## 🏗️ 构建与部署
85
152
 
86
- 本组件库使用 CSS 变量进行样式控制,你可以通过覆盖这些变量来定制主题。
153
+ ### 构建库文件
87
154
 
88
- ```css
89
- :root {
90
- /* 表格工具栏按钮阴影 */
91
- --dydx-table-shadow: 0 1px 3px rgb(0 0 0 / 8%), 0 1px 2px rgb(0 0 0 / 6%);
92
- --dydx-table-shadow-hover: 0 2px 6px rgb(0 0 0 / 12%), 0 2px 4px rgb(0 0 0 / 8%);
93
- }
155
+ ```bash
156
+ pnpm build
94
157
  ```
95
158
 
96
- ## License
159
+ 构建产物将输出到 `dist` 目录,包含 ES Module 和 UMD 格式的文件,以及类型定义文件。
160
+
161
+ ### 发布
162
+
163
+ ```bash
164
+ pnpm release
165
+ ```
166
+
167
+ ## 🤝 贡献指南
168
+
169
+ 1. Fork 本仓库
170
+ 2. 创建新的特性分支 (`git checkout -b feature/AmazingFeature`)
171
+ 3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`)
172
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
173
+ 5. 提交 Pull Request
174
+
175
+ ## 📄 许可证
176
+
177
+ 本项目采用 MIT 许可证。
178
+
179
+ ## ❓ 常见问题 (FAQ)
180
+
181
+ **Q: 是否兼容 Naive UI 的所有主题?**
182
+ A: 是的,所有组件均基于 Naive UI 构建,会自动继承全局的主题配置。
183
+
184
+ **Q: 如何自定义组件样式?**
185
+ A: 大多数组件都透传了 Naive UI 的属性,你可以使用 Naive UI 提供的样式覆盖机制,或者通过 CSS 深度选择器 (`:deep()`) 进行定制。
97
186
 
98
- MIT
187
+ **Q: TypeScript 类型提示不显示怎么办?**
188
+ A: 请确保你的项目已经正确配置了 `tsconfig.json`,并且安装了最新版本的 VS Code 和 Volar 插件。