twcpt 0.0.12 → 0.0.13
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 +216 -217
- package/dist/components/j-tw-status-img/types.d.ts +2 -0
- package/dist/components/j-tw-toggle/index.d.ts +278 -0
- package/dist/components/j-tw-toggle/types.d.ts +41 -0
- package/dist/components/j-tw-tooltip/index.d.ts +3 -0
- package/dist/components/j-tw-tooltip/types.d.ts +126 -0
- package/dist/global.d.ts +20 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.mjs +13 -19
- package/dist/twcpt-styles.css +1 -1
- package/dist/twcpt.cjs.js +3 -3
- package/dist/twcpt.es.js +1530 -1256
- package/dist/utils/resolver.d.ts +1 -1
- package/package.json +1 -6
- package/dist/charts.cjs.js +0 -1
- package/dist/charts.d.ts +0 -0
- package/dist/charts.es.js +0 -1
package/README.md
CHANGED
|
@@ -1,218 +1,217 @@
|
|
|
1
|
-
# TWCPT - Vue 3 + Element-plus 组件库
|
|
2
|
-
|
|
3
|
-
TWCPT 是一个基于 Vue 3、TypeScript 和 Element-plus 构建的现代企业级组件库。
|
|
4
|
-
|
|
5
|
-
### 分支管理
|
|
6
|
-
|
|
7
|
-
1. **创建开发分支**: 开发新功能或修复问题时,应基于 `dev` 分支创建对应的功能分支。分支命名格式为 `feat/`、`fix/`、`refactor/`、`docs/`、`perf/` 或 `chore/` 前缀,后跟具体描述。
|
|
8
|
-
|
|
9
|
-
2. **提交代码审查**: 完成开发后,通过 Pull Request (PR) 或 Merge Request (MR) 提交至 `dev` 分支进行代码审查。提交后可保留自建分支,无需删除。
|
|
10
|
-
|
|
11
|
-
3. **版本发布流程**: 在 `dev` 分支完成构建后(执行 `npm run build-all`),需先执行 `npm login` 进行身份验证,随后执行 `npm run patch` 发布新版本。
|
|
12
|
-
|
|
13
|
-
## 项目特点
|
|
14
|
-
|
|
15
|
-
- 基于 Element-plus 的现代化 UI 组件
|
|
16
|
-
- 全面的 TypeScript 类型支持
|
|
17
|
-
- 开箱即用的企业级业务组件
|
|
18
|
-
- 内置国际化支持 (i18n)
|
|
19
|
-
- 权限控制系统
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
import {
|
|
109
|
-
import
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
<
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
<
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
- `
|
|
163
|
-
- `
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
- `
|
|
169
|
-
- `
|
|
170
|
-
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
├──
|
|
196
|
-
│ ├── j-
|
|
197
|
-
│
|
|
198
|
-
|
|
199
|
-
├──
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
1
|
+
# TWCPT - Vue 3 + Element-plus 组件库
|
|
2
|
+
|
|
3
|
+
TWCPT 是一个基于 Vue 3、TypeScript 和 Element-plus 构建的现代企业级组件库。
|
|
4
|
+
|
|
5
|
+
### 分支管理
|
|
6
|
+
|
|
7
|
+
1. **创建开发分支**: 开发新功能或修复问题时,应基于 `dev` 分支创建对应的功能分支。分支命名格式为 `feat/`、`fix/`、`refactor/`、`docs/`、`perf/` 或 `chore/` 前缀,后跟具体描述。
|
|
8
|
+
|
|
9
|
+
2. **提交代码审查**: 完成开发后,通过 Pull Request (PR) 或 Merge Request (MR) 提交至 `dev` 分支进行代码审查。提交后可保留自建分支,无需删除。
|
|
10
|
+
|
|
11
|
+
3. **版本发布流程**: 在 `dev` 分支完成构建后(执行 `npm run build-all`),需先执行 `npm login` 进行身份验证,随后执行 `npm run patch` 发布新版本。
|
|
12
|
+
|
|
13
|
+
## 项目特点
|
|
14
|
+
|
|
15
|
+
- 基于 Element-plus 的现代化 UI 组件
|
|
16
|
+
- 全面的 TypeScript 类型支持
|
|
17
|
+
- 开箱即用的企业级业务组件
|
|
18
|
+
- 内置国际化支持 (i18n)
|
|
19
|
+
- 权限控制系统
|
|
20
|
+
- 高度可定制的主题配置
|
|
21
|
+
|
|
22
|
+
## 分支命名规范 (Branching Guidelines)
|
|
23
|
+
|
|
24
|
+
为了保持组件库开发的条理性以及 CI/CD 流程的自动化,本项目采用语义化分支命名规范。
|
|
25
|
+
|
|
26
|
+
### 1. 核心分支 (Core Branches)
|
|
27
|
+
|
|
28
|
+
| 分支名 | 说明 |
|
|
29
|
+
|:------|:-------------------------------|
|
|
30
|
+
| `dev` | 开发分支。日常功能集成的基准分支,所有 PR 默认合并至此。 |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### 2. 短期协作分支 (Supporting Branches)
|
|
35
|
+
|
|
36
|
+
所有短期分支应遵循 `类别/描述` 的格式,使用小写字母并以中划线分隔。
|
|
37
|
+
|
|
38
|
+
#### 功能开发 (Feature)
|
|
39
|
+
|
|
40
|
+
用于开发新组件或新特性。
|
|
41
|
+
|
|
42
|
+
- 格式: `feat/description`
|
|
43
|
+
- 示例: `git checkout -b feat/button-component`
|
|
44
|
+
|
|
45
|
+
#### 缺陷修复 (Bugfix)
|
|
46
|
+
|
|
47
|
+
用于修复组件 Bug。
|
|
48
|
+
|
|
49
|
+
- 格式: `fix/description`
|
|
50
|
+
- 示例: `git checkout -b fix/select-dropdown-overflow`
|
|
51
|
+
|
|
52
|
+
#### 代码重构 (Refactor)
|
|
53
|
+
|
|
54
|
+
不影响功能逻辑的代码结构调整。
|
|
55
|
+
|
|
56
|
+
- 格式: `refactor/description`
|
|
57
|
+
- 示例: `git checkout -b refactor/use-callback-optimization`
|
|
58
|
+
|
|
59
|
+
#### 文档更新 (Docs)
|
|
60
|
+
|
|
61
|
+
仅涉及文档、注释、Storybook 示例的修改。
|
|
62
|
+
|
|
63
|
+
- 格式: `docs/description`
|
|
64
|
+
- 示例: `git checkout -b docs/add-api-tables`
|
|
65
|
+
|
|
66
|
+
#### 性能优化 (Perf)
|
|
67
|
+
|
|
68
|
+
专门针对组件渲染性能或包体积的优化。
|
|
69
|
+
|
|
70
|
+
- 格式: `perf/description`
|
|
71
|
+
- 示例: `git checkout -b perf/reduce-bundle-size`
|
|
72
|
+
|
|
73
|
+
#### 辅助任务 (Chore)
|
|
74
|
+
|
|
75
|
+
构建流程、依赖库更新、CI 配置等非业务逻辑修改。
|
|
76
|
+
|
|
77
|
+
- 格式: `chore/description`
|
|
78
|
+
- 示例: `git checkout -b chore/upgrade-react-18`
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### 3. 工作流建议 (Workflow)
|
|
83
|
+
|
|
84
|
+
1. **同步主分支**: 开发前确保 `dev` 分支是最新的。
|
|
85
|
+
2. **创建分支**: 从 `dev` 拉取新分支。
|
|
86
|
+
```bash
|
|
87
|
+
git checkout -b feat/your-feature-name
|
|
88
|
+
```
|
|
89
|
+
3. **提交代码**: 完成开发后提交 PR 到 `dev` 分支。
|
|
90
|
+
4. **代码审查**: 等待代码审查通过后合并。
|
|
91
|
+
|
|
92
|
+
## 安装使用
|
|
93
|
+
|
|
94
|
+
### 安装
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm install twcpt
|
|
98
|
+
# 或
|
|
99
|
+
yarn add twcpt
|
|
100
|
+
# 或
|
|
101
|
+
pnpm add twcpt
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 基础使用
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { createApp } from 'vue'
|
|
108
|
+
import { twcptInit } from 'twcpt'
|
|
109
|
+
import 'twcpt/dist/index.css'
|
|
110
|
+
|
|
111
|
+
const app = createApp(App)
|
|
112
|
+
|
|
113
|
+
// 初始化 TWCPT
|
|
114
|
+
twcptInit({
|
|
115
|
+
app,
|
|
116
|
+
defaultLanguage: 'zh-CN', // 可选:设置默认语言
|
|
117
|
+
colors: {
|
|
118
|
+
primary: '#FF5722', // 可选:自定义主题色
|
|
119
|
+
blue: '#2196F3'
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
app.mount('#app')
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 样式隔离
|
|
127
|
+
|
|
128
|
+
为了避免 TWCPT 的颜色配置影响外部项目,所有 TWCPT 组件必须包裹在 `.twcpt-container` 容器内:
|
|
129
|
+
|
|
130
|
+
```vue
|
|
131
|
+
<template>
|
|
132
|
+
<div class="twcpt-container">
|
|
133
|
+
<!-- TWCPT 组件只在此容器内生效 -->
|
|
134
|
+
<JTWButton type="primary">按钮</JTWButton>
|
|
135
|
+
<JTWTable :data="tableData" />
|
|
136
|
+
</div>
|
|
137
|
+
</template>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**重要说明:**
|
|
141
|
+
- `.twcpt-container` 确保 TWCPT 的颜色变量不会影响外部项目
|
|
142
|
+
- 如果 A 项目引用了 B 组件(TWCPT),两者的颜色配置互不影响
|
|
143
|
+
- 每个使用 TWCPT 的区域都需要包裹 `.twcpt-container`
|
|
144
|
+
|
|
145
|
+
### 按需引入
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
import { JTWButton, JTWTable } from 'twcpt'
|
|
149
|
+
|
|
150
|
+
export default {
|
|
151
|
+
components: {
|
|
152
|
+
JTWButton,
|
|
153
|
+
JTWTable
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## 组件列表
|
|
159
|
+
|
|
160
|
+
- **j-tw series**: 基于 Element Plus 的封装组件
|
|
161
|
+
- `JTWAutocomplete` - 自动完成输入框
|
|
162
|
+
- `JTWButton` - 按钮组件
|
|
163
|
+
- `JTWTable` - 表格组件
|
|
164
|
+
- 更多组件开发中...
|
|
165
|
+
|
|
166
|
+
- **j-ch series**: 图表组件
|
|
167
|
+
- `JCHBar` - 柱状图
|
|
168
|
+
- `JCHBarLine` - 混合图表
|
|
169
|
+
- `JCHBubble` - 气泡图
|
|
170
|
+
- 更多图表组件开发中...
|
|
171
|
+
|
|
172
|
+
## 开发指南
|
|
173
|
+
|
|
174
|
+
### 本地开发
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 安装依赖
|
|
178
|
+
npm install
|
|
179
|
+
|
|
180
|
+
# 启动开发服务器
|
|
181
|
+
npm run dev
|
|
182
|
+
|
|
183
|
+
# 构建组件库
|
|
184
|
+
npm run build
|
|
185
|
+
|
|
186
|
+
# 发布到 npm
|
|
187
|
+
npm run patch
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 项目结构
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
src/
|
|
194
|
+
├── components/ # 组件源码
|
|
195
|
+
│ ├── j-tw/ # Element Plus 封装组件
|
|
196
|
+
│ ├── j-ch/ # 图表组件
|
|
197
|
+
│ └── j-c/ # 基础组件
|
|
198
|
+
├── composables/ # 组合式函数
|
|
199
|
+
├── css/ # 样式文件
|
|
200
|
+
└── types.ts # 类型定义
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## 贡献指南
|
|
204
|
+
|
|
205
|
+
1. Fork 本仓库
|
|
206
|
+
2. 创建你的功能分支 (`git checkout -b feat/AmazingFeature`)
|
|
207
|
+
3. 提交你的修改 (`git commit -m 'Add some AmazingFeature'`)
|
|
208
|
+
4. 推送到分支 (`git push origin feat/AmazingFeature`)
|
|
209
|
+
5. 开启一个 Pull Request
|
|
210
|
+
|
|
211
|
+
## 许可证
|
|
212
|
+
|
|
213
|
+
本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。
|
|
214
|
+
|
|
215
|
+
## 更新日志
|
|
216
|
+
|
|
218
217
|
查看 [CHANGELOG.md](CHANGELOG.md) 了解版本更新详情。
|