tntd 2.7.33 → 2.8.0-beta.1

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 (170) hide show
  1. package/es/icon/IconFont.js +52 -0
  2. package/es/icon/IconFont.js.map +1 -0
  3. package/es/icon/components/Icon.js +106 -0
  4. package/es/icon/components/Icon.js.map +1 -0
  5. package/es/icon/components/index.js +1 -0
  6. package/es/icon/components/index.js.map +1 -0
  7. package/es/icon/components/utils.js +79 -0
  8. package/es/icon/components/utils.js.map +1 -0
  9. package/es/icon/index.js +114 -3
  10. package/es/icon/index.js.map +1 -1
  11. package/es/icon/twoTonePrimaryColor.js +10 -0
  12. package/es/icon/twoTonePrimaryColor.js.map +1 -0
  13. package/es/icon/utils.js +64 -0
  14. package/es/icon/utils.js.map +1 -0
  15. package/lib/icon/IconFont.d.ts +10 -0
  16. package/lib/icon/IconFont.d.ts.map +1 -0
  17. package/lib/icon/IconFont.js +62 -0
  18. package/lib/icon/IconFont.js.map +1 -0
  19. package/lib/icon/components/Icon.d.ts +31 -0
  20. package/lib/icon/components/Icon.d.ts.map +1 -0
  21. package/lib/icon/components/Icon.js +149 -0
  22. package/lib/icon/components/Icon.js.map +1 -0
  23. package/lib/icon/components/index.d.ts +2 -0
  24. package/lib/icon/components/index.d.ts.map +1 -0
  25. package/lib/icon/components/index.js +13 -0
  26. package/lib/icon/components/index.js.map +1 -0
  27. package/lib/icon/components/utils.d.ts +22 -0
  28. package/lib/icon/components/utils.d.ts.map +1 -0
  29. package/lib/icon/components/utils.js +120 -0
  30. package/lib/icon/components/utils.js.map +1 -0
  31. package/lib/icon/index.d.ts +45 -3
  32. package/lib/icon/index.d.ts.map +1 -1
  33. package/lib/icon/index.js +121 -15
  34. package/lib/icon/index.js.map +1 -1
  35. package/lib/icon/twoTonePrimaryColor.d.ts +3 -0
  36. package/lib/icon/twoTonePrimaryColor.d.ts.map +1 -0
  37. package/lib/icon/twoTonePrimaryColor.js +18 -0
  38. package/lib/icon/twoTonePrimaryColor.js.map +1 -0
  39. package/lib/icon/utils.d.ts +13 -0
  40. package/lib/icon/utils.d.ts.map +1 -0
  41. package/lib/icon/utils.js +76 -0
  42. package/lib/icon/utils.js.map +1 -0
  43. package/lib/segmented/index.d.ts +1 -1
  44. package/lib/svg-components/illustration-403.d.ts +1 -1
  45. package/lib/svg-components/illustration-404.d.ts +1 -1
  46. package/lib/svg-components/illustration-500.d.ts +1 -1
  47. package/lib/svg-components/illustration-empty.d.ts +1 -1
  48. package/lib/svg-components/illustration-failure.d.ts +1 -1
  49. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  50. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  51. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  52. package/lib/svg-components/illustration-offline.d.ts +1 -1
  53. package/lib/svg-components/illustration-success.d.ts +1 -1
  54. package/lib/table/assets/image-loading-background.d.ts +1 -1
  55. package/lib/table/assets/image-loading.d.ts +1 -1
  56. package/package.json +106 -105
  57. package/es/tntd-form/_util/context.js +0 -12
  58. package/es/tntd-form/_util/context.js.map +0 -1
  59. package/es/tntd-form/_util/defaultRenderEmpty.js +0 -31
  60. package/es/tntd-form/_util/defaultRenderEmpty.js.map +0 -1
  61. package/es/tntd-form/_util/hooks/useFlexGapSupport.js +0 -9
  62. package/es/tntd-form/_util/hooks/useFlexGapSupport.js.map +0 -1
  63. package/es/tntd-form/_util/hooks/useForceUpdate.js +0 -5
  64. package/es/tntd-form/_util/hooks/useForceUpdate.js.map +0 -1
  65. package/es/tntd-form/_util/motion.js +0 -47
  66. package/es/tntd-form/_util/motion.js.map +0 -1
  67. package/es/tntd-form/_util/reactNode.js +0 -16
  68. package/es/tntd-form/_util/reactNode.js.map +0 -1
  69. package/es/tntd-form/_util/responsiveObserve.js +0 -59
  70. package/es/tntd-form/_util/responsiveObserve.js.map +0 -1
  71. package/es/tntd-form/_util/scrollTo.js +0 -35
  72. package/es/tntd-form/_util/scrollTo.js.map +0 -1
  73. package/es/tntd-form/_util/styleChecker.js +0 -26
  74. package/es/tntd-form/_util/styleChecker.js.map +0 -1
  75. package/es/tntd-form/_util/type.js +0 -3
  76. package/es/tntd-form/_util/type.js.map +0 -1
  77. package/es/tntd-form/_util/warning.js +0 -5
  78. package/es/tntd-form/_util/warning.js.map +0 -1
  79. package/es/tntd-form/_util/wave.js +0 -168
  80. package/es/tntd-form/_util/wave.js.map +0 -1
  81. package/es/tntd-form/grid/RowContext.js +0 -3
  82. package/es/tntd-form/grid/RowContext.js.map +0 -1
  83. package/es/tntd-form/grid/col.js +0 -104
  84. package/es/tntd-form/grid/col.js.map +0 -1
  85. package/es/tntd-form/grid/hooks/useBreakpoint.js +0 -18
  86. package/es/tntd-form/grid/hooks/useBreakpoint.js.map +0 -1
  87. package/es/tntd-form/grid/index.js +0 -14
  88. package/es/tntd-form/grid/index.js.map +0 -1
  89. package/es/tntd-form/grid/row.js +0 -153
  90. package/es/tntd-form/grid/row.js.map +0 -1
  91. package/es/tntd-form/grid/style/index.js +0 -2
  92. package/es/tntd-form/grid/style/index.js.map +0 -1
  93. package/es/tntd-form/tntd-form.stories.js +0 -836
  94. package/es/tntd-form/tntd-form.stories.js.map +0 -1
  95. package/lib/tntd-form/_util/context.d.ts +0 -42
  96. package/lib/tntd-form/_util/context.d.ts.map +0 -1
  97. package/lib/tntd-form/_util/context.js +0 -22
  98. package/lib/tntd-form/_util/context.js.map +0 -1
  99. package/lib/tntd-form/_util/defaultRenderEmpty.d.ts +0 -5
  100. package/lib/tntd-form/_util/defaultRenderEmpty.d.ts.map +0 -1
  101. package/lib/tntd-form/_util/defaultRenderEmpty.js +0 -44
  102. package/lib/tntd-form/_util/defaultRenderEmpty.js.map +0 -1
  103. package/lib/tntd-form/_util/hooks/useFlexGapSupport.d.ts +0 -3
  104. package/lib/tntd-form/_util/hooks/useFlexGapSupport.d.ts.map +0 -1
  105. package/lib/tntd-form/_util/hooks/useFlexGapSupport.js +0 -28
  106. package/lib/tntd-form/_util/hooks/useFlexGapSupport.js.map +0 -1
  107. package/lib/tntd-form/_util/hooks/useForceUpdate.d.ts +0 -3
  108. package/lib/tntd-form/_util/hooks/useForceUpdate.d.ts.map +0 -1
  109. package/lib/tntd-form/_util/hooks/useForceUpdate.js +0 -24
  110. package/lib/tntd-form/_util/hooks/useForceUpdate.js.map +0 -1
  111. package/lib/tntd-form/_util/motion.d.ts +0 -9
  112. package/lib/tntd-form/_util/motion.d.ts.map +0 -1
  113. package/lib/tntd-form/_util/motion.js +0 -59
  114. package/lib/tntd-form/_util/motion.js.map +0 -1
  115. package/lib/tntd-form/_util/reactNode.d.ts +0 -9
  116. package/lib/tntd-form/_util/reactNode.d.ts.map +0 -1
  117. package/lib/tntd-form/_util/reactNode.js +0 -27
  118. package/lib/tntd-form/_util/reactNode.js.map +0 -1
  119. package/lib/tntd-form/_util/responsiveObserve.d.ts +0 -22
  120. package/lib/tntd-form/_util/responsiveObserve.d.ts.map +0 -1
  121. package/lib/tntd-form/_util/responsiveObserve.js +0 -73
  122. package/lib/tntd-form/_util/responsiveObserve.js.map +0 -1
  123. package/lib/tntd-form/_util/scrollTo.d.ts +0 -1
  124. package/lib/tntd-form/_util/scrollTo.d.ts.map +0 -1
  125. package/lib/tntd-form/_util/scrollTo.js +0 -35
  126. package/lib/tntd-form/_util/scrollTo.js.map +0 -1
  127. package/lib/tntd-form/_util/styleChecker.d.ts +0 -5
  128. package/lib/tntd-form/_util/styleChecker.d.ts.map +0 -1
  129. package/lib/tntd-form/_util/styleChecker.js +0 -42
  130. package/lib/tntd-form/_util/styleChecker.js.map +0 -1
  131. package/lib/tntd-form/_util/type.d.ts +0 -4
  132. package/lib/tntd-form/_util/type.d.ts.map +0 -1
  133. package/lib/tntd-form/_util/type.js +0 -21
  134. package/lib/tntd-form/_util/type.js.map +0 -1
  135. package/lib/tntd-form/_util/warning.d.ts +0 -5
  136. package/lib/tntd-form/_util/warning.d.ts.map +0 -1
  137. package/lib/tntd-form/_util/warning.js +0 -20
  138. package/lib/tntd-form/_util/warning.js.map +0 -1
  139. package/lib/tntd-form/_util/wave.d.ts +0 -1
  140. package/lib/tntd-form/_util/wave.d.ts.map +0 -1
  141. package/lib/tntd-form/_util/wave.js +0 -168
  142. package/lib/tntd-form/_util/wave.js.map +0 -1
  143. package/lib/tntd-form/grid/RowContext.d.ts +0 -9
  144. package/lib/tntd-form/grid/RowContext.d.ts.map +0 -1
  145. package/lib/tntd-form/grid/RowContext.js +0 -10
  146. package/lib/tntd-form/grid/RowContext.js.map +0 -1
  147. package/lib/tntd-form/grid/col.d.ts +0 -29
  148. package/lib/tntd-form/grid/col.d.ts.map +0 -1
  149. package/lib/tntd-form/grid/col.js +0 -105
  150. package/lib/tntd-form/grid/col.js.map +0 -1
  151. package/lib/tntd-form/grid/hooks/useBreakpoint.d.ts +0 -4
  152. package/lib/tntd-form/grid/hooks/useBreakpoint.d.ts.map +0 -1
  153. package/lib/tntd-form/grid/hooks/useBreakpoint.js +0 -29
  154. package/lib/tntd-form/grid/hooks/useBreakpoint.js.map +0 -1
  155. package/lib/tntd-form/grid/index.d.ts +0 -12
  156. package/lib/tntd-form/grid/index.d.ts.map +0 -1
  157. package/lib/tntd-form/grid/index.js +0 -31
  158. package/lib/tntd-form/grid/index.js.map +0 -1
  159. package/lib/tntd-form/grid/row.d.ts +0 -21
  160. package/lib/tntd-form/grid/row.d.ts.map +0 -1
  161. package/lib/tntd-form/grid/row.js +0 -186
  162. package/lib/tntd-form/grid/row.js.map +0 -1
  163. package/lib/tntd-form/grid/style/index.d.ts +0 -3
  164. package/lib/tntd-form/grid/style/index.d.ts.map +0 -1
  165. package/lib/tntd-form/grid/style/index.js +0 -4
  166. package/lib/tntd-form/grid/style/index.js.map +0 -1
  167. package/lib/tntd-form/tntd-form.stories.d.ts +0 -33
  168. package/lib/tntd-form/tntd-form.stories.d.ts.map +0 -1
  169. package/lib/tntd-form/tntd-form.stories.js +0 -943
  170. package/lib/tntd-form/tntd-form.stories.js.map +0 -1
@@ -1,836 +0,0 @@
1
- var __rest = this && this.__rest || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
- }
7
- return t;
8
- };
9
- import React, { useEffect, useRef, useState } from 'react';
10
- import Form from './index';
11
- import { Input, InputNumber, Checkbox, Button, Select, Radio, Row, message, Icon, Modal, Drawer, Cascader, DatePicker, TimePicker, TreeSelect, Switch, Upload } from '../index';
12
- import moment from 'moment';
13
- const {
14
- Option
15
- } = Select;
16
- const {
17
- TreeNode
18
- } = TreeSelect;
19
- const options = [{
20
- label: 'Apple',
21
- value: 'apple'
22
- }, {
23
- label: 'Pear',
24
- value: 'pear'
25
- }];
26
- export default {
27
- title: 'TntdForm',
28
- component: Form
29
- };
30
- //👇 We create a “template” of how args map to rendering
31
- const Template = args => {
32
- return React.createElement(Form, Object.assign({}, args));
33
- };
34
- export const Basic = Template.bind({});
35
- Basic.args = {
36
- //👇 The args you need here will depend on your component
37
- initialValues: {
38
- username: 'zhang san',
39
- remember: true
40
- },
41
- name: 'Basic',
42
- disabled: false,
43
- labelCol: {
44
- span: 4
45
- },
46
- wrapperCol: {
47
- span: 20
48
- },
49
- onFinish: values => {
50
- console.log('Success:', values);
51
- },
52
- onFinishFailed(errorInfo) {
53
- console.log('Failed:', errorInfo);
54
- },
55
- autoComplete: 'off',
56
- children: React.createElement(React.Fragment, null, React.createElement(Form.Item, {
57
- label: "Username",
58
- name: "username",
59
- rules: [{
60
- required: true,
61
- message: 'Please input your username!'
62
- }]
63
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
64
- label: "Password",
65
- name: "password",
66
- rules: [{
67
- required: true,
68
- message: 'Please input your password!'
69
- }]
70
- }, React.createElement(Input.Password, null)), React.createElement(Form.Item, {
71
- label: "TreeSelect",
72
- name: "treeSelect",
73
- rules: [{
74
- required: true,
75
- message: 'Please select one node'
76
- }]
77
- }, React.createElement(TreeSelect, {
78
- showSearch: true,
79
- treeDefaultExpandAll: true,
80
- allowClear: true
81
- }, React.createElement(TreeNode, {
82
- value: "parent 1",
83
- title: "parent 1",
84
- key: "0-1"
85
- }, React.createElement(TreeNode, {
86
- value: "parent 1-0",
87
- title: "parent 1-0",
88
- key: "0-1-1"
89
- }, React.createElement(TreeNode, {
90
- value: "leaf1",
91
- title: "my leaf",
92
- key: "random"
93
- }), React.createElement(TreeNode, {
94
- value: "leaf2",
95
- title: "your leaf",
96
- key: "random1"
97
- })), React.createElement(TreeNode, {
98
- value: "parent 1-1",
99
- title: "parent 1-1",
100
- key: "random2"
101
- }, React.createElement(TreeNode, {
102
- value: "sss",
103
- title: React.createElement("b", {
104
- style: {
105
- color: '#08c'
106
- }
107
- }, "sss"),
108
- key: "random3"
109
- }))))), React.createElement(Form.Item, {
110
- name: "remember",
111
- valuePropName: "checked",
112
- wrapperCol: {
113
- offset: 8,
114
- span: 16
115
- }
116
- }, React.createElement(Checkbox, null, "Remember me")), React.createElement(Form.Item, {
117
- wrapperCol: {
118
- offset: 8,
119
- span: 16
120
- }
121
- }, React.createElement(Button, {
122
- type: "primary",
123
- htmlType: "submit"
124
- }, "Submit")))
125
- };
126
- const FormMethodsTemplate = args => {
127
- const [form] = Form.useForm();
128
- const layout = {
129
- labelCol: {
130
- span: 8
131
- },
132
- wrapperCol: {
133
- span: 16
134
- }
135
- };
136
- const tailLayout = {
137
- wrapperCol: {
138
- offset: 8,
139
- span: 16
140
- }
141
- };
142
- const onGenderChange = value => {
143
- switch (value) {
144
- case 'male':
145
- form.setFieldsValue({
146
- note: 'Hi, man!'
147
- });
148
- return;
149
- case 'female':
150
- form.setFieldsValue({
151
- note: 'Hi, lady!'
152
- });
153
- return;
154
- case 'other':
155
- form.setFieldsValue({
156
- note: 'Hi there!'
157
- });
158
- }
159
- };
160
- const onFinish = values => {
161
- console.log(values);
162
- };
163
- const onReset = () => {
164
- form.resetFields();
165
- };
166
- const onFill = () => {
167
- form.setFieldsValue({
168
- note: 'Hello world!',
169
- gender: 'male'
170
- });
171
- };
172
- return React.createElement(Form, Object.assign({}, layout, {
173
- form: form,
174
- name: "control-hooks",
175
- onFinish: onFinish
176
- }, args), React.createElement(Form.Item, {
177
- name: "note",
178
- label: "Note",
179
- rules: [{
180
- required: true
181
- }]
182
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
183
- name: "gender",
184
- label: "Gender",
185
- rules: [{
186
- required: true
187
- }]
188
- }, React.createElement(Select, {
189
- placeholder: "Select a option and change input text above",
190
- onChange: onGenderChange,
191
- allowClear: true
192
- }, React.createElement(Option, {
193
- value: "male"
194
- }, "male"), React.createElement(Option, {
195
- value: "female"
196
- }, "female"), React.createElement(Option, {
197
- value: "other"
198
- }, "other"))), React.createElement(Form.Item, {
199
- noStyle: true,
200
- shouldUpdate: (prevValues, currentValues) => prevValues.gender !== currentValues.gender
201
- }, ({
202
- getFieldValue
203
- }) => getFieldValue('gender') === 'other' ? React.createElement(Form.Item, {
204
- name: "customizeGender",
205
- label: "Customize Gender",
206
- rules: [{
207
- required: true
208
- }]
209
- }, React.createElement(Input, null)) : null), React.createElement(Form.Item, Object.assign({}, tailLayout), React.createElement(Button, {
210
- type: "primary",
211
- htmlType: "submit",
212
- style: {
213
- marginRight: 12
214
- }
215
- }, "Submit"), React.createElement(Button, {
216
- htmlType: "button",
217
- onClick: onReset
218
- }, "Reset"), React.createElement(Button, {
219
- type: "link",
220
- htmlType: "button",
221
- onClick: onFill
222
- }, "Fill form")));
223
- };
224
- // 表单方法调用
225
- export const FormMethodInvoke = FormMethodsTemplate.bind({});
226
- FormMethodInvoke.args = {};
227
- const FormLayoutTemplate = () => {
228
- const [form] = Form.useForm();
229
- const [formLayout, setFormLayout] = useState('horizontal');
230
- const onFormLayoutChange = ({
231
- layout
232
- }) => {
233
- setFormLayout(layout);
234
- };
235
- const formItemLayout = formLayout === 'horizontal' ? {
236
- labelCol: {
237
- span: 4
238
- },
239
- wrapperCol: {
240
- span: 14
241
- }
242
- } : null;
243
- const buttonItemLayout = formLayout === 'horizontal' ? {
244
- wrapperCol: {
245
- span: 14,
246
- offset: 4
247
- }
248
- } : null;
249
- return React.createElement(Form, Object.assign({}, formItemLayout, {
250
- layout: formLayout,
251
- form: form,
252
- initialValues: {
253
- layout: formLayout
254
- },
255
- onValuesChange: onFormLayoutChange
256
- }), React.createElement(Form.Item, {
257
- label: "Form Layout",
258
- name: "layout"
259
- }, React.createElement(Radio.Group, {
260
- value: formLayout
261
- }, React.createElement(Radio.Button, {
262
- value: "horizontal"
263
- }, "Horizontal"), React.createElement(Radio.Button, {
264
- value: "vertical"
265
- }, "Vertical"), React.createElement(Radio.Button, {
266
- value: "inline"
267
- }, "Inline"))), React.createElement(Form.Item, {
268
- label: "Field A"
269
- }, React.createElement(Input, {
270
- placeholder: "input placeholder"
271
- })), React.createElement(Form.Item, {
272
- label: "Field B"
273
- }, React.createElement(Input, {
274
- placeholder: "input placeholder"
275
- })), React.createElement(Form.Item, Object.assign({}, buttonItemLayout), React.createElement(Button, {
276
- type: "primary"
277
- }, "Submit")));
278
- };
279
- export const FormLayoutDemo = FormLayoutTemplate.bind({});
280
- // 非阻塞校验
281
- const UnblockValidateTemplate = () => {
282
- const [form] = Form.useForm();
283
- const onFinish = () => {
284
- void message.success('Submit success!');
285
- };
286
- const onFinishFailed = () => {
287
- void message.error('Submit failed!');
288
- };
289
- const onFill = () => {
290
- form.setFieldsValue({
291
- url: 'https://taobao.com/'
292
- });
293
- };
294
- return React.createElement(Form, {
295
- form: form,
296
- onFinish: onFinish,
297
- onFinishFailed: onFinishFailed,
298
- autoComplete: "off"
299
- }, React.createElement(Form.Item, {
300
- name: "url",
301
- label: "URL",
302
- rules: [{
303
- required: true
304
- }, {
305
- type: 'url',
306
- warningOnly: true
307
- }, {
308
- type: 'string',
309
- min: 6
310
- }]
311
- }, React.createElement(Input, {
312
- placeholder: "input placeholder"
313
- })), React.createElement(Form.Item, null, React.createElement(Button, {
314
- type: "primary",
315
- htmlType: "submit",
316
- style: {
317
- marginRight: 12
318
- }
319
- }, "Submit"), React.createElement(Button, {
320
- htmlType: "button",
321
- onClick: onFill
322
- }, "Fill")));
323
- };
324
- export const UnblockValidate = UnblockValidateTemplate.bind({});
325
- // 字段监听hooks
326
- const UseWatchTemplate = () => {
327
- const [form] = Form.useForm();
328
- const nameValue = Form.useWatch('name', form);
329
- return React.createElement(React.Fragment, null, React.createElement(Form, {
330
- form: form,
331
- layout: "vertical",
332
- autoComplete: "off"
333
- }, React.createElement(Form.Item, {
334
- name: "name",
335
- label: "Name (Watch to trigger rerender)"
336
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
337
- name: "age",
338
- label: "Age (Not Watch)"
339
- }, React.createElement(InputNumber, null))), React.createElement("pre", null, "Name Value: ", nameValue));
340
- };
341
- export const UseWatchHooks = UseWatchTemplate.bind({});
342
- // 动态增减标单项
343
- const formItemLayout = {
344
- labelCol: {
345
- xs: {
346
- span: 24
347
- },
348
- sm: {
349
- span: 4
350
- }
351
- },
352
- wrapperCol: {
353
- xs: {
354
- span: 24
355
- },
356
- sm: {
357
- span: 20
358
- }
359
- }
360
- };
361
- const formItemLayoutWithOutLabel = {
362
- wrapperCol: {
363
- xs: {
364
- span: 24,
365
- offset: 0
366
- },
367
- sm: {
368
- span: 20,
369
- offset: 4
370
- }
371
- }
372
- };
373
- const DynamicAddRemoveFieldsTpl = () => {
374
- const onFinish = values => {
375
- console.log('Received values of form:', values);
376
- };
377
- return React.createElement(Form, Object.assign({
378
- name: "dynamic_form_item"
379
- }, formItemLayoutWithOutLabel, {
380
- onFinish: onFinish
381
- }), React.createElement(Form.List, {
382
- name: "names",
383
- rules: [{
384
- validator: async (_, names) => {
385
- if (!names || names.length < 2) {
386
- return Promise.reject(new Error('At least 2 passengers'));
387
- }
388
- }
389
- }]
390
- }, (fields, {
391
- add,
392
- remove
393
- }, {
394
- errors
395
- }) => React.createElement(React.Fragment, null, fields.map((field, index) => React.createElement(Form.Item, Object.assign({}, index === 0 ? formItemLayout : formItemLayoutWithOutLabel, {
396
- label: index === 0 ? 'Passengers' : '',
397
- required: false,
398
- key: field.key
399
- }), React.createElement(Form.Item, Object.assign({}, field, {
400
- validateTrigger: ['onChange', 'onBlur'],
401
- rules: [{
402
- required: true,
403
- whitespace: true,
404
- message: "Please input passenger's name or delete this field."
405
- }],
406
- noStyle: true
407
- }), React.createElement(Input, {
408
- placeholder: "passenger name",
409
- style: {
410
- width: '60%'
411
- }
412
- })), fields.length > 1 ? React.createElement(Icon, {
413
- type: "minus-circle",
414
- className: "dynamic-delete-button",
415
- onClick: () => remove(field.name)
416
- }) : null)), React.createElement(Form.Item, null, React.createElement(Button, {
417
- type: "dashed",
418
- onClick: () => add(),
419
- style: {
420
- width: '60%'
421
- },
422
- icon: "plus-circle"
423
- }, "Add field"), React.createElement(Button, {
424
- type: "dashed",
425
- onClick: () => {
426
- add('The head item', 0);
427
- },
428
- style: {
429
- width: '60%',
430
- marginTop: '20px'
431
- },
432
- icon: "plus-circle"
433
- }, "Add field at head"), React.createElement(Form.ErrorList, {
434
- errors: errors
435
- })))), React.createElement(Form.Item, null, React.createElement(Button, {
436
- type: "primary",
437
- htmlType: "submit"
438
- }, "Submit")));
439
- };
440
- export const DynamicAddRemoveFields = DynamicAddRemoveFieldsTpl.bind({});
441
- const areas = [{
442
- label: 'Beijing',
443
- value: 'Beijing'
444
- }, {
445
- label: 'Shanghai',
446
- value: 'Shanghai'
447
- }];
448
- const sights = {
449
- Beijing: ['Tiananmen', 'Great Wall'],
450
- Shanghai: ['Oriental Pearl', 'The Bund']
451
- };
452
- const DynamicItemsComplexTpl = () => {
453
- const [form] = Form.useForm();
454
- const onFinish = values => {
455
- console.log('Received values of form:', values);
456
- };
457
- const handleChange = () => {
458
- form.setFieldsValue({
459
- sights: []
460
- });
461
- };
462
- return React.createElement(Form, {
463
- form: form,
464
- name: "dynamic_form_complex",
465
- onFinish: onFinish,
466
- autoComplete: "off"
467
- }, React.createElement(Form.Item, {
468
- name: "area",
469
- label: "Area",
470
- rules: [{
471
- required: true,
472
- message: 'Missing area'
473
- }]
474
- }, React.createElement(Select, {
475
- onChange: handleChange
476
- }, areas.map(({
477
- label,
478
- value
479
- }) => React.createElement(Select.Option, {
480
- key: value,
481
- value: value
482
- }, label)))), React.createElement(Form.List, {
483
- name: "sights"
484
- }, (fields, {
485
- add,
486
- remove
487
- }) => React.createElement(React.Fragment, null, fields.map(field => React.createElement(Row, {
488
- key: field.key,
489
- style: {
490
- display: 'flex'
491
- }
492
- }, React.createElement(Form.Item, {
493
- noStyle: true,
494
- shouldUpdate: (prevValues, curValues) => prevValues.area !== curValues.area || prevValues.sights !== curValues.sights
495
- }, () => React.createElement(Form.Item, Object.assign({}, field, {
496
- label: "Sight",
497
- name: [field.name, 'sight'],
498
- rules: [{
499
- required: true,
500
- message: 'Missing sight'
501
- }]
502
- }), React.createElement(Select, {
503
- disabled: !form.getFieldValue('area'),
504
- style: {
505
- width: 130
506
- }
507
- }, (sights[form.getFieldValue('area')] || []).map(item => React.createElement(Option, {
508
- key: item,
509
- value: item
510
- }, item))))), React.createElement(Form.Item, Object.assign({}, field, {
511
- label: "Price",
512
- name: [field.name, 'price'],
513
- rules: [{
514
- required: true,
515
- message: 'Missing price'
516
- }]
517
- }), React.createElement(Input, null)), React.createElement(Icon, {
518
- type: "minus-circle",
519
- onClick: () => remove(field.name)
520
- }))), React.createElement(Form.Item, null, React.createElement(Button, {
521
- type: "dashed",
522
- onClick: () => add(),
523
- block: true,
524
- icon: "plus-circle"
525
- }, "Add sights")))), React.createElement(Form.Item, null, React.createElement(Button, {
526
- type: "primary",
527
- htmlType: "submit"
528
- }, "Submit")));
529
- };
530
- export const DynamicItemsComplex = DynamicItemsComplexTpl.bind({});
531
- // 弹窗中表单
532
- const FormInModalTpl = () => {
533
- const [data, setData] = useState({});
534
- const [destroyOnClose, setDestroyOnClose] = useState(true);
535
- const [popupType, setPopupType] = useState('modal');
536
- const PopupCom = {
537
- modal: Modal,
538
- drawer: Drawer
539
- }[popupType];
540
- const close = () => setData(null);
541
- const [form] = Form.useForm();
542
- return React.createElement(React.Fragment, null, React.createElement(Button, {
543
- type: "primary",
544
- onClick: () => setData({}),
545
- style: {
546
- marginRight: 12
547
- }
548
- }, "\u65B0\u5EFA"), React.createElement(Button, {
549
- type: "primary",
550
- style: {
551
- marginRight: 12,
552
- marginBottom: 12
553
- },
554
- onClick: () => setData({
555
- id: 1,
556
- name: 'Hello',
557
- desc: 'Hello World'
558
- })
559
- }, "\u7F16\u8F91"), React.createElement("br", null), React.createElement(Radio.Group, {
560
- value: popupType,
561
- onChange: evt => setPopupType(evt.target.value)
562
- }, React.createElement(Radio.Button, {
563
- value: "modal"
564
- }, "\u5F39\u7A97"), React.createElement(Radio.Button, {
565
- value: "drawer"
566
- }, "\u62BD\u5C49")), React.createElement(Switch, {
567
- onClick: () => setDestroyOnClose(!destroyOnClose),
568
- checked: destroyOnClose,
569
- checkedChildren: "\u5173\u95ED\u65F6\u9500\u6BC1\u5B50\u5143\u7D20",
570
- unCheckedChildren: "\u5173\u95ED\u65F6\u4E0D\u9500\u6BC1\u5B50\u5143\u7D20"
571
- }), React.createElement(PopupCom, {
572
- title: `${(data === null || data === void 0 ? void 0 : data.id) ? '编辑' : '新建'}`,
573
- visible: !!data,
574
- width: "40%",
575
- destroyOnClose: destroyOnClose,
576
- onClose: close,
577
- onCancel: close,
578
- onOk: close
579
- }, React.createElement(Form, {
580
- initialValues: data,
581
- form: form
582
- }, React.createElement(Form.Item, {
583
- name: "name",
584
- label: "\u540D\u79F0"
585
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
586
- name: "desc",
587
- label: "\u63CF\u8FF0"
588
- }, React.createElement(Input.TextArea, null)))));
589
- };
590
- export const FormInModal = FormInModalTpl.bind({});
591
- // 表单禁用/只读
592
- const {
593
- RangePicker,
594
- MonthPicker,
595
- WeekPicker
596
- } = DatePicker;
597
- const {
598
- TextArea
599
- } = Input;
600
- const FormDisabledTpl = () => {
601
- const [componentDisabled, setComponentDisabled] = useState(true);
602
- const [componentReadonly, setComponentReadonly] = useState(false);
603
- const inputRef = useRef(null);
604
- const onFormLayoutChange = _a => {
605
- var {
606
- disabled
607
- } = _a,
608
- values = __rest(_a, ["disabled"]);
609
- console.log(values);
610
- setComponentDisabled(disabled);
611
- };
612
- useEffect(() => {
613
- if (inputRef.current) {
614
- inputRef.current.focus();
615
- }
616
- }, [componentDisabled, componentReadonly]);
617
- return React.createElement(React.Fragment, null, React.createElement(Checkbox, {
618
- checked: componentDisabled,
619
- onChange: e => setComponentDisabled(e.target.checked)
620
- }, "Form disabled"), React.createElement(Checkbox, {
621
- checked: componentReadonly,
622
- onChange: e => setComponentReadonly(e.target.checked)
623
- }, "Form readonly"), React.createElement(Form, {
624
- labelCol: {
625
- span: 4
626
- },
627
- wrapperCol: {
628
- span: 14
629
- },
630
- layout: "horizontal",
631
- onValuesChange: onFormLayoutChange,
632
- disabled: componentDisabled,
633
- readonly: componentReadonly,
634
- initialValues: {
635
- disabled: true,
636
- switch: true,
637
- input: 'Hello World',
638
- select: 'demo',
639
- select2: 'demo',
640
- checkboxGroup: ['apple', 'pear'],
641
- radioGroup: 'apple',
642
- radioGroup2: 'apple',
643
- treeSelect: 'bamboo',
644
- cascader: ['zhejiang', 'hangzhou'],
645
- datePicker: moment(new Date()),
646
- datePicker2: moment(new Date()),
647
- rangePicker: [moment(new Date()).subtract(7, 'days'), moment(new Date())],
648
- monthPicker: moment(),
649
- weekPicker: moment(),
650
- timePicker: moment('13:30:56', 'HH:mm:ss'),
651
- inputNumber: 88,
652
- textArea: 'Hello Input.TextArea:)'
653
- }
654
- }, React.createElement(Form.Item, {
655
- label: "Chekbox",
656
- name: "disabled",
657
- valuePropName: "checked"
658
- }, React.createElement(Checkbox, null, "Checkbox")), React.createElement(Form.Item, {
659
- label: "Radio",
660
- name: "radioGroup"
661
- }, React.createElement(Radio.Group, null, React.createElement(Radio, {
662
- value: "apple"
663
- }, " Apple "), React.createElement(Radio, {
664
- value: "pear"
665
- }, " Pear "))), React.createElement(Form.Item, {
666
- label: "Radio",
667
- name: "radioGroup2"
668
- }, React.createElement(Radio.Group, {
669
- options: options
670
- }, React.createElement(Radio, {
671
- value: "apple"
672
- }, " Apple "), React.createElement(Radio, {
673
- value: "pear"
674
- }, " Pear "))), React.createElement(Form.Item, {
675
- label: "Input",
676
- name: "input"
677
- }, React.createElement(Input, {
678
- ref: inputRef
679
- })), React.createElement(Form.Item, {
680
- label: "ChekboxGroup",
681
- name: "checkboxGroup"
682
- }, React.createElement(Checkbox.Group, {
683
- options: options
684
- })), React.createElement(Form.Item, {
685
- label: "Select",
686
- name: "select"
687
- }, React.createElement(Select, null, React.createElement(Select.Option, {
688
- value: "demo"
689
- }, "Demo"))), React.createElement(Form.Item, {
690
- label: "Select",
691
- name: "select2"
692
- }, React.createElement(Select, {
693
- options: [{
694
- label: 'Demo',
695
- value: 'demo'
696
- }]
697
- }, React.createElement(Select.Option, {
698
- value: "demo"
699
- }, "Demo"))), React.createElement(Form.Item, {
700
- label: "TreeSelect",
701
- name: "treeSelect"
702
- }, React.createElement(TreeSelect, {
703
- treeData: [{
704
- title: 'Light',
705
- value: 'light',
706
- children: [{
707
- title: 'Bamboo',
708
- value: 'bamboo'
709
- }]
710
- }],
711
- treeDefaultExpandAll: true
712
- })), React.createElement(Form.Item, {
713
- label: "Cascader",
714
- name: "cascader"
715
- }, React.createElement(Cascader, {
716
- options: [{
717
- value: 'zhejiang',
718
- label: 'Zhejiang',
719
- children: [{
720
- value: 'hangzhou',
721
- label: 'Hangzhou'
722
- }]
723
- }]
724
- })), React.createElement(Form.Item, {
725
- label: "DatePicker",
726
- name: "datePicker"
727
- }, React.createElement(DatePicker, null)), React.createElement(Form.Item, {
728
- label: "DatePicker2",
729
- name: "datePicker2"
730
- }, React.createElement(DatePicker, {
731
- showTime: true
732
- })), React.createElement(Form.Item, {
733
- label: "RangePicker",
734
- name: "rangePicker"
735
- }, React.createElement(RangePicker, null)), React.createElement(Form.Item, {
736
- label: "MonthPicker",
737
- name: "monthPicker"
738
- }, React.createElement(MonthPicker, null)), React.createElement(Form.Item, {
739
- label: "WeekPicker",
740
- name: "weekPicker"
741
- }, React.createElement(WeekPicker, null)), React.createElement(Form.Item, {
742
- label: "TimePicker",
743
- name: "timePicker"
744
- }, React.createElement(TimePicker, null)), React.createElement(Form.Item, {
745
- label: "InputNumber",
746
- name: "inputNumber"
747
- }, React.createElement(InputNumber, null)), React.createElement(Form.Item, {
748
- label: "TextArea",
749
- name: "textArea"
750
- }, React.createElement(TextArea, {
751
- rows: 4
752
- })), React.createElement(Form.Item, {
753
- label: "Switch",
754
- name: "switch",
755
- valuePropName: "checked"
756
- }, React.createElement(Switch, null)), React.createElement(Form.Item, {
757
- label: "Upload",
758
- name: "upload"
759
- }, React.createElement(Upload, {
760
- listType: "picture-card",
761
- beforeUpload: () => false
762
- }, React.createElement("div", null, React.createElement(Icon, {
763
- type: "plus"
764
- }), React.createElement("div", {
765
- style: {
766
- marginTop: 8
767
- }
768
- }, "Upload")))), React.createElement(Form.Item, {
769
- label: "Button"
770
- }, React.createElement(Button, null, "Button"))));
771
- };
772
- export const FormDisabledReadonly = FormDisabledTpl.bind({});
773
- // 嵌套结构与校验信息
774
- const NestValidatorFormTpl = () => {
775
- const layout = {
776
- labelCol: {
777
- span: 2
778
- },
779
- wrapperCol: {
780
- span: 12
781
- }
782
- };
783
- /* eslint-disable no-template-curly-in-string */
784
- const validateMessages = {
785
- required: '${label} is required!',
786
- types: {
787
- email: '${label} is not a valid email!',
788
- number: '${label} is not a valid number!'
789
- },
790
- number: {
791
- range: '${label} must be between ${min} and ${max}'
792
- }
793
- };
794
- const onFinish = values => {
795
- console.log(values);
796
- };
797
- return React.createElement(Form, Object.assign({}, layout, {
798
- name: "nest-messages",
799
- onFinish: onFinish,
800
- validateMessages: validateMessages
801
- }), React.createElement(Form.Item, {
802
- name: ['user', 'name'],
803
- label: "Name",
804
- rules: [{
805
- required: true
806
- }]
807
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
808
- name: ['user', 'email'],
809
- label: "Email",
810
- rules: [{
811
- type: 'email'
812
- }]
813
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
814
- name: ['user', 'age'],
815
- label: "Age",
816
- rules: [{
817
- type: 'number',
818
- min: 0,
819
- max: 99
820
- }]
821
- }, React.createElement(InputNumber, null)), React.createElement(Form.Item, {
822
- name: ['user', 'website'],
823
- label: "Website"
824
- }, React.createElement(Input, null)), React.createElement(Form.Item, {
825
- name: ['user', 'introduction'],
826
- label: "Introduction"
827
- }, React.createElement(Input.TextArea, null)), React.createElement(Form.Item, {
828
- wrapperCol: Object.assign(Object.assign({}, layout.wrapperCol), {
829
- offset: 8
830
- })
831
- }, React.createElement(Button, {
832
- type: "primary",
833
- htmlType: "submit"
834
- }, "Submit")));
835
- };
836
- export const NestValidatorForm = NestValidatorFormTpl.bind({});