@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
package/src/ui/grid.ts ADDED
@@ -0,0 +1,380 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'XGrid',
5
+ label: '表格',
6
+ categoryId: 'data',
7
+ doc: 'https://vxetable.cn/#/grid/api',
8
+ props: [
9
+ {
10
+ name: 'columns',
11
+ setters: 'ArraySetter'
12
+ },
13
+ {
14
+ name: 'loader',
15
+ title: '数据加载函数: (state) => {list, total}',
16
+ setters: 'FunctionSetter'
17
+ },
18
+ {
19
+ name: 'rowSortable',
20
+ title: '行拖拽排序',
21
+ setters: 'BooleanSetter'
22
+ },
23
+ {
24
+ name: 'columnSortable',
25
+ title: '列拖拽排序',
26
+ setters: 'BooleanSetter'
27
+ },
28
+ {
29
+ name: 'customable',
30
+ title: '开启用户自定义',
31
+ setters: 'BooleanSetter'
32
+ },
33
+ {
34
+ name: 'resizable',
35
+ setters: 'BooleanSetter'
36
+ },
37
+ {
38
+ name: 'pager',
39
+ title: '开启分页功能',
40
+ setters: 'BooleanSetter'
41
+ },
42
+ {
43
+ name: 'page',
44
+ setters: 'NumberSetter'
45
+ },
46
+ {
47
+ name: 'pageSize',
48
+ setters: 'NumberSetter'
49
+ },
50
+ {
51
+ name: 'pageSizes',
52
+ title: '每页显示个数选择器的选项设置',
53
+ setters: 'ArraySetter'
54
+ },
55
+ {
56
+ name: 'auto',
57
+ title: '初始执行加载函数',
58
+ setters: 'BooleanSetter',
59
+ defaultValue: true
60
+ },
61
+ {
62
+ name: 'virtual',
63
+ title: '开启虚拟滚动',
64
+ setters: 'BooleanSetter'
65
+ },
66
+ {
67
+ name: 'editable',
68
+ title: '开启编辑模式',
69
+ setters: 'BooleanSetter'
70
+ },
71
+ {
72
+ name: 'cellRenders',
73
+ title: '单元格渲染器',
74
+ setters: 'ObjectSetter'
75
+ },
76
+ {
77
+ name: 'editRenders',
78
+ title: '单元格渲染器',
79
+ setters: 'ObjectSetter'
80
+ },
81
+ {
82
+ name: 'filterRenders',
83
+ title: '过滤器渲染器',
84
+ setters: 'ObjectSetter'
85
+ },
86
+ {
87
+ name: 'id',
88
+ setters: 'StringSetter'
89
+ },
90
+ {
91
+ name: 'data',
92
+ setters: 'ArraySetter'
93
+ },
94
+ {
95
+ name: 'height',
96
+ setters: ['StringSetter', 'NumberSetter']
97
+ },
98
+ {
99
+ name: 'minHeight',
100
+ setters: ['StringSetter', 'NumberSetter']
101
+ },
102
+ {
103
+ name: 'maxHeight',
104
+ setters: ['StringSetter', 'NumberSetter']
105
+ },
106
+ {
107
+ name: 'autoResize',
108
+ setters: 'BooleanSetter'
109
+ },
110
+ {
111
+ name: 'syncResize',
112
+ setters: ['BooleanSetter', 'StringSetter']
113
+ },
114
+ {
115
+ name: 'stripe',
116
+ setters: 'BooleanSetter'
117
+ },
118
+ {
119
+ name: 'border',
120
+ setters: 'BooleanSetter'
121
+ },
122
+ {
123
+ name: 'round',
124
+ setters: 'BooleanSetter'
125
+ },
126
+ {
127
+ name: 'size',
128
+ setters: 'SelectSetter',
129
+ options: ['small', 'mini']
130
+ },
131
+ {
132
+ name: 'loading',
133
+ setters: 'BooleanSetter'
134
+ },
135
+ {
136
+ name: 'align',
137
+ setters: 'SelectSetter',
138
+ options: ['left', 'center', 'right']
139
+ },
140
+ {
141
+ name: 'HeaderAlign',
142
+ setters: 'SelectSetter',
143
+ options: ['left', 'center', 'right']
144
+ },
145
+ {
146
+ name: 'FooterAlign',
147
+ setters: 'SelectSetter',
148
+ options: ['left', 'center', 'right']
149
+ },
150
+ {
151
+ name: 'showHeader',
152
+ setters: 'BooleanSetter'
153
+ },
154
+ {
155
+ name: 'showFoter',
156
+ setters: 'BooleanSetter'
157
+ },
158
+ {
159
+ name: 'footerData',
160
+ setters: 'ArraySetter'
161
+ },
162
+ {
163
+ name: 'mergeCells',
164
+ setters: 'FunctionSetter'
165
+ },
166
+ {
167
+ name: 'mergeFooterItems',
168
+ setters: 'FunctionSetter'
169
+ },
170
+ {
171
+ name: 'showOverflow',
172
+ setters: 'BooleanSetter'
173
+ },
174
+ {
175
+ name: 'showHeaderOverflow',
176
+ setters: 'BooleanSetter'
177
+ },
178
+ {
179
+ name: 'showFooterOverflow',
180
+ setters: 'BooleanSetter'
181
+ },
182
+ {
183
+ name: 'keepSource',
184
+ setters: 'BooleanSetter'
185
+ },
186
+ {
187
+ name: 'columnConfig',
188
+ setters: 'ObjectSetter'
189
+ },
190
+ {
191
+ name: 'rowConfig',
192
+ setters: 'ObjectSetter'
193
+ },
194
+ {
195
+ name: 'resizeConfig',
196
+ setters: 'ObjectSetter'
197
+ },
198
+ {
199
+ name: 'resizableConfig',
200
+ setters: 'ObjectSetter'
201
+ },
202
+ {
203
+ name: 'seqConfig',
204
+ setters: 'ObjectSetter'
205
+ },
206
+ {
207
+ name: 'sortConfig',
208
+ setters: 'ObjectSetter'
209
+ },
210
+ {
211
+ name: 'filterConfig',
212
+ setters: 'ObjectSetter'
213
+ },
214
+ {
215
+ name: 'exportConfig',
216
+ setters: 'ObjectSetter'
217
+ },
218
+ {
219
+ name: 'importConfig',
220
+ setters: 'ObjectSetter'
221
+ },
222
+ {
223
+ name: 'printConfig',
224
+ setters: 'ObjectSetter'
225
+ },
226
+ {
227
+ name: 'radioConfig',
228
+ setters: 'ObjectSetter'
229
+ },
230
+ {
231
+ name: 'checkboxConfig',
232
+ setters: 'ObjectSetter'
233
+ },
234
+ {
235
+ name: 'tooltipConfig',
236
+ setters: 'ObjectSetter'
237
+ },
238
+ {
239
+ name: 'expandConfig',
240
+ setters: 'ObjectSetter'
241
+ },
242
+ {
243
+ name: 'treeConfig',
244
+ setters: 'ObjectSetter'
245
+ },
246
+ {
247
+ name: 'menuConfig',
248
+ setters: 'ObjectSetter'
249
+ },
250
+ {
251
+ name: 'mouseConfig',
252
+ setters: 'ObjectSetter'
253
+ },
254
+ {
255
+ name: 'keyboardConfig',
256
+ setters: 'ObjectSetter'
257
+ },
258
+ {
259
+ name: 'editConfig',
260
+ setters: 'ObjectSetter'
261
+ },
262
+ {
263
+ name: 'validConfig',
264
+ setters: 'ObjectSetter'
265
+ },
266
+ {
267
+ name: 'editRules',
268
+ setters: 'ObjectSetter'
269
+ },
270
+ {
271
+ name: 'emptyText',
272
+ setters: 'StringSetter'
273
+ },
274
+ {
275
+ name: 'emptyRender',
276
+ setters: 'ObjectSetter'
277
+ },
278
+ {
279
+ name: 'loadingConfig',
280
+ setters: 'ObjectSetter'
281
+ },
282
+ {
283
+ name: 'customConfig',
284
+ setters: 'ObjectSetter'
285
+ },
286
+ {
287
+ name: 'scrollX',
288
+ setters: 'ObjectSetter'
289
+ },
290
+ {
291
+ name: 'scrollY',
292
+ setters: 'ObjectSetter'
293
+ },
294
+ {
295
+ name: 'params',
296
+ setters: 'ObjectSetter'
297
+ },
298
+ {
299
+ name: 'toolbarConfig',
300
+ setters: 'ObjectSetter'
301
+ },
302
+ {
303
+ name: 'pagerConfig',
304
+ setters: 'ObjectSetter'
305
+ },
306
+ {
307
+ name: 'proxyConfig',
308
+ setters: 'ObjectSetter'
309
+ },
310
+ {
311
+ name: 'zoomConfig',
312
+ setters: 'ObjectSetter'
313
+ },
314
+ {
315
+ name: 'layouts',
316
+ setters: 'ArraySetter'
317
+ }
318
+ ],
319
+ events: [
320
+ 'rowSort',
321
+ 'columnSort',
322
+ 'editChange',
323
+ 'keydown',
324
+ 'current-change',
325
+ 'radio-change',
326
+ 'checkbox-change',
327
+ 'checkbox-all',
328
+ 'checkbox-range-start',
329
+ 'checkbox-range-change',
330
+ 'checkbox-range-end',
331
+ 'cell-click',
332
+ 'cell-dblclick',
333
+ 'cell-menu',
334
+ 'cell-mouseenter',
335
+ 'cell-mouseleave',
336
+ 'cell-delete-value',
337
+ 'header-cell-click',
338
+ 'header-cell-dblclick',
339
+ 'header-cell-menu',
340
+ 'footer-cell-click',
341
+ 'footer-cell-dblclick',
342
+ 'footer-cell-menu',
343
+ 'clear-merge',
344
+ 'sort-change',
345
+ 'clear-sort',
346
+ 'filter-change',
347
+ 'filter-visible',
348
+ 'clear-filter',
349
+ 'resizable-change',
350
+ 'toggle-row-expand',
351
+ 'toggle-tree-expand',
352
+ 'menu-click',
353
+ 'cell-selected',
354
+ 'edit-closed',
355
+ 'edit-activated',
356
+ 'edit-disabled',
357
+ 'valid-error',
358
+ 'scroll',
359
+ 'custom',
360
+ 'page-change',
361
+ 'proxy-query',
362
+ 'proxy-delete',
363
+ 'proxy-save',
364
+ 'toolbar-button-click',
365
+ 'toolbar-tool-click',
366
+ 'zoom'
367
+ ],
368
+ slots: ['empty', 'form', 'top', 'bottom', 'toolbar__buttons', 'pager__left'],
369
+ snippet: {
370
+ props: {
371
+ height: 'auto',
372
+ columns: [
373
+ { type: 'seq', title: '#' },
374
+ { field: 'title', title: '标题' }
375
+ ]
376
+ }
377
+ }
378
+ };
379
+
380
+ export default desc;
@@ -0,0 +1,40 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import { size } from '../shared';
3
+ const desc: MaterialDescription = {
4
+ name: 'XHeader',
5
+ label: '标题头',
6
+ categoryId: 'layout',
7
+ props: [
8
+ size(),
9
+ {
10
+ name: 'content',
11
+ setters: 'StringSetter'
12
+ },
13
+ {
14
+ name: 'subtitle',
15
+ setters: 'StringSetter'
16
+ },
17
+ {
18
+ name: 'icon',
19
+ setters: 'IconSetter'
20
+ },
21
+ {
22
+ name: 'border',
23
+ setters: 'BooleanSetter'
24
+ },
25
+ {
26
+ name: 'more',
27
+ setters: 'BooleanSetter'
28
+ }
29
+ ],
30
+ events: ['click', 'clickIcon'],
31
+ slots: ['default', 'subtitle', 'actions'],
32
+ snippet: {
33
+ props: {
34
+ content: '标题内容文本',
35
+ subtitle: '这里是子标题内容示例'
36
+ }
37
+ }
38
+ };
39
+
40
+ export default desc;
package/src/ui/icon.ts ADDED
@@ -0,0 +1,48 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import { size } from '../shared';
3
+
4
+ const icon: MaterialDescription = {
5
+ name: 'XIcon',
6
+ label: '图标',
7
+ categoryId: 'base',
8
+ props: [
9
+ {
10
+ name: 'icon',
11
+ label: '图标',
12
+ setters: 'IconSetter'
13
+ },
14
+ Object.assign(size('size'), { setters: ['SelectSetter', 'NumberSetter'] }),
15
+ {
16
+ name: 'color',
17
+ label: '颜色',
18
+ setters: 'ColorSetter'
19
+ },
20
+ {
21
+ name: 'background',
22
+ label: '背景色',
23
+ setters: 'ColorSetter'
24
+ },
25
+ {
26
+ name: 'src',
27
+ label: '图片Url',
28
+ setters: 'InputSetter'
29
+ },
30
+ {
31
+ name: 'radius',
32
+ label: '圆角值',
33
+ setters: 'NumberSetter'
34
+ },
35
+ {
36
+ name: 'padding',
37
+ label: '内边距',
38
+ setters: 'NumberSetter'
39
+ }
40
+ ],
41
+ snippet: {
42
+ props: {
43
+ icon: 'Star'
44
+ }
45
+ }
46
+ };
47
+
48
+ export default icon;
@@ -0,0 +1,84 @@
1
+ import type {
2
+ Material,
3
+ MaterialCategory,
4
+ MaterialDescription
5
+ } from '@vtj/core';
6
+ import { version } from '../version';
7
+ import { setPackageName } from '../shared';
8
+ import test from './test';
9
+ import icon from './icon';
10
+ import container from './container';
11
+ import action from './action';
12
+ import actionBar from './action-bar';
13
+ import attachment from './attachment';
14
+ import qrcode from './qrcode';
15
+ import panel from './panel';
16
+ import dataItem from './data-item';
17
+ import dialog from './dialog';
18
+ import dialogForm from './dialog-form';
19
+ import field from './field';
20
+ import form from './form';
21
+ import grid from './grid';
22
+ import header from './header';
23
+ import list from './list';
24
+ import queryForm from './query-form';
25
+ import tabs from './tabs';
26
+ import picker from './picker';
27
+
28
+ const name = '@vtj/ui';
29
+ const components: MaterialDescription[] = [
30
+ test,
31
+ icon,
32
+ container,
33
+ action,
34
+ actionBar,
35
+ qrcode,
36
+ panel,
37
+ attachment,
38
+ dataItem,
39
+ dialog,
40
+ dialogForm,
41
+ field,
42
+ form,
43
+ grid,
44
+ header,
45
+ list,
46
+ queryForm,
47
+ tabs,
48
+ picker
49
+ ].flat();
50
+
51
+ const categories: MaterialCategory[] = [
52
+ {
53
+ id: 'base',
54
+ category: '基础元件'
55
+ },
56
+ {
57
+ id: 'layout',
58
+ category: '布局排版'
59
+ },
60
+ {
61
+ id: 'form',
62
+ category: '表单'
63
+ },
64
+ {
65
+ id: 'data',
66
+ category: '数据展示'
67
+ },
68
+ {
69
+ id: 'test',
70
+ category: '测试套件'
71
+ }
72
+ ];
73
+
74
+ const material: Material = {
75
+ name: '@vtj/ui',
76
+ version,
77
+ label: 'UI',
78
+ library: 'VtjUIMaterial',
79
+ order: 1,
80
+ categories,
81
+ components: setPackageName(components, name)
82
+ };
83
+
84
+ export default material;
package/src/ui/list.ts ADDED
@@ -0,0 +1,79 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ const desc: MaterialDescription = {
3
+ name: 'XList',
4
+ label: '列表',
5
+ categoryId: 'data',
6
+ props: [
7
+ {
8
+ name: 'data',
9
+ setters: ['ObjectSetter', 'FunctionSetter']
10
+ },
11
+ {
12
+ name: 'itemHeight',
13
+ title: '设置 itemHeight 即自动开启虚拟滚动',
14
+ setters: ['StringSetter', 'NumberSetter']
15
+ },
16
+ {
17
+ name: 'width',
18
+ setters: ['StringSetter', 'NumberSetter']
19
+ },
20
+ {
21
+ name: 'height',
22
+ setters: ['StringSetter', 'NumberSetter']
23
+ },
24
+ {
25
+ name: 'pager',
26
+ setters: ['BooleanSetter', 'ObjectSetter']
27
+ },
28
+ {
29
+ name: 'page',
30
+ setters: 'NumberSetter',
31
+ defaultValue: 1
32
+ },
33
+ {
34
+ name: 'pageSize',
35
+ setters: 'NumberSetter',
36
+ defaultValue: 10
37
+ },
38
+ {
39
+ name: 'dataKey',
40
+ title: '数据主键属性名称',
41
+ setters: 'StringSetter'
42
+ },
43
+ {
44
+ name: 'infiniteScroll',
45
+ setters: ['BooleanSetter', 'ObjectSetter']
46
+ }
47
+ ],
48
+ events: [
49
+ {
50
+ name: 'load',
51
+ params: ['state']
52
+ }
53
+ ],
54
+ slots: [
55
+ {
56
+ name: 'empty'
57
+ },
58
+ {
59
+ name: 'default',
60
+ params: ['item', 'index']
61
+ },
62
+ {
63
+ name: 'loading'
64
+ },
65
+ {
66
+ name: 'nomore'
67
+ }
68
+ ],
69
+ snippet: {
70
+ props: {
71
+ data: {
72
+ list: ['列表项内容一', '列表项内容二'],
73
+ total: 2
74
+ }
75
+ }
76
+ }
77
+ };
78
+
79
+ export default desc;
@@ -0,0 +1,73 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import { size } from '../shared';
3
+
4
+ const desc: MaterialDescription = {
5
+ name: 'XPanel',
6
+ label: '面板',
7
+ categoryId: 'layout',
8
+ props: [
9
+ {
10
+ name: 'fit',
11
+ label: 'fit',
12
+ title: '宽高自适应',
13
+ setters: 'BooleanSetter'
14
+ },
15
+ {
16
+ name: 'width',
17
+ label: 'width',
18
+ setters: ['StringSetter', 'NumberSetter']
19
+ },
20
+ {
21
+ name: 'height',
22
+ label: 'height',
23
+ setters: ['StringSetter', 'NumberSetter']
24
+ },
25
+ {
26
+ name: 'border',
27
+ label: 'border',
28
+ title: '显示边框',
29
+ setters: 'BooleanSetter'
30
+ },
31
+ {
32
+ name: 'radius',
33
+ label: 'radius',
34
+ title: '圆角',
35
+ setters: 'BooleanSetter'
36
+ },
37
+ {
38
+ name: 'card',
39
+ label: '卡片模式',
40
+ setters: 'BooleanSetter'
41
+ },
42
+ Object.assign(size('size'), { setters: ['SelectSetter'] }),
43
+ {
44
+ name: 'shadow',
45
+ label: '阴影设置',
46
+ setters: 'SelectSetter',
47
+ options: ['none', 'always', 'hover']
48
+ },
49
+ {
50
+ name: 'header',
51
+ label: '头部设置',
52
+ setters: ['StringSetter', 'ObjectSetter']
53
+ },
54
+ {
55
+ name: 'body',
56
+ label: 'body',
57
+ setters: 'ObjectSetter'
58
+ },
59
+ {
60
+ name: 'footer',
61
+ label: 'footer',
62
+ setters: 'ObjectSetter'
63
+ }
64
+ ],
65
+ snippet: {
66
+ props: {
67
+ header: '标题文本',
68
+ fit: true
69
+ }
70
+ }
71
+ };
72
+
73
+ export default desc;