@vtj/materials 0.8.43 → 0.8.45

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 (181) 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 +11 -11
  8. package/dist/deps/@vtj/ui/style.css +1 -1
  9. package/dist/deps/@vtj/utils/index.umd.js +2 -2
  10. package/dist/deps/@vueuse/core/index.iife.min.js +1 -1
  11. package/dist/deps/@vueuse/shared/index.iife.min.js +1 -1
  12. package/dist/deps/ant-design-vue/antd.min.js +1 -1
  13. package/dist/deps/element-plus/index.css +1 -1
  14. package/dist/deps/element-plus/index.full.min.js +4 -4
  15. package/dist/deps/element-plus/zh-cn.js +1 -1
  16. package/dist/deps/vue-router/vue-router.global.prod.js +2 -2
  17. package/package.json +7 -6
  18. package/src/antdv/affix.ts +47 -0
  19. package/src/antdv/alert.ts +81 -0
  20. package/src/antdv/anchor.ts +129 -0
  21. package/src/antdv/app.ts +32 -0
  22. package/src/antdv/autocomplete.ts +138 -0
  23. package/src/antdv/avatar.ts +172 -0
  24. package/src/antdv/badge.ts +129 -0
  25. package/src/antdv/breadcrumb.ts +86 -0
  26. package/src/antdv/button.ts +116 -0
  27. package/src/antdv/calendar.ts +68 -0
  28. package/src/antdv/card.ts +175 -0
  29. package/src/antdv/carousel.ts +149 -0
  30. package/src/antdv/cascader.ts +224 -0
  31. package/src/antdv/checkbox.ts +101 -0
  32. package/src/antdv/collapse.ts +166 -0
  33. package/src/antdv/comment.ts +162 -0
  34. package/src/antdv/configProvider.ts +124 -0
  35. package/src/antdv/datePicker.ts +450 -0
  36. package/src/antdv/description.ts +153 -0
  37. package/src/antdv/divider.ts +63 -0
  38. package/src/antdv/drawer.ts +200 -0
  39. package/src/antdv/dropdown.ts +216 -0
  40. package/src/antdv/empty.ts +34 -0
  41. package/src/antdv/flex.ts +190 -0
  42. package/src/antdv/floatButton.ts +237 -0
  43. package/src/antdv/form.ts +295 -0
  44. package/src/antdv/grid.ts +192 -0
  45. package/src/antdv/image.ts +71 -0
  46. package/src/antdv/index.ts +198 -0
  47. package/src/antdv/input.ts +294 -0
  48. package/src/antdv/inputNumber.ts +130 -0
  49. package/src/antdv/layout.ts +196 -0
  50. package/src/antdv/list.ts +255 -0
  51. package/src/antdv/mentions.ts +171 -0
  52. package/src/antdv/menu.ts +314 -0
  53. package/src/antdv/message.ts +13 -0
  54. package/src/antdv/modal.ts +182 -0
  55. package/src/antdv/notification.ts +117 -0
  56. package/src/antdv/pageHeader.ts +79 -0
  57. package/src/antdv/pagination.ts +121 -0
  58. package/src/antdv/popconfirm.ts +205 -0
  59. package/src/antdv/popover.ts +158 -0
  60. package/src/antdv/progress.ts +143 -0
  61. package/src/antdv/qrCode.ts +91 -0
  62. package/src/antdv/radio.ts +158 -0
  63. package/src/antdv/rate.ts +79 -0
  64. package/src/antdv/result.ts +35 -0
  65. package/src/antdv/segmented.ts +55 -0
  66. package/src/antdv/select.ts +420 -0
  67. package/src/antdv/skeleton.ts +131 -0
  68. package/src/antdv/slider.ts +130 -0
  69. package/src/antdv/space.ts +137 -0
  70. package/src/antdv/spin.ts +53 -0
  71. package/src/antdv/statistic.ts +131 -0
  72. package/src/antdv/steps.ts +168 -0
  73. package/src/antdv/switch.ts +78 -0
  74. package/src/antdv/table.ts +392 -0
  75. package/src/antdv/tabs.ts +157 -0
  76. package/src/antdv/tag.ts +72 -0
  77. package/src/antdv/timePicker.ts +344 -0
  78. package/src/antdv/timeline.ts +96 -0
  79. package/src/antdv/tooltip.ts +137 -0
  80. package/src/antdv/tour.ts +192 -0
  81. package/src/antdv/transfer.ts +166 -0
  82. package/src/antdv/tree.ts +214 -0
  83. package/src/antdv/treeSelect.ts +359 -0
  84. package/src/antdv/typography.ts +354 -0
  85. package/src/antdv/upload.ts +183 -0
  86. package/src/antdv/watermark.ts +80 -0
  87. package/src/charts/chart.ts +48 -0
  88. package/src/charts/index.ts +38 -0
  89. package/src/element/affix.ts +56 -0
  90. package/src/element/alert.ts +75 -0
  91. package/src/element/anchor.ts +110 -0
  92. package/src/element/autodcomplete.ts +170 -0
  93. package/src/element/avatar.ts +59 -0
  94. package/src/element/backtop.ts +58 -0
  95. package/src/element/badge.ts +66 -0
  96. package/src/element/breadcrumb.ts +67 -0
  97. package/src/element/button.ts +113 -0
  98. package/src/element/calendar.ts +32 -0
  99. package/src/element/card.ts +55 -0
  100. package/src/element/carousel.ts +162 -0
  101. package/src/element/cascader.ts +208 -0
  102. package/src/element/checkbox.ts +258 -0
  103. package/src/element/collapse.ts +90 -0
  104. package/src/element/colorPicker.ts +92 -0
  105. package/src/element/configProvider.ts +59 -0
  106. package/src/element/container.ts +85 -0
  107. package/src/element/datePicker.ts +211 -0
  108. package/src/element/dateTime.ts +217 -0
  109. package/src/element/descriptions.ts +144 -0
  110. package/src/element/dialog.ts +191 -0
  111. package/src/element/divider.ts +36 -0
  112. package/src/element/drawer.ts +154 -0
  113. package/src/element/dropdown.ts +205 -0
  114. package/src/element/empty.ts +39 -0
  115. package/src/element/form.ts +212 -0
  116. package/src/element/image.ts +149 -0
  117. package/src/element/index.ts +193 -0
  118. package/src/element/input.ts +184 -0
  119. package/src/element/inputNumber.ts +114 -0
  120. package/src/element/layout.ts +164 -0
  121. package/src/element/link.ts +54 -0
  122. package/src/element/menu.ts +348 -0
  123. package/src/element/pageHeader.ts +67 -0
  124. package/src/element/pagination.ts +130 -0
  125. package/src/element/popconfirm.ts +96 -0
  126. package/src/element/popover.ts +172 -0
  127. package/src/element/progress.ts +104 -0
  128. package/src/element/radio.ts +198 -0
  129. package/src/element/rate.ts +137 -0
  130. package/src/element/result.ts +37 -0
  131. package/src/element/scrollbar.ts +127 -0
  132. package/src/element/select.ts +351 -0
  133. package/src/element/selectV2.ts +299 -0
  134. package/src/element/skeleton.ts +75 -0
  135. package/src/element/slider.ts +165 -0
  136. package/src/element/space.ts +101 -0
  137. package/src/element/statistic.ts +135 -0
  138. package/src/element/steps.ts +127 -0
  139. package/src/element/switch.ts +123 -0
  140. package/src/element/table.ts +460 -0
  141. package/src/element/tabs.ts +164 -0
  142. package/src/element/tag.ts +91 -0
  143. package/src/element/text.ts +54 -0
  144. package/src/element/timePicker.ts +139 -0
  145. package/src/element/timeSelect.ts +103 -0
  146. package/src/element/timeline.ts +106 -0
  147. package/src/element/tooltip.ts +179 -0
  148. package/src/element/tour.ts +269 -0
  149. package/src/element/transfer.ts +113 -0
  150. package/src/element/tree.ts +182 -0
  151. package/src/element/treeSelect.ts +524 -0
  152. package/src/element/treeV2.ts +119 -0
  153. package/src/element/upload.ts +168 -0
  154. package/src/element/virtualizedTable.ts +173 -0
  155. package/src/element/watermark.ts +92 -0
  156. package/src/shared/index.ts +4 -0
  157. package/src/shared/mock.ts +307 -0
  158. package/src/shared/props.ts +19 -0
  159. package/src/shared/style.ts +31 -0
  160. package/src/shared/utils.ts +17 -0
  161. package/src/ui/action-bar.ts +81 -0
  162. package/src/ui/action.ts +98 -0
  163. package/src/ui/attachment.ts +125 -0
  164. package/src/ui/container.ts +140 -0
  165. package/src/ui/data-item.ts +102 -0
  166. package/src/ui/dialog-form.ts +54 -0
  167. package/src/ui/dialog.ts +192 -0
  168. package/src/ui/field.ts +134 -0
  169. package/src/ui/form.ts +78 -0
  170. package/src/ui/grid.ts +380 -0
  171. package/src/ui/header.ts +40 -0
  172. package/src/ui/icon.ts +48 -0
  173. package/src/ui/index.ts +84 -0
  174. package/src/ui/list.ts +79 -0
  175. package/src/ui/panel.ts +73 -0
  176. package/src/ui/picker.ts +104 -0
  177. package/src/ui/qrcode.ts +59 -0
  178. package/src/ui/query-form.ts +37 -0
  179. package/src/ui/tabs.ts +51 -0
  180. package/src/ui/test.ts +91 -0
  181. package/src/version.ts +8 -0
@@ -0,0 +1,140 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+
3
+ const desc: MaterialDescription = {
4
+ name: 'XContainer',
5
+ label: '容器',
6
+ categoryId: 'base',
7
+ props: [
8
+ {
9
+ name: 'tag',
10
+ label: '标签名',
11
+ setters: 'StringSetter',
12
+ defaultValue: 'div'
13
+ },
14
+ {
15
+ name: 'fit',
16
+ label: '高度自适应',
17
+ setters: 'BooleanSetter'
18
+ },
19
+ {
20
+ name: 'width',
21
+ label: '宽度',
22
+ setters: 'StringSetter'
23
+ },
24
+ {
25
+ name: 'height',
26
+ label: '高度',
27
+ setters: 'StringSetter'
28
+ },
29
+ {
30
+ name: 'flex',
31
+ label: 'flex布局',
32
+ setters: 'BooleanSetter',
33
+ defaultValue: true
34
+ },
35
+ {
36
+ name: 'inline',
37
+ label: 'inline-flex',
38
+ setters: 'BooleanSetter'
39
+ },
40
+ {
41
+ name: 'direction',
42
+ label: '排版方向',
43
+ setters: 'SelectSetter',
44
+ options: ['row', 'row-reverse', 'column', 'column-reverse'],
45
+ defaultValue: 'row'
46
+ },
47
+ {
48
+ name: 'wrap',
49
+ label: '换行',
50
+ setters: 'SelectSetter',
51
+ options: ['nowrap', 'wrap', 'wrap-reverse'],
52
+ defaultValue: 'nowrap'
53
+ },
54
+ {
55
+ name: 'justify',
56
+ label: '主轴对齐',
57
+ setters: 'SelectSetter',
58
+ options: [
59
+ 'flex-start',
60
+ 'flex-end',
61
+ 'center',
62
+ 'space-between',
63
+ 'space-around'
64
+ ],
65
+ defaultValue: 'flex-start'
66
+ },
67
+ {
68
+ name: 'align',
69
+ label: '交叉轴对齐',
70
+ setters: 'SelectSetter',
71
+ options: ['flex-start', 'flex-end', 'center', 'baseline', 'stretch'],
72
+ defaultValue: 'flex-start'
73
+ },
74
+ {
75
+ name: 'alignContent',
76
+ label: '多轴线对齐',
77
+ title: '多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用',
78
+ setters: 'SelectSetter',
79
+ options: [
80
+ 'flex-start',
81
+ 'flex-end',
82
+ 'center',
83
+ 'space-between',
84
+ 'space-around',
85
+ 'stretch'
86
+ ],
87
+ defaultValue: 'stretch'
88
+ },
89
+ {
90
+ name: 'grow',
91
+ label: '自动放大',
92
+ setters: 'BooleanSetter',
93
+ defaultValue: false
94
+ },
95
+ {
96
+ name: 'shrink',
97
+ label: '自动缩小',
98
+ setters: 'BooleanSetter',
99
+ defaultValue: false
100
+ },
101
+ {
102
+ name: 'alignSelf',
103
+ label: 'alignSelf',
104
+ title:
105
+ '单个项目有与其他项目不一样的对齐方式。可覆盖容器的align-items属性',
106
+ setters: 'SelectSetter',
107
+ options: ['flex-start', 'flex-end', 'center', 'baseline', 'stretch'],
108
+ defaultValue: 'auto'
109
+ },
110
+ {
111
+ name: 'overflow',
112
+ label: 'overflow',
113
+ setters: 'SelectSetter',
114
+ options: ['auto', 'hidden', 'visible']
115
+ },
116
+ {
117
+ name: 'padding',
118
+ label: '内边距',
119
+ setters: 'BooleanSetter',
120
+ defaultValue: false
121
+ },
122
+ {
123
+ name: 'gap',
124
+ label: '子组件间隔',
125
+ setters: 'BooleanSetter'
126
+ },
127
+ {
128
+ name: 'autoPointer',
129
+ label: 'autoPointer',
130
+ setters: 'BooleanSetter'
131
+ }
132
+ ],
133
+ snippet: {
134
+ props: {
135
+ padding: true
136
+ }
137
+ }
138
+ };
139
+
140
+ export default desc;
@@ -0,0 +1,102 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import container from './container';
3
+ import { omitPropItem } from '../shared';
4
+
5
+ const desc: MaterialDescription = {
6
+ name: 'XDataItem',
7
+ label: '数据项',
8
+ categoryId: 'data',
9
+ props: [
10
+ {
11
+ name: 'direction',
12
+ title: '排版方向',
13
+ setters: 'SelectSetter',
14
+ options: ['row', 'column'],
15
+ defaultValue: 'column'
16
+ },
17
+ {
18
+ name: 'imageSrc',
19
+ title: '图片URL',
20
+ setters: 'StringSetter'
21
+ },
22
+ {
23
+ name: 'imageWidth',
24
+ title: '图片宽度',
25
+ setters: ['StringSetter', 'NumberSetter']
26
+ },
27
+ {
28
+ name: 'imageHeight',
29
+ title: '图片高度',
30
+ setters: ['StringSetter', 'NumberSetter']
31
+ },
32
+ {
33
+ name: 'icon',
34
+ title: '图片高度',
35
+ setters: ['IconSetter']
36
+ },
37
+ {
38
+ name: 'title',
39
+ setters: ['StringSetter']
40
+ },
41
+ {
42
+ name: 'description',
43
+ setters: ['StringSetter']
44
+ },
45
+ {
46
+ name: 'actions',
47
+ title: '动作按钮 ActionBarItems',
48
+ setters: ['ArraySetter']
49
+ },
50
+ {
51
+ name: 'actionBarProps',
52
+ title: '动作条组件配置 ActionBarProps',
53
+ setters: ['ObjectSetter']
54
+ },
55
+ {
56
+ name: 'split',
57
+ setters: ['BooleanSetter']
58
+ },
59
+ ...omitPropItem(container.props, ['direction'])
60
+ ],
61
+ events: [
62
+ {
63
+ name: 'imageClick'
64
+ },
65
+ {
66
+ name: 'titleClick'
67
+ },
68
+ {
69
+ name: 'actionClick',
70
+ params: ['action']
71
+ },
72
+ {
73
+ name: 'actionCommand',
74
+ params: ['action', 'menu']
75
+ }
76
+ ],
77
+ slots: [
78
+ {
79
+ name: 'image'
80
+ },
81
+ {
82
+ name: 'title'
83
+ },
84
+ {
85
+ name: 'description'
86
+ },
87
+ {
88
+ name: 'actions'
89
+ },
90
+ {
91
+ name: 'default'
92
+ }
93
+ ],
94
+ snippet: {
95
+ props: {
96
+ title: '标题文本',
97
+ description: '描述文本示例内容'
98
+ }
99
+ }
100
+ };
101
+
102
+ export default desc;
@@ -0,0 +1,54 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import dialog from './dialog';
3
+ import { omitPropItem, size } from '../shared';
4
+
5
+ const desc: MaterialDescription = {
6
+ name: 'XDialogForm',
7
+ label: '弹窗表单',
8
+ categoryId: 'form',
9
+ props: [
10
+ {
11
+ name: 'modelValue',
12
+ setters: 'BooleanSetter',
13
+ defaultValue: true
14
+ },
15
+ size(),
16
+ {
17
+ name: 'submit',
18
+ setters: ['StringSetter', 'BooleanSetter'],
19
+ defaultValue: '确定'
20
+ },
21
+ {
22
+ name: 'cancel',
23
+ setters: ['StringSetter', 'BooleanSetter'],
24
+ defaultValue: '取消'
25
+ },
26
+ {
27
+ name: 'model',
28
+ setters: 'ObjectSetter'
29
+ },
30
+ {
31
+ name: 'rules',
32
+ setters: 'ObjectSetter'
33
+ },
34
+ {
35
+ name: 'submitMethod',
36
+ title: '表单提交处理方法, return true 关闭弹窗',
37
+ setters: 'FunctionSetter'
38
+ },
39
+ ...omitPropItem(dialog.props, ['modelValue', 'size', 'submit', 'cancel'])
40
+ ],
41
+ events: [
42
+ { name: 'update:modelValue', params: ['modelValue'] },
43
+ { name: 'submit', params: ['model'] },
44
+ { name: 'close' }
45
+ ],
46
+ slots: ['default', 'extra', 'handle', 'footer'],
47
+ snippet: {
48
+ props: {
49
+ title: '弹窗表单'
50
+ }
51
+ }
52
+ };
53
+
54
+ export default desc;
@@ -0,0 +1,192 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import panel from './panel';
3
+ import { omitPropItem, size } from '../shared';
4
+
5
+ const desc: MaterialDescription = {
6
+ name: 'XDialog',
7
+ label: '弹窗',
8
+ categoryId: 'layout',
9
+ props: [
10
+ {
11
+ name: 'modelValue',
12
+ title: '控制是否显示弹窗',
13
+ setters: 'BooleanSetter',
14
+ defaultValue: true
15
+ },
16
+ {
17
+ name: 'title',
18
+ setters: 'StringSetter'
19
+ },
20
+ {
21
+ name: 'subtitle',
22
+ setters: 'StringSetter'
23
+ },
24
+ {
25
+ name: 'icon',
26
+ setters: 'IconSetter'
27
+ },
28
+ size(),
29
+ {
30
+ name: 'width',
31
+ setters: ['StringSetter', 'NumberSetter']
32
+ },
33
+ {
34
+ name: 'height',
35
+ setters: ['StringSetter', 'NumberSetter']
36
+ },
37
+ {
38
+ name: 'left',
39
+ setters: ['StringSetter', 'NumberSetter']
40
+ },
41
+ {
42
+ name: 'top',
43
+ setters: ['StringSetter', 'NumberSetter']
44
+ },
45
+ {
46
+ name: 'modal',
47
+ setters: 'BooleanSetter',
48
+ defaultValue: true
49
+ },
50
+ {
51
+ name: 'draggable',
52
+ setters: 'BooleanSetter',
53
+ defaultValue: true
54
+ },
55
+ {
56
+ name: 'resizable',
57
+ setters: 'BooleanSetter'
58
+ },
59
+ {
60
+ name: 'closable',
61
+ setters: 'BooleanSetter',
62
+ defaultValue: true
63
+ },
64
+ {
65
+ name: 'maximizable',
66
+ setters: 'BooleanSetter'
67
+ },
68
+ {
69
+ name: 'minimizable',
70
+ setters: 'BooleanSetter'
71
+ },
72
+ {
73
+ name: 'mode',
74
+ setters: 'SelectSetter',
75
+ options: ['normal', 'maximized', 'minimized'],
76
+ defaultValue: 'normal'
77
+ },
78
+ {
79
+ name: 'src',
80
+ title: '加载页码url',
81
+ setters: 'StringSetter'
82
+ },
83
+ {
84
+ name: 'beforeClose',
85
+ title: '关闭弹窗回调函数,return true 阻止关闭',
86
+ setters: 'FunctionSetter'
87
+ },
88
+ {
89
+ name: 'submit',
90
+ setters: ['Boolean', 'StringSetter']
91
+ },
92
+ {
93
+ name: 'cancel',
94
+ setters: ['Boolean', 'StringSetter']
95
+ },
96
+ {
97
+ name: 'bodyPadding',
98
+ setters: 'BooleanSetter'
99
+ },
100
+ {
101
+ name: 'primary',
102
+ setters: 'BooleanSetter'
103
+ },
104
+ ...omitPropItem(panel.props, ['size'])
105
+ ],
106
+ events: [
107
+ {
108
+ name: 'update:modelValue',
109
+ params: ['modelValue']
110
+ },
111
+ {
112
+ name: 'open',
113
+ params: ['instance']
114
+ },
115
+ {
116
+ name: 'close'
117
+ },
118
+ {
119
+ name: 'destroy'
120
+ },
121
+ {
122
+ name: 'maximized'
123
+ },
124
+ {
125
+ name: 'minimized'
126
+ },
127
+ {
128
+ name: 'normal'
129
+ },
130
+ {
131
+ name: 'modeChange',
132
+ params: ['mode']
133
+ },
134
+ {
135
+ name: 'dragStart',
136
+ params: ['position']
137
+ },
138
+ {
139
+ name: 'dragging',
140
+ params: ['position']
141
+ },
142
+ {
143
+ name: 'dragEnd',
144
+ params: ['position']
145
+ },
146
+ {
147
+ name: 'resizeStart',
148
+ params: ['dir', 'mie']
149
+ },
150
+ {
151
+ name: 'resizeEnd',
152
+ params: ['dir', 'mie']
153
+ },
154
+ {
155
+ name: 'resizing',
156
+ params: ['dir', 'mie']
157
+ },
158
+ {
159
+ name: 'submit'
160
+ },
161
+ {
162
+ name: 'cancel'
163
+ }
164
+ ],
165
+ slots: [
166
+ {
167
+ name: 'title'
168
+ },
169
+ {
170
+ name: 'actions'
171
+ },
172
+ {
173
+ name: 'default'
174
+ },
175
+ {
176
+ name: 'footer'
177
+ },
178
+ {
179
+ name: 'extra'
180
+ },
181
+ {
182
+ name: 'handle'
183
+ }
184
+ ],
185
+ snippet: {
186
+ props: {
187
+ title: '弹窗标题'
188
+ }
189
+ }
190
+ };
191
+
192
+ export default desc;
@@ -0,0 +1,134 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import elForm from '../element/form';
3
+ import { omitPropItem, size } from '../shared';
4
+
5
+ const desc: MaterialDescription = {
6
+ name: 'XField',
7
+ label: '字段',
8
+ categoryId: 'form',
9
+ props: [
10
+ {
11
+ name: 'name',
12
+ title: '字段名称',
13
+ setters: 'StringSetter'
14
+ },
15
+ {
16
+ name: 'label',
17
+ title: '字段标题文本',
18
+ setters: 'StringSetter'
19
+ },
20
+ {
21
+ name: 'editor',
22
+ title: '编辑器组件',
23
+ setters: 'SelectSetter',
24
+ options: [
25
+ 'none',
26
+ 'text',
27
+ 'textarea',
28
+ 'select',
29
+ 'checkbox',
30
+ 'radio',
31
+ 'number',
32
+ 'date',
33
+ 'time',
34
+ 'datetime',
35
+ 'switch',
36
+ 'slider',
37
+ 'rate',
38
+ 'cascader',
39
+ 'picker'
40
+ ]
41
+ },
42
+ {
43
+ name: 'props',
44
+ title: '编辑器组件参数',
45
+ setters: 'ObjectSetter'
46
+ },
47
+ {
48
+ name: 'modelValue',
49
+ setters: 'StringSetter'
50
+ },
51
+ size(),
52
+ {
53
+ name: 'width',
54
+ setters: ['StringSetter', 'NumberSetter']
55
+ },
56
+ {
57
+ name: 'tooltipMessage',
58
+ title: '是否在tooltip显示校验信息',
59
+ setters: ['BooleanSetter', 'ObjectSetter']
60
+ },
61
+ {
62
+ name: 'tooltipPosition',
63
+ setters: ['SelectSetter', 'NumberSetter'],
64
+ options: ['inner', 'outer'],
65
+ defaultValue: 'outer'
66
+ },
67
+ {
68
+ name: 'placeholder',
69
+ setters: 'StringSetter'
70
+ },
71
+ {
72
+ name: 'disabled',
73
+ setters: 'BooleanSetter'
74
+ },
75
+ {
76
+ name: 'readonly',
77
+ setters: 'BooleanSetter'
78
+ },
79
+ {
80
+ name: 'options',
81
+ setters: ['ArraySetter', 'FunctionSetter']
82
+ },
83
+ {
84
+ name: 'visible',
85
+ setters: 'BooleanSetter'
86
+ },
87
+ {
88
+ name: 'cascader',
89
+ title: '级联字段,根据字段值变化刷新options',
90
+ setters: ['StringSetter', 'ArraySetter']
91
+ },
92
+ {
93
+ name: 'error',
94
+ setters: 'StringSetter'
95
+ },
96
+ {
97
+ name: 'tip',
98
+ setters: 'StringSetter'
99
+ },
100
+ {
101
+ name: 'inline',
102
+ title: '表单项内容采用inline布局',
103
+ setters: 'BooleanSetter'
104
+ },
105
+ ...omitPropItem(elForm[1].props, ['prop', 'size', 'label'])
106
+ ],
107
+ events: ['update:modelValue', 'change', 'focus', 'blur'],
108
+ slots: [
109
+ {
110
+ name: 'label'
111
+ },
112
+ {
113
+ name: 'error',
114
+ params: ['error']
115
+ },
116
+ {
117
+ name: 'editor',
118
+ params: ['editor']
119
+ },
120
+ {
121
+ name: 'tip'
122
+ },
123
+ {
124
+ name: 'default'
125
+ }
126
+ ],
127
+ snippet: {
128
+ props: {
129
+ label: '字段名称'
130
+ }
131
+ }
132
+ };
133
+
134
+ export default desc;
package/src/ui/form.ts ADDED
@@ -0,0 +1,78 @@
1
+ import type { MaterialDescription } from '@vtj/core';
2
+ import elForm from '../element/form';
3
+ import { omitPropItem } from '../shared';
4
+
5
+ const desc: MaterialDescription = {
6
+ name: 'XForm',
7
+ label: '表单',
8
+ categoryId: 'form',
9
+ props: [
10
+ {
11
+ name: 'model',
12
+ setters: 'ObjectSetter'
13
+ },
14
+ {
15
+ name: 'inline',
16
+ setters: 'BooleanSetter'
17
+ },
18
+ {
19
+ name: 'inlineColumns',
20
+ title: 'inline模式显示列数',
21
+ setters: 'NumberSetter'
22
+ },
23
+ {
24
+ name: 'footer',
25
+ setters: 'BooleanSetter'
26
+ },
27
+ {
28
+ name: 'submitText',
29
+ setters: 'StringSetter',
30
+ defaultValue: '提交'
31
+ },
32
+ {
33
+ name: 'resetText',
34
+ setters: 'StringSetter',
35
+ defaultValue: '重置'
36
+ },
37
+ {
38
+ name: 'submitMethod',
39
+ title: '表单提交处理方法',
40
+ setters: 'FunctionSetter'
41
+ },
42
+ {
43
+ name: 'tooltipMessage',
44
+ title: '是否在tooltip显示校验信息',
45
+ setters: ['BooleanSetter', 'ObjectSetter']
46
+ },
47
+ ...omitPropItem(elForm[1].props, ['model', 'inline'])
48
+ ],
49
+ events: [
50
+ {
51
+ name: 'change',
52
+ params: ['model']
53
+ },
54
+ {
55
+ name: 'submit',
56
+ params: ['model']
57
+ },
58
+ {
59
+ name: 'reset'
60
+ }
61
+ ],
62
+ slots: ['default', 'footer', 'action'],
63
+ snippet: {
64
+ props: {
65
+ labelWidth: '100px'
66
+ },
67
+ children: [
68
+ {
69
+ name: 'XField',
70
+ props: {
71
+ label: '字段名称'
72
+ }
73
+ }
74
+ ]
75
+ }
76
+ };
77
+
78
+ export default desc;