@pungfe/element 0.0.1-alpha.28 → 0.0.1-alpha.29
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 +151 -143
- package/dist/advance-CYfRZGwy.js +1892 -0
- package/dist/advance-DoIe6XpY.cjs +1 -0
- package/dist/advance.cjs +1 -0
- package/dist/advance.d.ts +23 -0
- package/dist/advance.js +2 -0
- package/dist/basic-BfqwJFE_.cjs +1 -0
- package/dist/basic-CZ74BN1R.js +1006 -0
- package/dist/basic.cjs +1 -0
- package/dist/basic.d.ts +33 -0
- package/dist/basic.js +2 -0
- package/dist/{types/src/components → components}/advance/XButtonAsync.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XButtonConfirm.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XCascaderRequest.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XFormFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XFormRequestNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XRequest.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XSelectRequest.vue.d.ts +5 -5
- package/dist/{types/src/components → components}/advance/XTableFlex.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/advance/XTableRequestConfigNext.vue.d.ts +2 -2
- package/dist/{types/src/components → components}/advance/XTableRequestNext.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/advance/XUploadOssNext.vue.d.ts +1 -1
- package/dist/{types/src/components → components}/basic/DatePicker.vue.d.ts +3 -3
- package/dist/{types/src/components → components}/basic/Input.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Select.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/Tabs.vue.d.ts +1 -1
- package/dist/{types/src/constants → constants}/index.d.ts +2 -2
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25 -0
- package/dist/{types/src/install.d.ts → install.d.ts} +2 -2
- package/dist/{es/zh-cn-Bkn9hgF7.js → locales-CPrLlnob.js} +200 -8
- package/dist/locales-fS7f5AIx.cjs +1 -0
- package/dist/locales.cjs +1 -0
- package/dist/locales.d.ts +2 -0
- package/dist/locales.js +2 -0
- package/dist/{cjs/resolver.cjs → resolver.cjs} +1 -2
- package/dist/{es/resolver.js → resolver.js} +1 -3
- package/dist/style.css +3 -0
- package/dist/types.d.ts +30 -0
- package/package.json +120 -105
- package/dist/cjs/Button-8c-6EPNG.cjs +0 -2
- package/dist/cjs/Button-8c-6EPNG.cjs.map +0 -1
- package/dist/cjs/Button.cjs +0 -1
- package/dist/cjs/Cascader-CwDh-TjU.cjs +0 -2
- package/dist/cjs/Cascader-CwDh-TjU.cjs.map +0 -1
- package/dist/cjs/Cascader.cjs +0 -1
- package/dist/cjs/Checkbox-CNcwptzq.cjs +0 -2
- package/dist/cjs/Checkbox-CNcwptzq.cjs.map +0 -1
- package/dist/cjs/Checkbox.cjs +0 -1
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs +0 -2
- package/dist/cjs/ConfigProvider-CyWiC5MP.cjs.map +0 -1
- package/dist/cjs/ConfigProvider.cjs +0 -1
- package/dist/cjs/DatePicker-pKtnPDXe.cjs +0 -2
- package/dist/cjs/DatePicker-pKtnPDXe.cjs.map +0 -1
- package/dist/cjs/DatePicker.cjs +0 -1
- package/dist/cjs/Dialog-BQzqL743.cjs +0 -2
- package/dist/cjs/Dialog-BQzqL743.cjs.map +0 -1
- package/dist/cjs/Dialog.cjs +0 -1
- package/dist/cjs/Form-DKzgN4am.cjs +0 -2
- package/dist/cjs/Form-DKzgN4am.cjs.map +0 -1
- package/dist/cjs/Form.cjs +0 -1
- package/dist/cjs/FormItem-BSXNuWjn.cjs +0 -2
- package/dist/cjs/FormItem-BSXNuWjn.cjs.map +0 -1
- package/dist/cjs/FormItem.cjs +0 -1
- package/dist/cjs/Input-Bnp7Ap0P.cjs +0 -2
- package/dist/cjs/Input-Bnp7Ap0P.cjs.map +0 -1
- package/dist/cjs/Input.cjs +0 -1
- package/dist/cjs/InputNumber-Ddow_hhd.cjs +0 -2
- package/dist/cjs/InputNumber-Ddow_hhd.cjs.map +0 -1
- package/dist/cjs/InputNumber.cjs +0 -1
- package/dist/cjs/Pagination-Cy3Y08FK.cjs +0 -2
- package/dist/cjs/Pagination-Cy3Y08FK.cjs.map +0 -1
- package/dist/cjs/Pagination.cjs +0 -1
- package/dist/cjs/Select-QOHpdjtL.cjs +0 -2
- package/dist/cjs/Select-QOHpdjtL.cjs.map +0 -1
- package/dist/cjs/Select.cjs +0 -1
- package/dist/cjs/TabPane-C2gWO5xN.cjs +0 -2
- package/dist/cjs/TabPane-C2gWO5xN.cjs.map +0 -1
- package/dist/cjs/TabPane.cjs +0 -1
- package/dist/cjs/Table-B3zf7ybj.cjs +0 -2
- package/dist/cjs/Table-B3zf7ybj.cjs.map +0 -1
- package/dist/cjs/Table.cjs +0 -1
- package/dist/cjs/Tabs-CQcXRrGf.cjs +0 -2
- package/dist/cjs/Tabs-CQcXRrGf.cjs.map +0 -1
- package/dist/cjs/Tabs.cjs +0 -1
- package/dist/cjs/Upload-Cw1DMO7y.cjs +0 -2
- package/dist/cjs/Upload-Cw1DMO7y.cjs.map +0 -1
- package/dist/cjs/Upload.cjs +0 -1
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs +0 -2
- package/dist/cjs/XButtonAsync-DxB_iRpa.cjs.map +0 -1
- package/dist/cjs/XButtonAsync.cjs +0 -1
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs +0 -2
- package/dist/cjs/XButtonConfirm-DMcr5_5A.cjs.map +0 -1
- package/dist/cjs/XButtonConfirm.cjs +0 -1
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs +0 -2
- package/dist/cjs/XCascaderRequest-DKW_m3MY.cjs.map +0 -1
- package/dist/cjs/XCascaderRequest.cjs +0 -1
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs +0 -2
- package/dist/cjs/XFormFlex-CAxHuPZj.cjs.map +0 -1
- package/dist/cjs/XFormFlex.cjs +0 -1
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs +0 -2
- package/dist/cjs/XFormRequestNext-zfjnyv2v.cjs.map +0 -1
- package/dist/cjs/XFormRequestNext.cjs +0 -1
- package/dist/cjs/XRequest-BNDHllWT.cjs +0 -2
- package/dist/cjs/XRequest-BNDHllWT.cjs.map +0 -1
- package/dist/cjs/XRequest.cjs +0 -1
- package/dist/cjs/XSelectRequest-B0uan46l.cjs +0 -2
- package/dist/cjs/XSelectRequest-B0uan46l.cjs.map +0 -1
- package/dist/cjs/XSelectRequest.cjs +0 -1
- package/dist/cjs/XTableFlex-D8d713CD.cjs +0 -2
- package/dist/cjs/XTableFlex-D8d713CD.cjs.map +0 -1
- package/dist/cjs/XTableFlex.cjs +0 -1
- package/dist/cjs/XTableRequestConfigNext.cjs +0 -1
- package/dist/cjs/XTableRequestNext.cjs +0 -1
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs +0 -2
- package/dist/cjs/XUploadOssNext-D174wiQw.cjs.map +0 -1
- package/dist/cjs/XUploadOssNext.cjs +0 -1
- package/dist/cjs/advance-CXQH0k0U.cjs +0 -2
- package/dist/cjs/advance-CXQH0k0U.cjs.map +0 -1
- package/dist/cjs/advance.cjs +0 -1
- package/dist/cjs/basic-CKVDAV8Q.cjs +0 -2
- package/dist/cjs/basic-CKVDAV8Q.cjs.map +0 -1
- package/dist/cjs/constants-CYUPXiMy.cjs +0 -2
- package/dist/cjs/constants-CYUPXiMy.cjs.map +0 -1
- package/dist/cjs/dist-Dgq63FPm.cjs +0 -2
- package/dist/cjs/dist-Dgq63FPm.cjs.map +0 -1
- package/dist/cjs/element.css +0 -3
- package/dist/cjs/en-Da0_dekZ.cjs +0 -2
- package/dist/cjs/en-Da0_dekZ.cjs.map +0 -1
- package/dist/cjs/en.cjs +0 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index2.cjs +0 -1
- package/dist/cjs/resolver.cjs.map +0 -1
- package/dist/cjs/style.cjs +0 -1
- package/dist/cjs/zh-cn-CF-yyg2O.cjs +0 -2
- package/dist/cjs/zh-cn-CF-yyg2O.cjs.map +0 -1
- package/dist/cjs/zh-cn.cjs +0 -1
- package/dist/es/Button-DSKisAgZ.js +0 -40
- package/dist/es/Button-DSKisAgZ.js.map +0 -1
- package/dist/es/Button.js +0 -2
- package/dist/es/Cascader-Df1d0rtN.js +0 -55
- package/dist/es/Cascader-Df1d0rtN.js.map +0 -1
- package/dist/es/Cascader.js +0 -2
- package/dist/es/Checkbox-C5Z0Dqkx.js +0 -46
- package/dist/es/Checkbox-C5Z0Dqkx.js.map +0 -1
- package/dist/es/Checkbox.js +0 -2
- package/dist/es/ConfigProvider-Dd3Oqqvf.js +0 -17
- package/dist/es/ConfigProvider-Dd3Oqqvf.js.map +0 -1
- package/dist/es/ConfigProvider.js +0 -2
- package/dist/es/DatePicker-xJSFLg0Y.js +0 -70
- package/dist/es/DatePicker-xJSFLg0Y.js.map +0 -1
- package/dist/es/DatePicker.js +0 -2
- package/dist/es/Dialog-BvMeOAU9.js +0 -63
- package/dist/es/Dialog-BvMeOAU9.js.map +0 -1
- package/dist/es/Dialog.js +0 -2
- package/dist/es/Form-V7_olGHq.js +0 -52
- package/dist/es/Form-V7_olGHq.js.map +0 -1
- package/dist/es/Form.js +0 -2
- package/dist/es/FormItem-DCMMnSQO.js +0 -46
- package/dist/es/FormItem-DCMMnSQO.js.map +0 -1
- package/dist/es/FormItem.js +0 -2
- package/dist/es/Input-CQvLBbzQ.js +0 -86
- package/dist/es/Input-CQvLBbzQ.js.map +0 -1
- package/dist/es/Input.js +0 -2
- package/dist/es/InputNumber-DxMf5l3F.js +0 -70
- package/dist/es/InputNumber-DxMf5l3F.js.map +0 -1
- package/dist/es/InputNumber.js +0 -2
- package/dist/es/Pagination-BJEeN66O.js +0 -54
- package/dist/es/Pagination-BJEeN66O.js.map +0 -1
- package/dist/es/Pagination.js +0 -2
- package/dist/es/Select-BHgPcMvn.js +0 -120
- package/dist/es/Select-BHgPcMvn.js.map +0 -1
- package/dist/es/Select.js +0 -2
- package/dist/es/TabPane-B_fsTqWm.js +0 -34
- package/dist/es/TabPane-B_fsTqWm.js.map +0 -1
- package/dist/es/TabPane.js +0 -2
- package/dist/es/Table-Dz_FhW7c.js +0 -112
- package/dist/es/Table-Dz_FhW7c.js.map +0 -1
- package/dist/es/Table.js +0 -2
- package/dist/es/Tabs-COmnZvj1.js +0 -42
- package/dist/es/Tabs-COmnZvj1.js.map +0 -1
- package/dist/es/Tabs.js +0 -2
- package/dist/es/Upload-B9QtDZhT.js +0 -79
- package/dist/es/Upload-B9QtDZhT.js.map +0 -1
- package/dist/es/Upload.js +0 -2
- package/dist/es/XButtonAsync-DN6-j4VG.js +0 -46
- package/dist/es/XButtonAsync-DN6-j4VG.js.map +0 -1
- package/dist/es/XButtonAsync.js +0 -2
- package/dist/es/XButtonConfirm-D8UkJz_d.js +0 -64
- package/dist/es/XButtonConfirm-D8UkJz_d.js.map +0 -1
- package/dist/es/XButtonConfirm.js +0 -2
- package/dist/es/XCascaderRequest-Bsvfwf28.js +0 -54
- package/dist/es/XCascaderRequest-Bsvfwf28.js.map +0 -1
- package/dist/es/XCascaderRequest.js +0 -2
- package/dist/es/XFormFlex-CeKL-p1x.js +0 -36
- package/dist/es/XFormFlex-CeKL-p1x.js.map +0 -1
- package/dist/es/XFormFlex.js +0 -2
- package/dist/es/XFormRequestNext-ClKFsdRJ.js +0 -60
- package/dist/es/XFormRequestNext-ClKFsdRJ.js.map +0 -1
- package/dist/es/XFormRequestNext.js +0 -2
- package/dist/es/XRequest-qctTVADK.js +0 -47
- package/dist/es/XRequest-qctTVADK.js.map +0 -1
- package/dist/es/XRequest.js +0 -2
- package/dist/es/XSelectRequest-eDF112KU.js +0 -86
- package/dist/es/XSelectRequest-eDF112KU.js.map +0 -1
- package/dist/es/XSelectRequest.js +0 -2
- package/dist/es/XTableFlex-IiKO2YNg.js +0 -76
- package/dist/es/XTableFlex-IiKO2YNg.js.map +0 -1
- package/dist/es/XTableFlex.js +0 -2
- package/dist/es/XTableRequestConfigNext.js +0 -2
- package/dist/es/XTableRequestNext.js +0 -2
- package/dist/es/XUploadOssNext-yBI5Peoe.js +0 -70
- package/dist/es/XUploadOssNext-yBI5Peoe.js.map +0 -1
- package/dist/es/XUploadOssNext.js +0 -2
- package/dist/es/advance-9IP8swna.js +0 -1468
- package/dist/es/advance-9IP8swna.js.map +0 -1
- package/dist/es/advance.js +0 -11
- package/dist/es/basic-DvQGCOl7.js +0 -46
- package/dist/es/basic-DvQGCOl7.js.map +0 -1
- package/dist/es/constants-C_Llxhb6.js +0 -6
- package/dist/es/constants-C_Llxhb6.js.map +0 -1
- package/dist/es/dist-DQ3VOl3T.js +0 -151
- package/dist/es/dist-DQ3VOl3T.js.map +0 -1
- package/dist/es/element.css +0 -3
- package/dist/es/en-sGHBfmHX.js +0 -197
- package/dist/es/en-sGHBfmHX.js.map +0 -1
- package/dist/es/en.js +0 -2
- package/dist/es/index.js +0 -47
- package/dist/es/index.js.map +0 -1
- package/dist/es/index2.js +0 -3
- package/dist/es/resolver.js.map +0 -1
- package/dist/es/style.js +0 -0
- package/dist/es/zh-cn-Bkn9hgF7.js.map +0 -1
- package/dist/es/zh-cn.js +0 -2
- package/dist/types/src/advance.d.ts +0 -1
- package/dist/types/src/components/advance.d.ts +0 -38
- package/dist/types/src/components/basic.d.ts +0 -33
- package/dist/types/src/index.d.ts +0 -6
- package/dist/types/src/locales/index.d.ts +0 -2
- package/dist/types/src/style.d.ts +0 -0
- package/dist/types/src/types.d.ts +0 -57
- package/dist/{types/src/components → components}/basic/Button.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Cascader.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Checkbox.vue.d.ts +4 -4
- package/dist/{types/src/components → components}/basic/ConfigProvider.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Dialog.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/Form.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/FormItem.vue.d.ts +0 -0
- package/dist/{types/src/components → components}/basic/InputNumber.vue.d.ts +4 -4
- /package/dist/{types/src/components → components}/basic/Pagination.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/TabPane.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Table.vue.d.ts +0 -0
- /package/dist/{types/src/components → components}/basic/Upload.vue.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/en.d.ts +0 -0
- /package/dist/{types/src/locales → locales}/zh-cn.d.ts +0 -0
- /package/dist/{types/src/resolver.d.ts → resolver.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,143 +1,151 @@
|
|
|
1
|
-
# @pungfe/element
|
|
2
|
-
|
|
3
|
-
[![npm version][npm-version-src]][npm-version-href]
|
|
4
|
-
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
5
|
-
|
|
6
|
-
基于 [Vue 3](https://vuejs.org/) 与 [Element Plus](https://element-plus.org/) 的组件库:在 Element Plus 之上提供带 **X** 前缀的封装组件(如 `XButton`、`XForm`、`XTable`),并可选注册一组进阶组件(请求表格、异步按钮、OSS 上传等)。
|
|
7
|
-
|
|
8
|
-
## 特性
|
|
9
|
-
|
|
10
|
-
- **与 Element Plus 对齐**:封装层透传常用 Props / 事件,默认行为可通过全局配置微调(如按钮中文空格、表格溢出提示)。
|
|
11
|
-
- **基础组件**:表单、表格、上传、分页等常用控件的 X 系列封装,开箱即用。
|
|
12
|
-
- **进阶组件(可选)**:通过 `install` 的 `advance: true` 注册,适合列表请求、表单提交、OSS 等场景。
|
|
13
|
-
- **按需样式**:提供 `unplugin-vue-components` 解析器,自动解析组件并引入对应 Element Plus 的 CSS 副作用路径。
|
|
14
|
-
- **TypeScript**:导出类型声明;为全局组件提供类型补充。
|
|
15
|
-
- **国际化**:内置在 Element Plus 语言包上扩展的 `en`、`zhCn` 文案。
|
|
16
|
-
|
|
17
|
-
## 环境要求
|
|
18
|
-
|
|
19
|
-
请与下列 **peerDependencies** 版本保持一致(或兼容范围):
|
|
20
|
-
|
|
21
|
-
| 包
|
|
22
|
-
|
|
|
23
|
-
| `vue`
|
|
24
|
-
| `element-plus` | `^2.13.1` |
|
|
25
|
-
|
|
26
|
-
## 安装
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npm i @pungfe/element element-plus vue
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 快速开始
|
|
33
|
-
|
|
34
|
-
全局注册插件(默认只注册**基础组件**);同时引入本库样式(内含 Tailwind 等构建产物):
|
|
35
|
-
|
|
36
|
-
```ts
|
|
37
|
-
import Element from '@pungfe/element'
|
|
38
|
-
import { createApp } from 'vue'
|
|
39
|
-
import App from './App.vue'
|
|
40
|
-
import '@pungfe/element/style.css'
|
|
41
|
-
|
|
42
|
-
const app = createApp(App)
|
|
43
|
-
|
|
44
|
-
app.use(Element)
|
|
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
|
-
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
| `@pungfe/element
|
|
112
|
-
| `@pungfe/element/
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
npm
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
1
|
+
# @pungfe/element
|
|
2
|
+
|
|
3
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
4
|
+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
5
|
+
|
|
6
|
+
基于 [Vue 3](https://vuejs.org/) 与 [Element Plus](https://element-plus.org/) 的组件库:在 Element Plus 之上提供带 **X** 前缀的封装组件(如 `XButton`、`XForm`、`XTable`),并可选注册一组进阶组件(请求表格、异步按钮、OSS 上传等)。
|
|
7
|
+
|
|
8
|
+
## 特性
|
|
9
|
+
|
|
10
|
+
- **与 Element Plus 对齐**:封装层透传常用 Props / 事件,默认行为可通过全局配置微调(如按钮中文空格、表格溢出提示)。
|
|
11
|
+
- **基础组件**:表单、表格、上传、分页等常用控件的 X 系列封装,开箱即用。
|
|
12
|
+
- **进阶组件(可选)**:通过 `install` 的 `advance: true` 注册,适合列表请求、表单提交、OSS 等场景。
|
|
13
|
+
- **按需样式**:提供 `unplugin-vue-components` 解析器,自动解析组件并引入对应 Element Plus 的 CSS 副作用路径。
|
|
14
|
+
- **TypeScript**:导出类型声明;为全局组件提供类型补充。
|
|
15
|
+
- **国际化**:内置在 Element Plus 语言包上扩展的 `en`、`zhCn` 文案。
|
|
16
|
+
|
|
17
|
+
## 环境要求
|
|
18
|
+
|
|
19
|
+
请与下列 **peerDependencies** 版本保持一致(或兼容范围):
|
|
20
|
+
|
|
21
|
+
| 包 | 版本 |
|
|
22
|
+
| -------------- | --------- |
|
|
23
|
+
| `vue` | `^3.5.27` |
|
|
24
|
+
| `element-plus` | `^2.13.1` |
|
|
25
|
+
|
|
26
|
+
## 安装
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm i @pungfe/element element-plus vue
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 快速开始
|
|
33
|
+
|
|
34
|
+
全局注册插件(默认只注册**基础组件**);同时引入本库样式(内含 Tailwind 等构建产物):
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import Element from '@pungfe/element'
|
|
38
|
+
import { createApp } from 'vue'
|
|
39
|
+
import App from './App.vue'
|
|
40
|
+
import '@pungfe/element/style.css'
|
|
41
|
+
|
|
42
|
+
const app = createApp(App)
|
|
43
|
+
|
|
44
|
+
app.use(Element)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
同时请确保 **Element Plus** 的样式已按需或全量引入(例如全量:`import 'element-plus/dist/index.css'`);若仅用 `unplugin-vue-components` + 本库解析器,一般由解析器为各组件注入 Element Plus 的 CSS 副作用路径。
|
|
48
|
+
|
|
49
|
+
### 注册进阶组件
|
|
50
|
+
|
|
51
|
+
进阶组件包含如 `XTableRequestNext`、`XFormRequestNext`、`XUploadOssNext` 等,需显式开启:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
app.use(Element, { advance: true })
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 全局配置 `ElementConfig`
|
|
58
|
+
|
|
59
|
+
安装时可传入 `config`,用于合并默认的按钮、表格等全局行为(具体字段见包内导出的 `ElementConfig` 类型):
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
app.use(Element, {
|
|
63
|
+
config: {
|
|
64
|
+
button: { autoInsertSpace: false },
|
|
65
|
+
table: { showOverflowTooltip: false }
|
|
66
|
+
// oss: { ... } // 供上传等进阶能力使用
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 国际化(Element Plus)
|
|
72
|
+
|
|
73
|
+
从本库导出扩展后的语言包,配合 `el-config-provider` 使用:
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { zhCn } from '@pungfe/element/locales'
|
|
77
|
+
|
|
78
|
+
// 在模板中:<el-config-provider :locale="zhCn">...</el-config-provider>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
英文为 `en`。
|
|
82
|
+
|
|
83
|
+
## 按需引入(推荐)
|
|
84
|
+
|
|
85
|
+
使用 [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 时,可引入解析器,自动处理组件与 Element Plus 样式副作用:
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import ElementResolver from '@pungfe/element/resolver'
|
|
89
|
+
import Components from 'unplugin-vue-components/vite'
|
|
90
|
+
|
|
91
|
+
// vite.config.ts 示例
|
|
92
|
+
export default defineConfig({
|
|
93
|
+
plugins: [
|
|
94
|
+
Components({
|
|
95
|
+
resolvers: [
|
|
96
|
+
ElementResolver()
|
|
97
|
+
// 若使用进阶组件:
|
|
98
|
+
// ElementResolver({ advance: true })
|
|
99
|
+
]
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
模板中直接使用 `XButton`、`XTable` 等即可;进阶组件解析需 `ElementResolver({ advance: true })`。
|
|
106
|
+
|
|
107
|
+
## 子路径导出
|
|
108
|
+
|
|
109
|
+
| 路径 | 说明 |
|
|
110
|
+
| --------------------------- | ------------------------------------------------------------------------- |
|
|
111
|
+
| `@pungfe/element` | 默认入口:`install`、`ElementConfig` 等类型(不含语言包,见下) |
|
|
112
|
+
| `@pungfe/element/basic` | 基础 X 组件具名导出;含 `GlobalComponents` 类型补充(按需静态导入) |
|
|
113
|
+
| `@pungfe/element/advance` | 进阶组件具名导出;含对应 `GlobalComponents` 类型补充(按需静态导入) |
|
|
114
|
+
| `@pungfe/element/locales` | 扩展后的 `en`、`zhCn`(配合 `el-config-provider`) |
|
|
115
|
+
| `@pungfe/element/resolver` | `unplugin-vue-components` 解析器(基础从 `basic`、进阶从 `advance` 解析) |
|
|
116
|
+
| `@pungfe/element/style.css` | 本库样式 |
|
|
117
|
+
|
|
118
|
+
## 组件一览
|
|
119
|
+
|
|
120
|
+
**基础**:`XButton`、`XCascader`、`XCheckbox`、`XConfigProvider`、`XDatePicker`、`XDialog`、`XForm`、`XFormItem`、`XInput`、`XInputNumber`、`XPagination`、`XSelect`、`XTable`、`XTabs`、`XTabPane`、`XUpload`。
|
|
121
|
+
|
|
122
|
+
**进阶**(`advance: true`):`XButtonAsync`、`XButtonConfirm`、`XCascaderRequest`、`XFormFlex`、`XFormRequestNext`、`XRequest`、`XSelectRequest`、`XTableFlex`、`XTableRequestNext`、`XTableRequestConfigNext`、`XUploadOssNext`。
|
|
123
|
+
|
|
124
|
+
## 本地开发
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm ci
|
|
128
|
+
npm run build # 输出 dist
|
|
129
|
+
npm run fmt # oxfmt 格式化
|
|
130
|
+
npm run lint # Oxlint(含类型感知)
|
|
131
|
+
npm run typecheck
|
|
132
|
+
npm run test # Vitest(watch)
|
|
133
|
+
npm run test:ci # Vitest 单次跑完(与 CI 一致)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
发布流程可通过 `npm run release`(先构建再使用 bumpp 升版)完成;CI 在指向 `main` 的 Push / PR 上会执行 lint、typecheck、test 与 build。
|
|
137
|
+
|
|
138
|
+
### 静态按需导入
|
|
139
|
+
|
|
140
|
+
未使用 `app.use` 全局注册时,可从子路径具名导入基础或进阶组件(与解析器 `from` 一致):`@pungfe/element/basic`、`@pungfe/element/advance`。
|
|
141
|
+
|
|
142
|
+
## License
|
|
143
|
+
|
|
144
|
+
[MIT](./LICENSE) License 2026 [FP](https://github.com/pungfe)
|
|
145
|
+
|
|
146
|
+
<!-- Badges -->
|
|
147
|
+
|
|
148
|
+
[npm-version-src]: https://img.shields.io/npm/v/@pungfe/element.svg
|
|
149
|
+
[npm-version-href]: https://npmjs.com/package/@pungfe/element
|
|
150
|
+
[npm-downloads-src]: https://img.shields.io/npm/dm/@pungfe/element
|
|
151
|
+
[npm-downloads-href]: https://www.npmcharts.com/compare/@pungfe/element?interval=30
|