xt-element-ui 1.2.4 → 1.2.5

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.
Files changed (42) hide show
  1. package/docs/README.md +201 -0
  2. package/docs/components/base/xt-button.md +114 -0
  3. package/docs/components/base/xt-card-item.md +104 -0
  4. package/docs/components/base/xt-card.md +108 -0
  5. package/docs/components/base/xt-config-provider.md +199 -0
  6. package/docs/components/base/xt-flex-box.md +115 -0
  7. package/docs/components/base/xt-grid-box.md +303 -0
  8. package/docs/components/base/xt-input.md +150 -0
  9. package/docs/components/base/xt-text.md +212 -0
  10. package/docs/components/extend/ex-bar.md +68 -0
  11. package/docs/components/extend/ex-button.md +62 -0
  12. package/docs/components/extend/ex-card.md +86 -0
  13. package/docs/components/extend/ex-chart.md +355 -0
  14. package/docs/components/extend/ex-icon.md +190 -0
  15. package/docs/components/extend/ex-line.md +71 -0
  16. package/docs/components/extend/ex-multi.md +156 -0
  17. package/docs/components/extend/ex-page.md +75 -0
  18. package/docs/components/extend/ex-pie.md +70 -0
  19. package/docs/components/extend/ex-select-tree.md +210 -0
  20. package/docs/components/extend/ex-table.md +591 -0
  21. package/docs/components/extend/ex-upload.md +134 -0
  22. package/docs/components/utils/size.md +148 -0
  23. package/docs/components/utils/theme.md +183 -0
  24. package/lib/index.common.js +332 -296
  25. package/lib/index.css +1 -1
  26. package/lib/index.umd.js +332 -296
  27. package/lib/index.umd.min.js +4 -4
  28. package/package.json +4 -2
  29. package/src/components/ex-chart/ExMulti.vue +44 -32
  30. package/src/components/ex-chart/ExPie.vue +5 -4
  31. package/src/components/ex-chart/index.vue +1 -4
  32. package/src/components/ex-chart/utils.js +1 -1
  33. package/src/components/ex-icon/index.js +2 -0
  34. package/src/components/ex-icon/index.vue +168 -0
  35. package/src/components/ex-icon/style/index.scss +7 -0
  36. package/src/components/ex-table/index.vue +3 -3
  37. package/src/components/index.scss +4 -1
  38. package/src/components/xt-card-item/images/bar.svg +1 -0
  39. package/src/components/xt-card-item/images/line.svg +1 -0
  40. package/src/components/xt-card-item/images/pie.svg +1 -0
  41. package/src/index.js +3 -0
  42. package/src/components/ex-chart/ExTrend.vue +0 -124
@@ -0,0 +1,150 @@
1
+ ## XtInput 输入框组件
2
+
3
+ 输入框组件用于收集用户输入的信息。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtInput v-model="inputValue" placeholder="请输入内容"></XtInput>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ inputValue: ''
18
+ }
19
+ }
20
+ }
21
+ </script>
22
+ ```
23
+ :::
24
+
25
+ ## 属性说明
26
+ | 属性 | 类型 | 默认值 | 说明 |
27
+ |------|------|--------|------|
28
+ | `value` | String / Number | - | 输入值(支持 v-model) |
29
+ | `placeholder` | String | '请输入内容' | 占位提示文本 |
30
+ | `color` | String | - | 自定义聚焦颜色 |
31
+
32
+ ## 示例
33
+
34
+ ### 基础输入框
35
+ ::: demo 基础输入框
36
+ ```vue
37
+ <template>
38
+ <XtInput v-model="username" placeholder="请输入用户名"></XtInput>
39
+ </template>
40
+
41
+ <script>
42
+ export default {
43
+ data() {
44
+ return {
45
+ username: ''
46
+ }
47
+ }
48
+ }
49
+ </script>
50
+ ```
51
+ :::
52
+
53
+ ### 自定义占位符
54
+
55
+ ::: demo 自定义占位符
56
+ ```vue
57
+ <template>
58
+ <XtInput v-model="email" placeholder="请输入您的邮箱地址"></XtInput>
59
+ </template>
60
+
61
+ <script>
62
+ export default {
63
+ data() {
64
+ return {
65
+ email: ''
66
+ }
67
+ }
68
+ }
69
+ </script>
70
+ ```
71
+ :::
72
+
73
+ ### 自定义聚焦颜色
74
+ ::: demo 自定义聚焦颜色
75
+ ```vue
76
+ <template>
77
+ <div style="display: flex; gap: 16px;">
78
+ <XtInput v-model="input1" placeholder="默认颜色"></XtInput>
79
+ <XtInput v-model="input2" placeholder="绿色主题" color="#52c41a"></XtInput>
80
+ <XtInput v-model="input3" placeholder="橙色主题" color="#faad14"></XtInput>
81
+ </div>
82
+ </template>
83
+
84
+ <script>
85
+ export default {
86
+ data() {
87
+ return {
88
+ input1: '',
89
+ input2: '',
90
+ input3: ''
91
+ }
92
+ }
93
+ }
94
+ </script>
95
+ ```
96
+ :::
97
+
98
+ ### 输入框组
99
+
100
+ ::: demo 输入框组
101
+ ```vue
102
+ <template>
103
+ <div style="display: flex; flex-direction: column; gap: 12px;">
104
+ <XtInput v-model="name" placeholder="姓名"></XtInput>
105
+ <XtInput v-model="phone" placeholder="手机"></XtInput>
106
+ <XtInput v-model="address" placeholder="地址"></XtInput>
107
+ </div>
108
+ </template>
109
+
110
+ <script>
111
+ export default {
112
+ data() {
113
+ return {
114
+ name: '',
115
+ phone: '',
116
+ address: ''
117
+ }
118
+ }
119
+ }
120
+ </script>
121
+ ```
122
+ :::
123
+
124
+ ### 监听输入事件
125
+
126
+ ::: demo 监听输入事件
127
+ ```vue
128
+ <template>
129
+ <div>
130
+ <XtInput :value="inputValue" placeholder="实时监听输入" @input="handleInput"></XtInput>
131
+ <p style="margin-top: 12px;">输入长度: {{ inputValue.length }}</p>
132
+ </div>
133
+ </template>
134
+
135
+ <script>
136
+ export default {
137
+ data() {
138
+ return {
139
+ inputValue: ''
140
+ }
141
+ },
142
+ methods: {
143
+ handleInput(value) {
144
+ this.inputValue = value
145
+ }
146
+ }
147
+ }
148
+ </script>
149
+ ```
150
+ :::
@@ -0,0 +1,212 @@
1
+ ## XtText 文本组件
2
+
3
+ 文本组件用于展示不同样式的文本内容。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 基本用法
8
+ ```vue
9
+ <template>
10
+ <XtText type="primary">主要文本</XtText>
11
+ </template>
12
+ ```
13
+ :::
14
+
15
+ ## 属性说明
16
+ | 属性 | 类型 | 默认值 | 可选值 | 说明 |
17
+ |------|------|--------|--------|------|
18
+ | `type` | String | - | `primary`、`success`、`warning`、`danger` | 文本颜色类型 |
19
+ | `size` | String | base | `extra-large`、`large`、`medium`、`base`、`small`、`extra-small` | 字体大小 |
20
+ | `bold` | Boolean | false | - | 是否加粗 |
21
+ | `letterSpacing` | String / Number | - | - | 字间距 |
22
+ | `money` | Boolean | false | - | 是否启用金额格式化 |
23
+ | `value` | Number / String | - | - | 金额数值 |
24
+ | `currency` | String | CNY | `CNY`、`USD`、`EUR`、`JPY`、`GBP`、`AUD`、`CAD` | 货币类型 |
25
+ | `decimals` | Number | 2 | 0-10 | 小数位数 |
26
+ | `locale` | String | zh-CN | - | 语言环境 |
27
+ | `showSign` | Boolean | false | - | 是否显示正负号 |
28
+ | `prefix` | String | - | - | 自定义前缀 |
29
+ | `suffix` | String | - | - | 自定义后缀 |
30
+
31
+ ## 示例
32
+
33
+ ### 不同类型的文本
34
+ ::: demo 不同类型的文本
35
+ ```vue
36
+ <template>
37
+ <div style="display: flex; gap: 16px;">
38
+ <XtText type="primary">主要文本</XtText>
39
+ <XtText type="success">成功文本</XtText>
40
+ <XtText type="warning">警告文本</XtText>
41
+ <XtText type="danger">危险文本</XtText>
42
+ </div>
43
+ </template>
44
+ ```
45
+ :::
46
+
47
+ ### 不同字体大小
48
+ ::: demo 不同字体大小
49
+ ```vue
50
+ <template>
51
+ <div style="display: flex; flex-direction: column; gap: 8px;">
52
+ <XtText size="extra-large">特大号文本</XtText>
53
+ <XtText size="large">大号文本</XtText>
54
+ <XtText size="medium">中号文本</XtText>
55
+ <XtText size="base">基准文本</XtText>
56
+ <XtText size="small">小号文本</XtText>
57
+ <XtText size="extra-small">特小号文本</XtText>
58
+ </div>
59
+ </template>
60
+ ```
61
+ :::
62
+
63
+ ### 加粗文本
64
+
65
+ ::: demo 加粗文本
66
+ ```vue
67
+ <template>
68
+ <div style="display: flex; flex-direction: column; gap: 8px;">
69
+ <XtText bold>普通加粗文本</XtText>
70
+ <XtText type="primary" bold>主要加粗文本</XtText>
71
+ </div>
72
+ </template>
73
+ ```
74
+ :::
75
+
76
+ ### 字间距
77
+ ::: demo 字间距
78
+ ```vue
79
+ <template>
80
+ <div style="display: flex; flex-direction: column; gap: 8px;">
81
+ <XtText>正常字间距</XtText>
82
+ <XtText :letterSpacing="4">宽字距文本</XtText>
83
+ <XtText letterSpacing="8px">更宽字距文本</XtText>
84
+ </div>
85
+ </template>
86
+ ```
87
+ :::
88
+
89
+ ### 组合使用
90
+
91
+ ::: demo 组合使用
92
+ ```vue
93
+ <template>
94
+ <div style="display: flex; flex-direction: column; gap: 8px;">
95
+ <XtText type="success" bold>成功加粗文本</XtText>
96
+ <XtText type="danger" :letterSpacing="2">危险宽字距文本</XtText>
97
+ <XtText type="warning" bold :letterSpacing="3">警告加粗宽字距</XtText>
98
+ </div>
99
+ </template>
100
+ ```
101
+ :::
102
+
103
+ ### 段落文本
104
+
105
+ ::: demo 段落文本
106
+ ```vue
107
+ <template>
108
+ <p>
109
+ 这是一段普通文本,其中包含
110
+ <XtText type="primary">高亮的主要文本</XtText>
111
+
112
+ <XtText type="danger">危险提示文本</XtText>。
113
+ </p>
114
+ </template>
115
+ ```
116
+ :::
117
+
118
+ ### 数据展示
119
+
120
+ ::: demo 数据展示
121
+ ```vue
122
+ <template>
123
+ <div style="display: flex; align-items: baseline; gap: 8px;">
124
+ <XtText type="primary" bold style="font-size: 24px;">¥1,234.56</XtText>
125
+ <XtText type="warning" :letterSpacing="1">本月已节省¥520</XtText>
126
+ </div>
127
+ </template>
128
+ ```
129
+ :::
130
+
131
+ ### 金额格式化
132
+ ::: demo 金额格式化
133
+ ```vue
134
+ <template>
135
+ <div style="display: flex; flex-direction: column; gap: 12px;">
136
+ <div>
137
+ <span style="color: #909399; margin-right: 16px;">人民币:</span>
138
+ <XtText money :value="123456.78" type="primary" bold></XtText>
139
+ </div>
140
+ <div>
141
+ <span style="color: #909399; margin-right: 16px;">美元:</span>
142
+ <XtText money :value="123456.78" currency="USD"></XtText>
143
+ </div>
144
+ <div>
145
+ <span style="color: #909399; margin-right: 16px;">欧元:</span>
146
+ <XtText money :value="123456.78" currency="EUR" locale="de-DE"></XtText>
147
+ </div>
148
+ <div>
149
+ <span style="color: #909399; margin-right: 16px;">日元:</span>
150
+ <XtText money :value="123456" currency="JPY" :decimals="0"></XtText>
151
+ </div>
152
+ </div>
153
+ </template>
154
+ ```
155
+ :::
156
+
157
+ ### 金额显示正负号
158
+ ::: demo 金额显示正负号
159
+ ```vue
160
+ <template>
161
+ <div style="display: flex; flex-direction: column; gap: 8px;">
162
+ <div>
163
+ <span style="color: #909399; margin-right: 16px;">收入:</span>
164
+ <XtText money :value="5000" showSign type="success"></XtText>
165
+ </div>
166
+ <div>
167
+ <span style="color: #909399; margin-right: 16px;">支出:</span>
168
+ <XtText money :value="-2300" showSign type="danger"></XtText>
169
+ </div>
170
+ </div>
171
+ </template>
172
+ ```
173
+ :::
174
+
175
+ ### 自定义前缀后缀
176
+
177
+ ::: demo 自定义前缀后缀
178
+ ```vue
179
+ <template>
180
+ <div style="display: flex; flex-direction: column; gap: 8px;">
181
+ <div>
182
+ <XtText money :value="1000" prefix="合计:" suffix=" 元整" type="primary"></XtText>
183
+ </div>
184
+ <div>
185
+ <XtText money :value="98.5" prefix="折扣价:" type="warning"></XtText>
186
+ </div>
187
+ </div>
188
+ </template>
189
+ ```
190
+ :::
191
+
192
+ ### 金额样式组合
193
+
194
+ ::: demo 金额样式组合
195
+ ```vue
196
+ <template>
197
+ <div style="display: flex; flex-direction: column; gap: 12px;">
198
+ <div style="font-size: 28px;">
199
+ <XtText money :value="1234567.89" type="primary" bold></XtText>
200
+ </div>
201
+ <div>
202
+ <span style="color: #909399;">今日收益:</span>
203
+ <XtText money :value="1258.67" showSign type="success"></XtText>
204
+ </div>
205
+ <div>
206
+ <span style="color: #909399;">累计支出:</span>
207
+ <XtText money :value="-8920.30" showSign type="danger"></XtText>
208
+ </div>
209
+ </div>
210
+ </template>
211
+ ```
212
+ :::
@@ -0,0 +1,68 @@
1
+ ## ExBar - 柱状图组件
2
+
3
+ 基于 ECharts 封装的柱状图组件。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 柱状图基础示例
8
+ ```vue
9
+ <template>
10
+ <ExChart type="bar" :chartData="chartData" style="height: 400px;" />
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ chartData: [
18
+ { name: '张三', value: 65 },
19
+ { name: '李四', value: 78 },
20
+ { name: '王五', value: 89 },
21
+ { name: '赵六', value: 95 },
22
+ { name: '钱七', value: 72 }
23
+ ]
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+ ```
29
+ :::
30
+
31
+ ## 显示标记点
32
+
33
+ ::: demo 显示最大值和最小值标记点
34
+ ```vue
35
+ <template>
36
+ <ExChart type="bar" :chartData="chartData" :markPoint="true" style="height: 400px;" />
37
+ </template>
38
+
39
+ <script>
40
+ export default {
41
+ data() {
42
+ return {
43
+ chartData: [
44
+ { name: '华东区', value: 1250 },
45
+ { name: '华南区', value: 980 },
46
+ { name: '华北区', value: 890 },
47
+ { name: '西南区', value: 720 },
48
+ { name: '西北区', value: 560 }
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ </script>
54
+ ```
55
+ :::
56
+
57
+ ## 属性说明
58
+
59
+ | 属性 | 类型 | 默认值 | 说明 |
60
+ |------|------|--------|------|
61
+ | `chartData` | Array | [] | 图表数据 |
62
+ | `theme` | String | '' | 主题名称 |
63
+ | `size` | String | 'medium' | 尺寸 |
64
+ | `markPoint` | Boolean | false | 是否显示标记点 |
65
+ | `showZoom` | Boolean | false | 是否显示缩放功能 |
66
+ | `reverse` | Boolean | false | 是否反转坐标轴 |
67
+ | `longLable` | Boolean | false | 是否启用长标签模式 |
68
+ | `energyType` | String | '' | Y轴单位 |
@@ -0,0 +1,62 @@
1
+ ## ExButton 按钮
2
+
3
+ 基于 ElementUI 按钮封装,支持防抖和字体大小配置。
4
+
5
+ ## 基础用法
6
+
7
+ ::: demo 按钮基础示例
8
+ ```vue
9
+ <template>
10
+ <div>
11
+ <ex-button>默认按钮</ex-button>
12
+ <ex-button type="primary">主要按钮</ex-button>
13
+ <ex-button type="success">成功按钮</ex-button>
14
+ </div>
15
+ </template>
16
+ ```
17
+ :::
18
+
19
+ ## 字体大小
20
+
21
+ 支持三种尺寸:`small`、`medium`、`large`
22
+
23
+ ::: demo 按钮字体大小示例
24
+ ```vue
25
+ <template>
26
+ <div>
27
+ <ex-button size="mini">迷你按钮</ex-button>
28
+ <ex-button size="small">小按钮</ex-button>
29
+ <ex-button size="medium">中按钮</ex-button>
30
+ <ex-button size="large">大按钮</ex-button>
31
+ </div>
32
+ </template>
33
+ ```
34
+ :::
35
+
36
+ ## 继承 ConfigProvider 配置
37
+
38
+ 当 ExButton 被包裹在 XtConfigProvider 中时,会自动继承字体大小配置:
39
+
40
+ ::: demo 按钮继承字体大小示例
41
+ ```vue
42
+ <template>
43
+ <xt-config-provider size="large">
44
+ <ex-button>自动继承大字体</ex-button>
45
+ </xt-config-provider>
46
+ </template>
47
+ ```
48
+ :::
49
+
50
+ ## Attributes
51
+
52
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
53
+ |------|------|------|--------|--------|
54
+ | type | 按钮类型 | string | primary/success/warning/danger | — |
55
+ | size | 按钮尺寸 | string | small/medium/large | — |
56
+ | throttle | 点击节流时间 (ms) | number | — | 0 |
57
+
58
+ ## Events
59
+
60
+ | 事件名 | 说明 | 回调参数 |
61
+ |--------|------|----------|
62
+ | click | 点击按钮时触发 | — |
@@ -0,0 +1,86 @@
1
+ ## ExCard 卡片
2
+
3
+ 基于 ElementUI 卡片封装,支持多种阴影模式和字体大小配置。
4
+
5
+ ## 基础用法
6
+
7
+ ::: demo 基础用法
8
+ ```vue
9
+ <template>
10
+ <ex-card title="卡片标题">
11
+ <p>这是卡片内容</p>
12
+ </ex-card>
13
+ </template>
14
+ ```
15
+ :::
16
+
17
+ ## 阴影模式
18
+
19
+ 支持三种阴影模式:`always`、`hover`、`never`
20
+
21
+ ::: demo 阴影模式
22
+ ```vue
23
+ <template>
24
+ <div>
25
+ <ex-card shadow="always">始终显示阴影</ex-card>
26
+ <ex-card shadow="hover">悬停时显示阴影</ex-card>
27
+ <ex-card shadow="never">不显示阴影</ex-card>
28
+ </div>
29
+ </template>
30
+ ```
31
+ :::
32
+
33
+ ## 字体大小
34
+
35
+ 支持三种尺寸:`small`、`medium`、`large`
36
+
37
+ ::: demo 字体大小
38
+ ```vue
39
+ <template>
40
+ <div>
41
+ <ex-card size="small" title="小卡片">
42
+ <p>小尺寸卡片内容</p>
43
+ </ex-card>
44
+ <ex-card size="medium" title="中卡片">
45
+ <p>中等尺寸卡片内容</p>
46
+ </ex-card>
47
+ <ex-card size="large" title="大卡片">
48
+ <p>大尺寸卡片内容</p>
49
+ </ex-card>
50
+ </div>
51
+ </template>
52
+ ```
53
+ :::
54
+
55
+ ## 继承 ConfigProvider 配置
56
+
57
+ 当 ExCard 被包裹在 XtConfigProvider 中时,会自动继承字体大小配置。
58
+
59
+ ::: demo 继承配置
60
+ ```vue
61
+ <template>
62
+ <xt-config-provider size="large">
63
+ <ex-card title="卡片标题">
64
+ <p>自动继承大字体配置</p>
65
+ </ex-card>
66
+ </xt-config-provider>
67
+ </template>
68
+ ```
69
+ :::
70
+
71
+ ## Attributes
72
+
73
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
74
+ |------|------|------|--------|--------|
75
+ | title | 卡片标题 | string | — | — |
76
+ | shadow | 阴影显示模式 | string | always/hover/never | always |
77
+ | bordered | 是否显示边框 | boolean | — | true |
78
+ | size | 卡片尺寸 | string | small/medium/large | — |
79
+ | body-class | 卡片 body 的类名 | string | — | — |
80
+
81
+ ## Slots
82
+
83
+ | 名称 | 说明 |
84
+ |------|------|
85
+ | — | 卡片内容 |
86
+ | header | 卡片头部内容(优先级高于 title 属性) |