@vtj/materials 0.8.44 → 0.8.46

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 (180) hide show
  1. package/dist/assets/antdv/index.umd.js +2 -2
  2. package/dist/assets/charts/index.umd.js +2 -2
  3. package/dist/assets/element/index.umd.js +2 -2
  4. package/dist/assets/ui/index.umd.js +2 -2
  5. package/dist/deps/@vtj/charts/index.umd.js +2 -2
  6. package/dist/deps/@vtj/icons/index.umd.js +2 -2
  7. package/dist/deps/@vtj/ui/index.umd.js +3 -3
  8. package/dist/deps/@vtj/utils/index.umd.js +2 -2
  9. package/dist/deps/@vueuse/core/index.iife.min.js +1 -1
  10. package/dist/deps/@vueuse/shared/index.iife.min.js +1 -1
  11. package/dist/deps/ant-design-vue/antd.min.js +1 -1
  12. package/dist/deps/element-plus/index.css +1 -1
  13. package/dist/deps/element-plus/index.full.min.js +4 -4
  14. package/dist/deps/element-plus/zh-cn.js +1 -1
  15. package/dist/deps/vue-router/vue-router.global.prod.js +2 -2
  16. package/package.json +7 -6
  17. package/src/antdv/affix.ts +47 -0
  18. package/src/antdv/alert.ts +81 -0
  19. package/src/antdv/anchor.ts +129 -0
  20. package/src/antdv/app.ts +32 -0
  21. package/src/antdv/autocomplete.ts +138 -0
  22. package/src/antdv/avatar.ts +172 -0
  23. package/src/antdv/badge.ts +129 -0
  24. package/src/antdv/breadcrumb.ts +86 -0
  25. package/src/antdv/button.ts +116 -0
  26. package/src/antdv/calendar.ts +68 -0
  27. package/src/antdv/card.ts +175 -0
  28. package/src/antdv/carousel.ts +149 -0
  29. package/src/antdv/cascader.ts +224 -0
  30. package/src/antdv/checkbox.ts +101 -0
  31. package/src/antdv/collapse.ts +166 -0
  32. package/src/antdv/comment.ts +162 -0
  33. package/src/antdv/configProvider.ts +124 -0
  34. package/src/antdv/datePicker.ts +450 -0
  35. package/src/antdv/description.ts +153 -0
  36. package/src/antdv/divider.ts +63 -0
  37. package/src/antdv/drawer.ts +200 -0
  38. package/src/antdv/dropdown.ts +216 -0
  39. package/src/antdv/empty.ts +34 -0
  40. package/src/antdv/flex.ts +190 -0
  41. package/src/antdv/floatButton.ts +237 -0
  42. package/src/antdv/form.ts +295 -0
  43. package/src/antdv/grid.ts +192 -0
  44. package/src/antdv/image.ts +71 -0
  45. package/src/antdv/index.ts +198 -0
  46. package/src/antdv/input.ts +294 -0
  47. package/src/antdv/inputNumber.ts +130 -0
  48. package/src/antdv/layout.ts +196 -0
  49. package/src/antdv/list.ts +255 -0
  50. package/src/antdv/mentions.ts +171 -0
  51. package/src/antdv/menu.ts +314 -0
  52. package/src/antdv/message.ts +13 -0
  53. package/src/antdv/modal.ts +182 -0
  54. package/src/antdv/notification.ts +117 -0
  55. package/src/antdv/pageHeader.ts +79 -0
  56. package/src/antdv/pagination.ts +121 -0
  57. package/src/antdv/popconfirm.ts +205 -0
  58. package/src/antdv/popover.ts +158 -0
  59. package/src/antdv/progress.ts +143 -0
  60. package/src/antdv/qrCode.ts +91 -0
  61. package/src/antdv/radio.ts +158 -0
  62. package/src/antdv/rate.ts +79 -0
  63. package/src/antdv/result.ts +35 -0
  64. package/src/antdv/segmented.ts +55 -0
  65. package/src/antdv/select.ts +420 -0
  66. package/src/antdv/skeleton.ts +131 -0
  67. package/src/antdv/slider.ts +130 -0
  68. package/src/antdv/space.ts +137 -0
  69. package/src/antdv/spin.ts +53 -0
  70. package/src/antdv/statistic.ts +131 -0
  71. package/src/antdv/steps.ts +168 -0
  72. package/src/antdv/switch.ts +78 -0
  73. package/src/antdv/table.ts +392 -0
  74. package/src/antdv/tabs.ts +157 -0
  75. package/src/antdv/tag.ts +72 -0
  76. package/src/antdv/timePicker.ts +344 -0
  77. package/src/antdv/timeline.ts +96 -0
  78. package/src/antdv/tooltip.ts +137 -0
  79. package/src/antdv/tour.ts +192 -0
  80. package/src/antdv/transfer.ts +166 -0
  81. package/src/antdv/tree.ts +214 -0
  82. package/src/antdv/treeSelect.ts +359 -0
  83. package/src/antdv/typography.ts +354 -0
  84. package/src/antdv/upload.ts +183 -0
  85. package/src/antdv/watermark.ts +80 -0
  86. package/src/charts/chart.ts +48 -0
  87. package/src/charts/index.ts +38 -0
  88. package/src/element/affix.ts +56 -0
  89. package/src/element/alert.ts +75 -0
  90. package/src/element/anchor.ts +110 -0
  91. package/src/element/autodcomplete.ts +170 -0
  92. package/src/element/avatar.ts +59 -0
  93. package/src/element/backtop.ts +58 -0
  94. package/src/element/badge.ts +66 -0
  95. package/src/element/breadcrumb.ts +67 -0
  96. package/src/element/button.ts +113 -0
  97. package/src/element/calendar.ts +32 -0
  98. package/src/element/card.ts +55 -0
  99. package/src/element/carousel.ts +162 -0
  100. package/src/element/cascader.ts +208 -0
  101. package/src/element/checkbox.ts +258 -0
  102. package/src/element/collapse.ts +90 -0
  103. package/src/element/colorPicker.ts +92 -0
  104. package/src/element/configProvider.ts +59 -0
  105. package/src/element/container.ts +85 -0
  106. package/src/element/datePicker.ts +211 -0
  107. package/src/element/dateTime.ts +217 -0
  108. package/src/element/descriptions.ts +144 -0
  109. package/src/element/dialog.ts +191 -0
  110. package/src/element/divider.ts +36 -0
  111. package/src/element/drawer.ts +154 -0
  112. package/src/element/dropdown.ts +205 -0
  113. package/src/element/empty.ts +39 -0
  114. package/src/element/form.ts +212 -0
  115. package/src/element/image.ts +149 -0
  116. package/src/element/index.ts +193 -0
  117. package/src/element/input.ts +184 -0
  118. package/src/element/inputNumber.ts +114 -0
  119. package/src/element/layout.ts +164 -0
  120. package/src/element/link.ts +54 -0
  121. package/src/element/menu.ts +348 -0
  122. package/src/element/pageHeader.ts +67 -0
  123. package/src/element/pagination.ts +130 -0
  124. package/src/element/popconfirm.ts +96 -0
  125. package/src/element/popover.ts +172 -0
  126. package/src/element/progress.ts +104 -0
  127. package/src/element/radio.ts +198 -0
  128. package/src/element/rate.ts +137 -0
  129. package/src/element/result.ts +37 -0
  130. package/src/element/scrollbar.ts +127 -0
  131. package/src/element/select.ts +351 -0
  132. package/src/element/selectV2.ts +299 -0
  133. package/src/element/skeleton.ts +75 -0
  134. package/src/element/slider.ts +165 -0
  135. package/src/element/space.ts +101 -0
  136. package/src/element/statistic.ts +135 -0
  137. package/src/element/steps.ts +127 -0
  138. package/src/element/switch.ts +123 -0
  139. package/src/element/table.ts +460 -0
  140. package/src/element/tabs.ts +164 -0
  141. package/src/element/tag.ts +91 -0
  142. package/src/element/text.ts +54 -0
  143. package/src/element/timePicker.ts +139 -0
  144. package/src/element/timeSelect.ts +103 -0
  145. package/src/element/timeline.ts +106 -0
  146. package/src/element/tooltip.ts +179 -0
  147. package/src/element/tour.ts +269 -0
  148. package/src/element/transfer.ts +113 -0
  149. package/src/element/tree.ts +182 -0
  150. package/src/element/treeSelect.ts +524 -0
  151. package/src/element/treeV2.ts +119 -0
  152. package/src/element/upload.ts +168 -0
  153. package/src/element/virtualizedTable.ts +173 -0
  154. package/src/element/watermark.ts +92 -0
  155. package/src/shared/index.ts +4 -0
  156. package/src/shared/mock.ts +307 -0
  157. package/src/shared/props.ts +19 -0
  158. package/src/shared/style.ts +31 -0
  159. package/src/shared/utils.ts +17 -0
  160. package/src/ui/action-bar.ts +81 -0
  161. package/src/ui/action.ts +98 -0
  162. package/src/ui/attachment.ts +125 -0
  163. package/src/ui/container.ts +140 -0
  164. package/src/ui/data-item.ts +102 -0
  165. package/src/ui/dialog-form.ts +54 -0
  166. package/src/ui/dialog.ts +192 -0
  167. package/src/ui/field.ts +134 -0
  168. package/src/ui/form.ts +78 -0
  169. package/src/ui/grid.ts +380 -0
  170. package/src/ui/header.ts +40 -0
  171. package/src/ui/icon.ts +48 -0
  172. package/src/ui/index.ts +84 -0
  173. package/src/ui/list.ts +79 -0
  174. package/src/ui/panel.ts +73 -0
  175. package/src/ui/picker.ts +104 -0
  176. package/src/ui/qrcode.ts +59 -0
  177. package/src/ui/query-form.ts +37 -0
  178. package/src/ui/tabs.ts +51 -0
  179. package/src/ui/test.ts +91 -0
  180. package/src/version.ts +8 -0
@@ -0,0 +1,193 @@
1
+ import type {
2
+ Material,
3
+ MaterialCategory,
4
+ MaterialDescription
5
+ } from '@vtj/core';
6
+ import { version } from '../version';
7
+ import { setPackageName } from '../shared';
8
+
9
+ // * base 基础组件
10
+ import button from './button';
11
+ import container from './container';
12
+ import layout from './layout';
13
+ import link from './link';
14
+ import text from './text';
15
+ import scrollbar from './scrollbar';
16
+ import space from './space';
17
+
18
+ // * form 表单组件
19
+ import autodcomplete from './autodcomplete';
20
+ import cascader from './cascader';
21
+ import checkbox from './checkbox';
22
+ import colorPicker from './colorPicker';
23
+ import datePicker from './datePicker';
24
+ import dateTime from './dateTime';
25
+ import input from './input';
26
+ import inputNumber from './inputNumber';
27
+ import radio from './radio';
28
+ import rate from './rate';
29
+ import select from './select';
30
+ import selectV2 from './selectV2';
31
+ import slider from './slider';
32
+ import Switch from './switch';
33
+ import timePicker from './timePicker';
34
+ import timeSelect from './timeSelect';
35
+ import transfer from './transfer';
36
+ import upload from './upload';
37
+
38
+ // * data 数据展示
39
+ import avatar from './avatar';
40
+ import badge from './badge';
41
+ import calendar from './calendar';
42
+ import card from './card';
43
+ import carousel from './carousel';
44
+ import collapse from './collapse';
45
+ import descriptions from './descriptions';
46
+ import empty from './empty';
47
+ import image from './image';
48
+ import pagination from './pagination';
49
+ import progress from './progress';
50
+ import result from './result';
51
+ import skeleton from './skeleton';
52
+ import table from './table';
53
+ import virtualizedTable from './virtualizedTable';
54
+ import tag from './tag';
55
+ import timeline from './timeline';
56
+ import tour from './tour';
57
+ import tree from './tree';
58
+ import treeSelect from './treeSelect';
59
+ import treeV2 from './treeV2';
60
+ import statistic from './statistic';
61
+
62
+ // * nav 导航
63
+ import affix from './affix';
64
+ import anchor from './anchor';
65
+ import backtop from './backtop';
66
+ import breadcrumb from './breadcrumb';
67
+ import dropdown from './dropdown';
68
+ import menu from './menu';
69
+ import pageHeader from './pageHeader';
70
+ import steps from './steps';
71
+ import tabs from './tabs';
72
+
73
+ // * Feedback 反馈组件
74
+ import alert from './alert';
75
+ import dialog from './dialog';
76
+ import drawer from './drawer';
77
+ import popconfirm from './popconfirm';
78
+ import popover from './popover';
79
+ import tooltip from './tooltip';
80
+
81
+ // * other
82
+ import divider from './divider';
83
+ import watermark from './watermark';
84
+
85
+ import configProvider from './configProvider';
86
+
87
+ const name = 'element-plus';
88
+ const components: MaterialDescription[] = [
89
+ affix,
90
+ alert,
91
+ anchor,
92
+ autodcomplete,
93
+ avatar,
94
+ backtop,
95
+ badge,
96
+ breadcrumb,
97
+ button,
98
+ calendar,
99
+ card,
100
+ carousel,
101
+ cascader,
102
+ checkbox,
103
+ collapse,
104
+ colorPicker,
105
+ configProvider,
106
+ container,
107
+ datePicker,
108
+ dateTime,
109
+ descriptions,
110
+ dialog,
111
+ divider,
112
+ drawer,
113
+ dropdown,
114
+ empty,
115
+ image,
116
+ input,
117
+ inputNumber,
118
+ layout,
119
+ link,
120
+ menu,
121
+ pageHeader,
122
+ pagination,
123
+ popconfirm,
124
+ popover,
125
+ progress,
126
+ radio,
127
+ rate,
128
+ result,
129
+ scrollbar,
130
+ select,
131
+ selectV2,
132
+ skeleton,
133
+ slider,
134
+ space,
135
+ statistic,
136
+ steps,
137
+ Switch,
138
+ table,
139
+ tabs,
140
+ tag,
141
+ text,
142
+ timeline,
143
+ timePicker,
144
+ timeSelect,
145
+ tooltip,
146
+ tour,
147
+ transfer,
148
+ tree,
149
+ treeSelect,
150
+ treeV2,
151
+ upload,
152
+ virtualizedTable,
153
+ watermark
154
+ ].flat();
155
+
156
+ const categories: MaterialCategory[] = [
157
+ {
158
+ id: 'base',
159
+ category: '基础组件'
160
+ },
161
+ {
162
+ id: 'layout',
163
+ category: '排版布局'
164
+ },
165
+ {
166
+ id: 'form',
167
+ category: '表单组件'
168
+ },
169
+ {
170
+ id: 'data',
171
+ category: '数据展示'
172
+ },
173
+ {
174
+ id: 'nav',
175
+ category: '导航'
176
+ },
177
+ {
178
+ id: 'other',
179
+ category: '其他'
180
+ }
181
+ ];
182
+
183
+ const material: Material = {
184
+ name,
185
+ version: version,
186
+ label: 'Element+',
187
+ library: 'ElementPlusMaterial',
188
+ order: 2,
189
+ categories,
190
+ components: setPackageName(components, name)
191
+ };
192
+
193
+ export default material;
@@ -0,0 +1,184 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import { size } from '../shared';
3
+
4
+ const Input: MaterialDescription = {
5
+ name: 'ElInput',
6
+ label: '输入框',
7
+ categoryId: 'form',
8
+ doc: 'https://element-plus.org/zh-CN/component/input.html',
9
+ props: [
10
+ {
11
+ name: 'type',
12
+ defaultValue: 'text',
13
+ options: ['text', 'textarea'],
14
+ setters: ['SelectSetter', 'InputSetter']
15
+ },
16
+ {
17
+ name: 'modelValue',
18
+ defaultValue: '',
19
+ setters: ['InputSetter', 'NumberSetter']
20
+ },
21
+ {
22
+ name: 'maxlength',
23
+ defaultValue: '',
24
+ setters: ['InputSetter', 'NumberSetter']
25
+ },
26
+ {
27
+ name: 'minlength',
28
+ defaultValue: '',
29
+ setters: ['InputSetter', 'NumberSetter']
30
+ },
31
+ {
32
+ name: 'showWordLimit',
33
+ defaultValue: false,
34
+ title:
35
+ '是否显示输入字数统计,只在 type = "text" 或 type = "textarea" 时有效',
36
+ label: '字数统计',
37
+ setters: 'BooleanSetter'
38
+ },
39
+ {
40
+ name: 'placeholder',
41
+ defaultValue: '',
42
+ setters: 'InputSetter'
43
+ },
44
+ {
45
+ name: 'clearable',
46
+ defaultValue: false,
47
+ setters: 'BooleanSetter'
48
+ },
49
+ {
50
+ name: 'formatter',
51
+ defaultValue: '',
52
+ setters: 'FunctionSetter'
53
+ },
54
+ {
55
+ name: 'parser',
56
+ defaultValue: '',
57
+ setters: 'FunctionSetter'
58
+ },
59
+ {
60
+ name: 'showPassword',
61
+ defaultValue: false,
62
+ title: '是否显示切换密码图标',
63
+ label: '密码图标',
64
+ setters: 'BooleanSetter'
65
+ },
66
+ {
67
+ name: 'disabled',
68
+ defaultValue: false,
69
+ setters: 'BooleanSetter'
70
+ },
71
+ size('size'),
72
+ {
73
+ name: 'prefix-icon',
74
+ defaultValue: '',
75
+ setters: 'InputSetter'
76
+ },
77
+ {
78
+ name: 'suffix-icon',
79
+ defaultValue: '',
80
+ setters: 'InputSetter'
81
+ },
82
+ {
83
+ name: 'rows',
84
+ defaultValue: 2,
85
+ setters: 'NumberSetter'
86
+ },
87
+ {
88
+ name: 'autosize',
89
+ defaultValue: false,
90
+ setters: ['BooleanSetter', 'JSONStter']
91
+ },
92
+ {
93
+ name: 'autocomplete',
94
+ defaultValue: 'off',
95
+ setters: 'InputSetter'
96
+ },
97
+ {
98
+ name: 'name',
99
+ defaultValue: '',
100
+ setters: 'InputSetter'
101
+ },
102
+ {
103
+ name: 'readonly',
104
+ defaultValue: false,
105
+ setters: 'BooleanSetter'
106
+ },
107
+ {
108
+ name: 'max',
109
+ defaultValue: '',
110
+ setters: 'InputSetter'
111
+ },
112
+ {
113
+ name: 'min',
114
+ defaultValue: '',
115
+ setters: 'InputSetter'
116
+ },
117
+ {
118
+ name: 'step',
119
+ defaultValue: '',
120
+ setters: ['InputSetter', 'NumberSetter']
121
+ },
122
+ {
123
+ name: 'resize',
124
+ defaultValue: '',
125
+ options: ['none', 'both', 'horizontal', 'vertical'],
126
+ setters: 'InputSetter'
127
+ },
128
+ {
129
+ name: 'autofocus',
130
+ defaultValue: false,
131
+ setters: 'BooleanSetter'
132
+ },
133
+ {
134
+ name: 'form',
135
+ defaultValue: '',
136
+ setters: 'InputSetter'
137
+ },
138
+ {
139
+ name: 'label',
140
+ defaultValue: '',
141
+ setters: 'InputSetter'
142
+ },
143
+ {
144
+ name: 'tabindex',
145
+ defaultValue: '',
146
+ setters: 'InputSetter'
147
+ },
148
+ {
149
+ name: 'validateEvent',
150
+ defaultValue: true,
151
+ title: '输入时是否触发表单的校验',
152
+ label: '表单校验',
153
+ setters: 'BooleanSetter'
154
+ },
155
+ {
156
+ name: 'inputStyle',
157
+ defaultValue: {},
158
+ setters: ['JSONSetter']
159
+ }
160
+ ],
161
+ events: [
162
+ {
163
+ name: 'blur'
164
+ },
165
+ {
166
+ name: 'focus'
167
+ },
168
+ {
169
+ name: 'change'
170
+ },
171
+ {
172
+ name: 'input'
173
+ },
174
+ {
175
+ name: 'clear'
176
+ },
177
+ {
178
+ name: 'update:modelValue'
179
+ }
180
+ ],
181
+ slots: ['prefix', 'suffix', 'prepend', 'append']
182
+ };
183
+
184
+ export default Input;
@@ -0,0 +1,114 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ const InputNumber: MaterialDescription = {
3
+ name: 'ElInputNumber',
4
+ label: '数字输入框',
5
+
6
+ categoryId: 'form',
7
+ doc: 'https://element-plus.org/zh-CN/component/input-number.html',
8
+ childIncludes: false,
9
+ package: 'element-plus',
10
+ props: [
11
+ {
12
+ name: 'modelValue',
13
+ defaultValue: '',
14
+ setters: 'NumberSetter'
15
+ },
16
+ {
17
+ name: 'min',
18
+ defaultValue: '',
19
+ setters: 'NumberSetter'
20
+ },
21
+ {
22
+ name: 'max',
23
+ defaultValue: '',
24
+ setters: 'NumberSetter'
25
+ },
26
+ {
27
+ name: 'step',
28
+ defaultValue: 1,
29
+ setters: 'NumberSetter'
30
+ },
31
+ {
32
+ name: 'stepStrictly',
33
+ defaultValue: false,
34
+ setters: 'BooleanSetter'
35
+ },
36
+ {
37
+ name: 'precision',
38
+ defaultValue: '',
39
+ setters: 'NumberSetter'
40
+ },
41
+ {
42
+ name: 'size',
43
+ defaultValue: 'default',
44
+ options: ['large', 'small'],
45
+ setters: 'SelectSetter'
46
+ },
47
+ {
48
+ name: 'readonly',
49
+ defaultValue: false,
50
+ setters: 'BooleanSetter'
51
+ },
52
+ {
53
+ name: 'disabled',
54
+ defaultValue: false,
55
+ setters: 'BooleanSetter'
56
+ },
57
+ {
58
+ name: 'controls',
59
+ defaultValue: true,
60
+ setters: 'BooleanSetter'
61
+ },
62
+ {
63
+ name: 'controlsPosition',
64
+ defaultValue: '',
65
+ title: '控制按钮位置',
66
+ label: '按钮位置',
67
+ options: ['', 'right'],
68
+ setters: 'SelectSetter'
69
+ },
70
+ {
71
+ name: 'name',
72
+ defaultValue: '',
73
+ setters: 'InputSetter'
74
+ },
75
+ {
76
+ name: 'label',
77
+ defaultValue: '',
78
+ setters: 'InputSetter'
79
+ },
80
+ {
81
+ name: 'placeholder',
82
+ defaultValue: '',
83
+ setters: 'InputSetter'
84
+ },
85
+ {
86
+ name: 'valueOnClear',
87
+ defaultValue: '',
88
+ options: ['min', 'max'],
89
+ setters: ['InputSetter', 'NumberSetter']
90
+ },
91
+ {
92
+ name: 'validateEvent',
93
+ defaultValue: true,
94
+ setters: 'BooleanSetter'
95
+ }
96
+ ],
97
+ slots: ['decrease-icon', 'increase-icon'],
98
+ events: [
99
+ {
100
+ name: 'change'
101
+ },
102
+ {
103
+ name: 'blur'
104
+ },
105
+ {
106
+ name: 'focus'
107
+ },
108
+ {
109
+ name: 'update:modelValue'
110
+ }
111
+ ]
112
+ };
113
+
114
+ export default InputNumber;
@@ -0,0 +1,164 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ const components: MaterialDescription[] = [
3
+ {
4
+ name: 'ElRow',
5
+ label: '布局行',
6
+
7
+ categoryId: 'layout',
8
+ doc: 'https://element-plus.org/zh-CN/component/layout.html',
9
+ package: 'element-plus',
10
+ props: [
11
+ {
12
+ name: 'gutter',
13
+ defaultValue: 0,
14
+ label: '栅格间隔',
15
+ setters: 'NumberSetter'
16
+ },
17
+ {
18
+ name: 'justify',
19
+ defaultValue: 'start',
20
+ title: 'flex 布局下的水平排列方式',
21
+ options: [
22
+ 'start',
23
+ 'end',
24
+ 'center',
25
+ 'space-around',
26
+ 'space-between',
27
+ 'space-evenly'
28
+ ],
29
+ setters: 'SelectSetter'
30
+ },
31
+ {
32
+ name: 'align',
33
+ defaultValue: 'top',
34
+ title: 'flex 布局下的垂直排列方式',
35
+ options: ['top', 'middle', 'bottom'],
36
+ setters: 'SelectSetter'
37
+ },
38
+ {
39
+ name: 'tag',
40
+ defaultValue: 'div',
41
+ title: '自定义元素标签',
42
+ setters: 'InputSetter'
43
+ }
44
+ ],
45
+ slots: ['default'],
46
+ snippet: {
47
+ props: {
48
+ gutter: 10
49
+ },
50
+ children: [
51
+ {
52
+ name: 'ElCol',
53
+
54
+ props: {
55
+ span: 6
56
+ },
57
+ children: [
58
+ {
59
+ name: 'component',
60
+ props: {
61
+ is: 'div',
62
+ style: {
63
+ height: '50px',
64
+ background: '#ecf5ff'
65
+ }
66
+ }
67
+ }
68
+ ],
69
+ directives: [
70
+ {
71
+ name: 'vFor',
72
+ value: {
73
+ type: 'JSExpression',
74
+ value: '4'
75
+ }
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ }
81
+ },
82
+ {
83
+ name: 'ElCol',
84
+ label: '布局列',
85
+
86
+ categoryId: 'layout',
87
+ package: 'element-plus',
88
+ parentIncludes: ['ElRow'],
89
+ props: [
90
+ {
91
+ name: 'span',
92
+ defaultValue: 24,
93
+ setters: 'NumberSetter'
94
+ },
95
+ {
96
+ name: 'offset',
97
+ defaultValue: 0,
98
+ setters: 'NumberSetter'
99
+ },
100
+ {
101
+ name: 'push',
102
+ defaultValue: 0,
103
+ setters: 'NumberSetter'
104
+ },
105
+ {
106
+ name: 'pull',
107
+ defaultValue: 0,
108
+ setters: 'NumberSetter'
109
+ },
110
+ {
111
+ name: 'xs',
112
+ defaultValue: undefined,
113
+ setters: ['JSONSetter', 'NumberSetter']
114
+ },
115
+ {
116
+ name: 'sm',
117
+ defaultValue: undefined,
118
+ setters: ['JSONSetter', 'NumberSetter']
119
+ },
120
+ {
121
+ name: 'md',
122
+ defaultValue: undefined,
123
+ setters: ['JSONSetter', 'NumberSetter']
124
+ },
125
+ {
126
+ name: 'lg',
127
+ defaultValue: undefined,
128
+ setters: ['JSONSetter', 'NumberSetter']
129
+ },
130
+ {
131
+ name: 'xl',
132
+ defaultValue: undefined,
133
+ setters: ['JSONSetter', 'NumberSetter']
134
+ },
135
+ {
136
+ name: 'tag',
137
+ defaultValue: 'div',
138
+ title: '自定义元素标签',
139
+ setters: 'InputSetter'
140
+ }
141
+ ],
142
+ slots: ['default'],
143
+ snippet: {
144
+ props: {
145
+ span: 6
146
+ },
147
+ children: [
148
+ {
149
+ name: 'component',
150
+ props: {
151
+ is: 'div',
152
+ style: {
153
+ height: '50px',
154
+ background: '#ecf5ff'
155
+ }
156
+ },
157
+ children: 'Col'
158
+ }
159
+ ]
160
+ }
161
+ }
162
+ ];
163
+
164
+ export default components;
@@ -0,0 +1,54 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import { type } from '../shared';
3
+
4
+ const link: MaterialDescription = {
5
+ name: 'ElLink',
6
+ label: '链接',
7
+ categoryId: 'base',
8
+ doc: 'https://element-plus.org/zh-CN/component/link.html',
9
+ props: [
10
+ type('type'),
11
+ {
12
+ name: 'underline',
13
+ defaultValue: true,
14
+ setters: 'BooleanSetter'
15
+ },
16
+ {
17
+ name: 'disabled',
18
+ defaultValue: false,
19
+ setters: 'BooleanSetter'
20
+ },
21
+ {
22
+ name: 'href',
23
+ defaultValue: '',
24
+ setters: 'InputSetter'
25
+ },
26
+ {
27
+ name: 'target',
28
+ label: 'target',
29
+ title: '同原生 target 属性',
30
+ setters: 'SelectSetter',
31
+ options: ['_blank', '_parent', '_self', '_top'],
32
+ defaultValue: '_self'
33
+ },
34
+ {
35
+ name: 'icon',
36
+ defaultValue: '',
37
+ setters: 'IconSetter'
38
+ }
39
+ ],
40
+ events: [],
41
+ slots: [
42
+ {
43
+ name: 'default'
44
+ },
45
+ {
46
+ name: 'icon'
47
+ }
48
+ ],
49
+ snippet: {
50
+ children: '链接文本'
51
+ }
52
+ };
53
+
54
+ export default link;