@1money/component-ui 0.0.20 → 0.0.21

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 (93) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/AGENTS.md +7 -1
  3. package/es/components/ProForm/ProForm.js +93 -116
  4. package/es/components/ProForm/ProFormDependency.js +2 -4
  5. package/es/components/ProForm/ProFormItem.d.ts +4 -0
  6. package/es/components/ProForm/ProFormItem.js +213 -0
  7. package/es/components/ProForm/ProFormList.js +5 -6
  8. package/es/components/ProForm/Submitter.js +2 -2
  9. package/es/components/ProForm/context.d.ts +10 -2
  10. package/es/components/ProForm/context.js +17 -14
  11. package/es/components/{Form → ProForm/core}/constants.d.ts +1 -1
  12. package/es/components/ProForm/core/constants.js +18 -0
  13. package/es/components/ProForm/core/hooks/useForm.js +541 -0
  14. package/es/components/ProForm/core/hooks/useFormCore.js +347 -0
  15. package/es/components/ProForm/core/index.d.ts +6 -0
  16. package/es/components/ProForm/core/index.js +6 -0
  17. package/es/components/{Form → ProForm/core}/interface.d.ts +21 -60
  18. package/es/components/ProForm/core/interface.js +2 -0
  19. package/es/components/ProForm/core/useFormItem.d.ts +20 -0
  20. package/es/components/ProForm/core/useFormItem.js +121 -0
  21. package/es/components/ProForm/fields/ProFormFieldSet.js +7 -6
  22. package/es/components/ProForm/fields/createProFormField.js +76 -151
  23. package/es/components/ProForm/index.d.ts +12 -5
  24. package/es/components/ProForm/index.js +20 -8
  25. package/es/components/ProForm/interface.d.ts +76 -41
  26. package/es/components/ProForm/style/ProForm.css +1 -1
  27. package/es/index.css +1 -1
  28. package/es/index.d.ts +3 -4
  29. package/es/index.js +2 -3
  30. package/lib/components/ProForm/ProForm.js +94 -117
  31. package/lib/components/ProForm/ProFormDependency.js +2 -4
  32. package/lib/components/ProForm/ProFormItem.d.ts +4 -0
  33. package/lib/components/ProForm/ProFormItem.js +222 -0
  34. package/lib/components/ProForm/ProFormList.js +4 -5
  35. package/lib/components/ProForm/Submitter.js +2 -2
  36. package/lib/components/ProForm/context.d.ts +10 -2
  37. package/lib/components/ProForm/context.js +18 -15
  38. package/lib/components/{Form → ProForm/core}/constants.d.ts +1 -1
  39. package/lib/components/ProForm/core/constants.js +24 -0
  40. package/lib/components/ProForm/core/hooks/useForm.js +551 -0
  41. package/lib/components/ProForm/core/hooks/useFormCore.js +354 -0
  42. package/lib/components/ProForm/core/index.d.ts +6 -0
  43. package/lib/components/ProForm/core/index.js +56 -0
  44. package/lib/components/{Form → ProForm/core}/interface.d.ts +21 -60
  45. package/lib/components/ProForm/core/interface.js +6 -0
  46. package/lib/components/ProForm/core/useFormItem.d.ts +20 -0
  47. package/lib/components/ProForm/core/useFormItem.js +131 -0
  48. package/lib/components/ProForm/fields/ProFormFieldSet.js +7 -6
  49. package/lib/components/ProForm/fields/createProFormField.js +76 -151
  50. package/lib/components/ProForm/index.d.ts +12 -5
  51. package/lib/components/ProForm/index.js +41 -28
  52. package/lib/components/ProForm/interface.d.ts +76 -41
  53. package/lib/components/ProForm/style/ProForm.css +1 -1
  54. package/lib/index.css +1 -1
  55. package/lib/index.d.ts +3 -4
  56. package/lib/index.js +49 -50
  57. package/package.json +1 -1
  58. package/es/components/Form/Form.d.ts +0 -4
  59. package/es/components/Form/Form.js +0 -73
  60. package/es/components/Form/FormItem.d.ts +0 -4
  61. package/es/components/Form/FormItem.js +0 -183
  62. package/es/components/Form/constants.js +0 -19
  63. package/es/components/Form/context.d.ts +0 -5
  64. package/es/components/Form/context.js +0 -19
  65. package/es/components/Form/hooks/useForm.js +0 -541
  66. package/es/components/Form/hooks/useFormCore.js +0 -348
  67. package/es/components/Form/index.d.ts +0 -10
  68. package/es/components/Form/index.js +0 -17
  69. package/es/components/Form/interface.js +0 -2
  70. package/es/components/Form/style/Form.css +0 -1
  71. package/es/components/Form/style/css.js +0 -2
  72. package/es/components/Form/style/index.d.ts +0 -1
  73. package/es/components/Form/style/index.js +0 -2
  74. package/lib/components/Form/Form.d.ts +0 -4
  75. package/lib/components/Form/Form.js +0 -80
  76. package/lib/components/Form/FormItem.d.ts +0 -4
  77. package/lib/components/Form/FormItem.js +0 -193
  78. package/lib/components/Form/constants.js +0 -25
  79. package/lib/components/Form/context.d.ts +0 -5
  80. package/lib/components/Form/context.js +0 -25
  81. package/lib/components/Form/hooks/useForm.js +0 -551
  82. package/lib/components/Form/hooks/useFormCore.js +0 -355
  83. package/lib/components/Form/index.d.ts +0 -10
  84. package/lib/components/Form/index.js +0 -83
  85. package/lib/components/Form/interface.js +0 -6
  86. package/lib/components/Form/style/Form.css +0 -1
  87. package/lib/components/Form/style/css.js +0 -4
  88. package/lib/components/Form/style/index.d.ts +0 -1
  89. package/lib/components/Form/style/index.js +0 -4
  90. /package/es/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  91. /package/es/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
  92. /package/lib/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  93. /package/lib/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
@@ -1,348 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- import _typeof from "@babel/runtime/helpers/esm/typeof";
5
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
6
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
7
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
- import { useState, useMemo } from 'react';
9
- import { useEventCallback, useMemoizedFn } from '@1money/hooks';
10
- // ---------------------------------------------------------------------------
11
- // Nested path helpers (dot-notation support, e.g. "items.0.title")
12
- // ---------------------------------------------------------------------------
13
- function getNestedValue(obj, path) {
14
- var keys = path.split('.');
15
- var current = obj;
16
- var _iterator = _createForOfIteratorHelper(keys),
17
- _step;
18
- try {
19
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
20
- var key = _step.value;
21
- if (current === null || current === undefined || _typeof(current) !== 'object') return undefined;
22
- current = current[key];
23
- }
24
- } catch (err) {
25
- _iterator.e(err);
26
- } finally {
27
- _iterator.f();
28
- }
29
- return current;
30
- }
31
- function setNestedValue(obj, path, value) {
32
- var keys = path.split('.');
33
- if (keys.length === 1) return Object.assign(Object.assign({}, obj), _defineProperty({}, path, value));
34
- var result = Object.assign({}, obj);
35
- var current = result;
36
- for (var i = 0; i < keys.length - 1; i++) {
37
- var key = keys[i];
38
- var nextKey = keys[i + 1];
39
- var isNextArray = /^\d+$/.test(nextKey);
40
- if (current[key] === undefined || current[key] === null) {
41
- current[key] = isNextArray ? [] : {};
42
- }
43
- if (Array.isArray(current[key])) {
44
- current[key] = _toConsumableArray(current[key]);
45
- } else {
46
- current[key] = Object.assign({}, current[key]);
47
- }
48
- current = current[key];
49
- }
50
- current[keys[keys.length - 1]] = value;
51
- return result;
52
- }
53
- function resolveValue(values, name) {
54
- return name.includes('.') ? getNestedValue(values, name) : values[name];
55
- }
56
- export var useFormCore = function useFormCore() {
57
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
- var _config$initialValues = config.initialValues,
59
- initialValues = _config$initialValues === void 0 ? {} : _config$initialValues,
60
- onFinish = config.onFinish,
61
- onFinishFailed = config.onFinishFailed,
62
- onValuesChange = config.onValuesChange,
63
- onReset = config.onReset,
64
- _config$size = config.size,
65
- size = _config$size === void 0 ? 'middle' : _config$size,
66
- _config$labelAlign = config.labelAlign,
67
- labelAlign = _config$labelAlign === void 0 ? 'left' : _config$labelAlign,
68
- _config$disabled = config.disabled,
69
- disabled = _config$disabled === void 0 ? false : _config$disabled,
70
- _config$colon = config.colon,
71
- colon = _config$colon === void 0 ? true : _config$colon,
72
- _config$requiredMark = config.requiredMark,
73
- requiredMark = _config$requiredMark === void 0 ? true : _config$requiredMark,
74
- _config$validateTrigg = config.validateTrigger,
75
- validateTrigger = _config$validateTrigg === void 0 ? 'onChange' : _config$validateTrigg;
76
- var _useState = useState(initialValues),
77
- _useState2 = _slicedToArray(_useState, 2),
78
- values = _useState2[0],
79
- setValues = _useState2[1];
80
- var _useState3 = useState({}),
81
- _useState4 = _slicedToArray(_useState3, 2),
82
- errors = _useState4[0],
83
- setErrors = _useState4[1];
84
- var _useState5 = useState({}),
85
- _useState6 = _slicedToArray(_useState5, 2),
86
- touched = _useState6[0],
87
- setTouched = _useState6[1];
88
- var _useState7 = useState({}),
89
- _useState8 = _slicedToArray(_useState7, 2),
90
- fieldRules = _useState8[0],
91
- setFieldRules = _useState8[1];
92
- var setFieldValue = useMemoizedFn(function (name, value) {
93
- setValues(function (prev) {
94
- var newValues = name.includes('.') ? setNestedValue(prev, name, value) : Object.assign(Object.assign({}, prev), _defineProperty({}, name, value));
95
- onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(_defineProperty({}, name, value), newValues);
96
- return newValues;
97
- });
98
- if (value !== '' && value !== null && value !== undefined) {
99
- setErrors(function (prev) {
100
- if (!prev[name]) return prev;
101
- var newErrors = Object.assign({}, prev);
102
- delete newErrors[name];
103
- return newErrors;
104
- });
105
- }
106
- });
107
- var setFieldError = useMemoizedFn(function (name, error) {
108
- setErrors(function (prev) {
109
- if (error === null) {
110
- if (!prev[name]) return prev;
111
- var newErrors = Object.assign({}, prev);
112
- delete newErrors[name];
113
- return newErrors;
114
- }
115
- return Object.assign(Object.assign({}, prev), _defineProperty({}, name, error));
116
- });
117
- });
118
- var registerField = useMemoizedFn(function (name, rules) {
119
- setFieldRules(function (prev) {
120
- return Object.assign(Object.assign({}, prev), _defineProperty({}, name, rules));
121
- });
122
- });
123
- var getFieldRules = useMemoizedFn(function (name) {
124
- return fieldRules[name];
125
- });
126
- var unregisterField = useMemoizedFn(function (name) {
127
- setFieldRules(function (prev) {
128
- var newRules = Object.assign({}, prev);
129
- delete newRules[name];
130
- return newRules;
131
- });
132
- });
133
- var validateField = useMemoizedFn(function (name) {
134
- var rules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
135
- var providedValue = arguments.length > 2 ? arguments[2] : undefined;
136
- var value = providedValue !== undefined ? providedValue : resolveValue(values, name);
137
- var _iterator2 = _createForOfIteratorHelper(rules),
138
- _step2;
139
- try {
140
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
141
- var rule = _step2.value;
142
- if (rule.required && (value === undefined || value === null || value === '')) {
143
- var error = rule.message || "".concat(name, " is required");
144
- setFieldError(name, error);
145
- return false;
146
- }
147
- if (rule.min && typeof value === 'string' && value.length < rule.min) {
148
- var _error = rule.message || "".concat(name, " must be at least ").concat(rule.min, " characters");
149
- setFieldError(name, _error);
150
- return false;
151
- }
152
- if (rule.max && typeof value === 'string' && value.length > rule.max) {
153
- var _error2 = rule.message || "".concat(name, " must be no more than ").concat(rule.max, " characters");
154
- setFieldError(name, _error2);
155
- return false;
156
- }
157
- if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
158
- var _error3 = rule.message || "".concat(name, " format is invalid");
159
- setFieldError(name, _error3);
160
- return false;
161
- }
162
- if (rule.validator && typeof rule.validator === 'function') {
163
- try {
164
- var result = rule.validator(value, values);
165
- if (result !== true && _typeof(result) !== 'object') {
166
- setFieldError(name, typeof result === 'string' ? result : 'Validation failed');
167
- return false;
168
- }
169
- } catch (err) {
170
- var message = err instanceof Error ? err.message : 'Validation error';
171
- setFieldError(name, message);
172
- return false;
173
- }
174
- }
175
- }
176
- // Clear error if validation passes
177
- } catch (err) {
178
- _iterator2.e(err);
179
- } finally {
180
- _iterator2.f();
181
- }
182
- if (errors[name]) {
183
- setFieldError(name, null);
184
- }
185
- return true;
186
- });
187
- var validateFields = useMemoizedFn(function () {
188
- var fieldsRulesToValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : fieldRules;
189
- var isValid = true;
190
- Object.keys(fieldsRulesToValidate).forEach(function (name) {
191
- var rules = fieldsRulesToValidate[name];
192
- if (!validateField(name, rules)) {
193
- isValid = false;
194
- }
195
- });
196
- return isValid;
197
- });
198
- var handleSubmitInternal = useMemoizedFn(function () {
199
- var hasErrors = false;
200
- var newErrors = {};
201
- Object.keys(fieldRules).forEach(function (fieldName) {
202
- var rules = fieldRules[fieldName];
203
- var value = resolveValue(values, fieldName);
204
- var _iterator3 = _createForOfIteratorHelper(rules),
205
- _step3;
206
- try {
207
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
208
- var rule = _step3.value;
209
- if (rule.required && (value === undefined || value === null || value === '')) {
210
- newErrors[fieldName] = rule.message || "".concat(fieldName, " is required");
211
- hasErrors = true;
212
- break;
213
- }
214
- if (rule.min && typeof value === 'string' && value.length < rule.min) {
215
- newErrors[fieldName] = rule.message || "".concat(fieldName, " must be at least ").concat(rule.min, " characters");
216
- hasErrors = true;
217
- break;
218
- }
219
- if (rule.max && typeof value === 'string' && value.length > rule.max) {
220
- newErrors[fieldName] = rule.message || "".concat(fieldName, " must be no more than ").concat(rule.max, " characters");
221
- hasErrors = true;
222
- break;
223
- }
224
- if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
225
- newErrors[fieldName] = rule.message || "".concat(fieldName, " format is invalid");
226
- hasErrors = true;
227
- break;
228
- }
229
- if (rule.validator && typeof rule.validator === 'function') {
230
- try {
231
- var result = rule.validator(value, values);
232
- if (result !== true && _typeof(result) !== 'object') {
233
- newErrors[fieldName] = typeof result === 'string' ? result : 'Validation failed';
234
- hasErrors = true;
235
- break;
236
- }
237
- } catch (err) {
238
- newErrors[fieldName] = err instanceof Error ? err.message : 'Validation error';
239
- hasErrors = true;
240
- break;
241
- }
242
- }
243
- }
244
- } catch (err) {
245
- _iterator3.e(err);
246
- } finally {
247
- _iterator3.f();
248
- }
249
- });
250
- setErrors(newErrors);
251
- if (!hasErrors) {
252
- onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
253
- return {
254
- success: true,
255
- values: values
256
- };
257
- } else {
258
- onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed({
259
- values: values,
260
- errors: newErrors
261
- });
262
- return {
263
- success: false,
264
- errors: newErrors
265
- };
266
- }
267
- });
268
- var handleSubmit = useEventCallback(function (e) {
269
- e === null || e === void 0 ? void 0 : e.preventDefault();
270
- return handleSubmitInternal();
271
- });
272
- var resetFields = useMemoizedFn(function () {
273
- setValues(initialValues);
274
- setErrors({});
275
- setTouched({});
276
- onReset === null || onReset === void 0 ? void 0 : onReset();
277
- });
278
- var handleReset = useEventCallback(function (e) {
279
- e === null || e === void 0 ? void 0 : e.preventDefault();
280
- resetFields();
281
- });
282
- var getFieldValue = useMemoizedFn(function (name) {
283
- return resolveValue(values, name);
284
- });
285
- var getFieldsValue = useMemoizedFn(function () {
286
- return values;
287
- });
288
- var setFieldsValue = useMemoizedFn(function (newValues) {
289
- setValues(function (prev) {
290
- var updatedValues = Object.assign(Object.assign({}, prev), newValues);
291
- onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(newValues, updatedValues);
292
- return updatedValues;
293
- });
294
- });
295
- var formInstance = useMemo(function () {
296
- return {
297
- submit: handleSubmitInternal,
298
- resetFields: resetFields,
299
- getFieldValue: getFieldValue,
300
- getFieldsValue: getFieldsValue,
301
- setFieldsValue: setFieldsValue,
302
- setFieldValue: setFieldValue,
303
- validateFields: validateFields
304
- };
305
- }, [handleSubmitInternal, resetFields, getFieldValue, getFieldsValue, setFieldsValue, setFieldValue, validateFields]);
306
- var contextValue = useMemo(function () {
307
- return {
308
- values: values,
309
- errors: errors,
310
- touched: touched,
311
- formInstance: formInstance,
312
- setFieldValue: setFieldValue,
313
- setFieldError: setFieldError,
314
- validateField: validateField,
315
- registerField: registerField,
316
- unregisterField: unregisterField,
317
- size: size,
318
- labelAlign: labelAlign,
319
- disabled: disabled,
320
- colon: colon,
321
- requiredMark: requiredMark,
322
- validateTrigger: validateTrigger
323
- };
324
- }, [values, errors, touched, formInstance, setFieldValue, setFieldError, validateField, registerField, unregisterField, size, labelAlign, disabled, colon, requiredMark, validateTrigger]);
325
- return {
326
- values: values,
327
- errors: errors,
328
- touched: touched,
329
- fieldRules: fieldRules,
330
- getFieldRules: getFieldRules,
331
- setFieldValue: setFieldValue,
332
- setFieldError: setFieldError,
333
- setFieldsValue: setFieldsValue,
334
- getFieldValue: getFieldValue,
335
- getFieldsValue: getFieldsValue,
336
- validateField: validateField,
337
- validateFields: validateFields,
338
- registerField: registerField,
339
- unregisterField: unregisterField,
340
- handleSubmit: handleSubmit,
341
- handleReset: handleReset,
342
- resetFields: resetFields,
343
- formInstance: formInstance,
344
- contextValue: contextValue
345
- };
346
- };
347
- export default useFormCore;
348
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL2hvb2tzL3VzZUZvcm1Db3JlLnRzIiwiY29tcG9uZW50cy9Gb3JtL2hvb2tzL3VzZUZvcm1Db3JlLmpzIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlTWVtbyIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VNZW1vaXplZEZuIiwiZ2V0TmVzdGVkVmFsdWUiLCJvYmoiLCJwYXRoIiwia2V5cyIsInNwbGl0IiwiY3VycmVudCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJrZXkiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIl90eXBlb2YiLCJlcnIiLCJlIiwiZiIsInNldE5lc3RlZFZhbHVlIiwibGVuZ3RoIiwiT2JqZWN0IiwiYXNzaWduIiwiX2RlZmluZVByb3BlcnR5IiwicmVzdWx0IiwiaSIsIm5leHRLZXkiLCJpc05leHRBcnJheSIsInRlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyZXNvbHZlVmFsdWUiLCJ2YWx1ZXMiLCJuYW1lIiwiaW5jbHVkZXMiLCJ1c2VGb3JtQ29yZSIsImNvbmZpZyIsImFyZ3VtZW50cyIsIl9jb25maWckaW5pdGlhbFZhbHVlcyIsImluaXRpYWxWYWx1ZXMiLCJvbkZpbmlzaCIsIm9uRmluaXNoRmFpbGVkIiwib25WYWx1ZXNDaGFuZ2UiLCJvblJlc2V0IiwiX2NvbmZpZyRzaXplIiwic2l6ZSIsIl9jb25maWckbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJfY29uZmlnJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfY29uZmlnJGNvbG9uIiwiY29sb24iLCJfY29uZmlnJHJlcXVpcmVkTWFyayIsInJlcXVpcmVkTWFyayIsIl9jb25maWckdmFsaWRhdGVUcmlnZyIsInZhbGlkYXRlVHJpZ2dlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNldFZhbHVlcyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3JzIiwic2V0RXJyb3JzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0b3VjaGVkIiwic2V0VG91Y2hlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiZmllbGRSdWxlcyIsInNldEZpZWxkUnVsZXMiLCJzZXRGaWVsZFZhbHVlIiwicHJldiIsIm5ld1ZhbHVlcyIsIm5ld0Vycm9ycyIsInNldEZpZWxkRXJyb3IiLCJlcnJvciIsInJlZ2lzdGVyRmllbGQiLCJydWxlcyIsImdldEZpZWxkUnVsZXMiLCJ1bnJlZ2lzdGVyRmllbGQiLCJuZXdSdWxlcyIsInZhbGlkYXRlRmllbGQiLCJwcm92aWRlZFZhbHVlIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInJ1bGUiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJjb25jYXQiLCJtaW4iLCJtYXgiLCJwYXR0ZXJuIiwidmFsaWRhdG9yIiwiRXJyb3IiLCJ2YWxpZGF0ZUZpZWxkcyIsImZpZWxkc1J1bGVzVG9WYWxpZGF0ZSIsImlzVmFsaWQiLCJmb3JFYWNoIiwiaGFuZGxlU3VibWl0SW50ZXJuYWwiLCJoYXNFcnJvcnMiLCJmaWVsZE5hbWUiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwic3VjY2VzcyIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwicmVzZXRGaWVsZHMiLCJoYW5kbGVSZXNldCIsImdldEZpZWxkVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsInNldEZpZWxkc1ZhbHVlIiwidXBkYXRlZFZhbHVlcyIsImZvcm1JbnN0YW5jZSIsInN1Ym1pdCIsImNvbnRleHRWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLFNBQVNBLFFBQVEsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFFekMsU0FBU0MsZ0JBQWdCLEVBQUVDLGFBQWEsUUFBUSxlQUFlO0FBUS9EO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGNBQWNBLENBQUNDLEdBQTRCLEVBQUVDLElBQVks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QUFZLEVBQVpBLFlBQVk7SUFDWkUsWUFBWSxFQUFaQTtFQzVFQSxDRDZFRDtBQUNILENBQUM7QUFFRCxlQUFlakYsV0FBVyIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vaG9va3MvdXNlRm9ybUNvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRXZlbnRDYWxsYmFjaywgdXNlTWVtb2l6ZWRGbiB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOZXN0ZWQgcGF0aCBoZWxwZXJzIChkb3Qtbm90YXRpb24gc3VwcG9ydCwgZS5nLiBcIml0ZW1zLjAudGl0bGVcIilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gZ2V0TmVzdGVkVmFsdWUob2JqLCBwYXRoKSB7XG4gICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICBsZXQgY3VycmVudCA9IG9iajtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgY3VycmVudCAhPT0gJ29iamVjdCcpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtrZXldO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudDtcbn1cbmZ1bmN0aW9uIHNldE5lc3RlZFZhbHVlKG9iaiwgcGF0aCwgdmFsdWUpIHtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb2JqKSwgeyBbcGF0aF06IHZhbHVlIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5hc3NpZ24oe30sIG9iaik7XG4gICAgbGV0IGN1cnJlbnQgPSByZXN1bHQ7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlzW2ldO1xuICAgICAgICBjb25zdCBuZXh0S2V5ID0ga2V5c1tpICsgMV07XG4gICAgICAgIGNvbnN0IGlzTmV4dEFycmF5ID0gL15cXGQrJC8udGVzdChuZXh0S2V5KTtcbiAgICAgICAgaWYgKGN1cnJlbnRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IGN1cnJlbnRba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY3VycmVudFtrZXldID0gaXNOZXh0QXJyYXkgPyBbXSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRba2V5XSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRba2V5XSA9IFsuLi5jdXJyZW50W2tleV1dO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFtrZXldID0gT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtrZXldO1xuICAgIH1cbiAgICBjdXJyZW50W2tleXNba2V5cy5sZW5ndGggLSAxXV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcmVzb2x2ZVZhbHVlKHZhbHVlcywgbmFtZSkge1xuICAgIHJldHVybiBuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZSh2YWx1ZXMsIG5hbWUpIDogdmFsdWVzW25hbWVdO1xufVxuZXhwb3J0IGNvbnN0IHVzZUZvcm1Db3JlID0gKGNvbmZpZyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBpbml0aWFsVmFsdWVzID0ge30sIG9uRmluaXNoLCBvbkZpbmlzaEZhaWxlZCwgb25WYWx1ZXNDaGFuZ2UsIG9uUmVzZXQsIHNpemUgPSAnbWlkZGxlJywgbGFiZWxBbGlnbiA9ICdsZWZ0JywgZGlzYWJsZWQgPSBmYWxzZSwgY29sb24gPSB0cnVlLCByZXF1aXJlZE1hcmsgPSB0cnVlLCB2YWxpZGF0ZVRyaWdnZXIgPSAnb25DaGFuZ2UnLCB9ID0gY29uZmlnO1xuICAgIGNvbnN0IFt2YWx1ZXMsIHNldFZhbHVlc10gPSB1c2VTdGF0ZShpbml0aWFsVmFsdWVzKTtcbiAgICBjb25zdCBbZXJyb3JzLCBzZXRFcnJvcnNdID0gdXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFt0b3VjaGVkLCBzZXRUb3VjaGVkXSA9IHVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbZmllbGRSdWxlcywgc2V0RmllbGRSdWxlc10gPSB1c2VTdGF0ZSh7fSk7XG4gICAgY29uc3Qgc2V0RmllbGRWYWx1ZSA9IHVzZU1lbW9pemVkRm4oKG5hbWUsIHZhbHVlKSA9PiB7XG4gICAgICAgIHNldFZhbHVlcygocHJldikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWVzID0gbmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBzZXROZXN0ZWRWYWx1ZShwcmV2LCBuYW1lLCB2YWx1ZSlcbiAgICAgICAgICAgICAgICA6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcHJldiksIHsgW25hbWVdOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlID09PSBudWxsIHx8IG9uVmFsdWVzQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblZhbHVlc0NoYW5nZSh7IFtuYW1lXTogdmFsdWUgfSwgbmV3VmFsdWVzKTtcbiAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZXM7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNldEVycm9ycygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldltuYW1lXSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RXJyb3JzID0gT2JqZWN0LmFzc2lnbih7fSwgcHJldik7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG5ld0Vycm9yc1tuYW1lXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3RXJyb3JzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBzZXRGaWVsZEVycm9yID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgZXJyb3IpID0+IHtcbiAgICAgICAgc2V0RXJyb3JzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXZbbmFtZV0pXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0Vycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIHByZXYpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdFcnJvcnNbbmFtZV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld0Vycm9ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCB7IFtuYW1lXTogZXJyb3IgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlZ2lzdGVyRmllbGQgPSB1c2VNZW1vaXplZEZuKChuYW1lLCBydWxlcykgPT4ge1xuICAgICAgICBzZXRGaWVsZFJ1bGVzKChwcmV2KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcmV2KSwgeyBbbmFtZV06IHJ1bGVzIH0pKSk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0RmllbGRSdWxlcyA9IHVzZU1lbW9pemVkRm4oKG5hbWUpID0+IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkUnVsZXNbbmFtZV07XG4gICAgfSk7XG4gICAgY29uc3QgdW5yZWdpc3RlckZpZWxkID0gdXNlTWVtb2l6ZWRGbigobmFtZSkgPT4ge1xuICAgICAgICBzZXRGaWVsZFJ1bGVzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSdWxlcyA9IE9iamVjdC5hc3NpZ24oe30sIHByZXYpO1xuICAgICAgICAgICAgZGVsZXRlIG5ld1J1bGVzW25hbWVdO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1J1bGVzO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB2YWxpZGF0ZUZpZWxkID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgcnVsZXMgPSBbXSwgcHJvdmlkZWRWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3ZpZGVkVmFsdWUgIT09IHVuZGVmaW5lZCA/IHByb3ZpZGVkVmFsdWUgOiByZXNvbHZlVmFsdWUodmFsdWVzLCBuYW1lKTtcbiAgICAgICAgZm9yIChjb25zdCBydWxlIG9mIHJ1bGVzKSB7XG4gICAgICAgICAgICBpZiAocnVsZS5yZXF1aXJlZCAmJlxuICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUubWluICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoIDwgcnVsZS5taW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBtdXN0IGJlIGF0IGxlYXN0ICR7cnVsZS5taW59IGNoYXJhY3RlcnNgO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkRXJyb3IobmFtZSwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChydWxlLm1heCAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IHJ1bGUubWF4KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBubyBtb3JlIHRoYW4gJHtydWxlLm1heH0gY2hhcmFjdGVyc2A7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUucGF0dGVybiAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFydWxlLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBmb3JtYXQgaXMgaW52YWxpZGA7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUudmFsaWRhdG9yICYmIHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bGUudmFsaWRhdG9yKHZhbHVlLCB2YWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlICYmIHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRGaWVsZEVycm9yKG5hbWUsIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdWYWxpZGF0aW9uIGVycm9yJztcbiAgICAgICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBDbGVhciBlcnJvciBpZiB2YWxpZGF0aW9uIHBhc3Nlc1xuICAgICAgICBpZiAoZXJyb3JzW25hbWVdKSB7XG4gICAgICAgICAgICBzZXRGaWVsZEVycm9yKG5hbWUsIG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIGNvbnN0IHZhbGlkYXRlRmllbGRzID0gdXNlTWVtb2l6ZWRGbigoZmllbGRzUnVsZXNUb1ZhbGlkYXRlID0gZmllbGRSdWxlcykgPT4ge1xuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpZWxkc1J1bGVzVG9WYWxpZGF0ZSkuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcnVsZXMgPSBmaWVsZHNSdWxlc1RvVmFsaWRhdGVbbmFtZV07XG4gICAgICAgICAgICBpZiAoIXZhbGlkYXRlRmllbGQobmFtZSwgcnVsZXMpKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQ7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU3VibWl0SW50ZXJuYWwgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgbGV0IGhhc0Vycm9ycyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBuZXdFcnJvcnMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoZmllbGRSdWxlcykuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBydWxlcyA9IGZpZWxkUnVsZXNbZmllbGROYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcmVzb2x2ZVZhbHVlKHZhbHVlcywgZmllbGROYW1lKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcnVsZSBvZiBydWxlcykge1xuICAgICAgICAgICAgICAgIGlmIChydWxlLnJlcXVpcmVkICYmXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPSBydWxlLm1lc3NhZ2UgfHwgYCR7ZmllbGROYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocnVsZS5taW4gJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPCBydWxlLm1pbikge1xuICAgICAgICAgICAgICAgICAgICBuZXdFcnJvcnNbZmllbGROYW1lXSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBydWxlLm1lc3NhZ2UgfHwgYCR7ZmllbGROYW1lfSBtdXN0IGJlIGF0IGxlYXN0ICR7cnVsZS5taW59IGNoYXJhY3RlcnNgO1xuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJ1bGUubWF4ICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gcnVsZS5tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5tZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZmllbGROYW1lfSBtdXN0IGJlIG5vIG1vcmUgdGhhbiAke3J1bGUubWF4fSBjaGFyYWN0ZXJzYDtcbiAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChydWxlLnBhdHRlcm4gJiZcbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICAgICAgICAhcnVsZS5wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0Vycm9yc1tmaWVsZE5hbWVdID0gcnVsZS5tZXNzYWdlIHx8IGAke2ZpZWxkTmFtZX0gZm9ybWF0IGlzIGludmFsaWRgO1xuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJ1bGUudmFsaWRhdG9yICYmIHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcnVsZS52YWxpZGF0b3IodmFsdWUsIHZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlICYmIHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJyA/IHJlc3VsdCA6ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdFcnJvcnNbZmllbGROYW1lXSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdWYWxpZGF0aW9uIGVycm9yJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHNldEVycm9ycyhuZXdFcnJvcnMpO1xuICAgICAgICBpZiAoIWhhc0Vycm9ycykge1xuICAgICAgICAgICAgb25GaW5pc2ggPT09IG51bGwgfHwgb25GaW5pc2ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRmluaXNoKHZhbHVlcyk7XG4gICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCB2YWx1ZXMgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG9uRmluaXNoRmFpbGVkID09PSBudWxsIHx8IG9uRmluaXNoRmFpbGVkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZpbmlzaEZhaWxlZCh7IHZhbHVlcywgZXJyb3JzOiBuZXdFcnJvcnMgfSk7XG4gICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3JzOiBuZXdFcnJvcnMgfTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybiBoYW5kbGVTdWJtaXRJbnRlcm5hbCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc2V0RmllbGRzID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHNldFZhbHVlcyhpbml0aWFsVmFsdWVzKTtcbiAgICAgICAgc2V0RXJyb3JzKHt9KTtcbiAgICAgICAgc2V0VG91Y2hlZCh7fSk7XG4gICAgICAgIG9uUmVzZXQgPT09IG51bGwgfHwgb25SZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25SZXNldCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlc2V0ID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICBlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmVzZXRGaWVsZHMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdXNlTWVtb2l6ZWRGbigobmFtZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVZhbHVlKHZhbHVlcywgbmFtZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0RmllbGRzVmFsdWUgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGaWVsZHNWYWx1ZSA9IHVzZU1lbW9pemVkRm4oKG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICBzZXRWYWx1ZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCBuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgb25WYWx1ZXNDaGFuZ2UgPT09IG51bGwgfHwgb25WYWx1ZXNDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uVmFsdWVzQ2hhbmdlKG5ld1ZhbHVlcywgdXBkYXRlZFZhbHVlcyk7XG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZFZhbHVlcztcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgZm9ybUluc3RhbmNlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBzdWJtaXQ6IGhhbmRsZVN1Ym1pdEludGVybmFsLFxuICAgICAgICByZXNldEZpZWxkcyxcbiAgICAgICAgZ2V0RmllbGRWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRzVmFsdWUsXG4gICAgICAgIHNldEZpZWxkc1ZhbHVlLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICB2YWxpZGF0ZUZpZWxkcyxcbiAgICB9KSwgW1xuICAgICAgICBoYW5kbGVTdWJtaXRJbnRlcm5hbCxcbiAgICAgICAgcmVzZXRGaWVsZHMsXG4gICAgICAgIGdldEZpZWxkVmFsdWUsXG4gICAgICAgIGdldEZpZWxkc1ZhbHVlLFxuICAgICAgICBzZXRGaWVsZHNWYWx1ZSxcbiAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgdmFsaWRhdGVGaWVsZHMsXG4gICAgXSk7XG4gICAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICB2YWx1ZXMsXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgdG91Y2hlZCxcbiAgICAgICAgZm9ybUluc3RhbmNlLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICBzZXRGaWVsZEVycm9yLFxuICAgICAgICB2YWxpZGF0ZUZpZWxkLFxuICAgICAgICByZWdpc3RlckZpZWxkLFxuICAgICAgICB1bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBjb2xvbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSksIFtcbiAgICAgICAgdmFsdWVzLFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIHRvdWNoZWQsXG4gICAgICAgIGZvcm1JbnN0YW5jZSxcbiAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgc2V0RmllbGRFcnJvcixcbiAgICAgICAgdmFsaWRhdGVGaWVsZCxcbiAgICAgICAgcmVnaXN0ZXJGaWVsZCxcbiAgICAgICAgdW5yZWdpc3RlckZpZWxkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgY29sb24sXG4gICAgICAgIHJlcXVpcmVkTWFyayxcbiAgICAgICAgdmFsaWRhdGVUcmlnZ2VyLFxuICAgIF0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlcyxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgICB0b3VjaGVkLFxuICAgICAgICBmaWVsZFJ1bGVzLFxuICAgICAgICBnZXRGaWVsZFJ1bGVzLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICBzZXRGaWVsZEVycm9yLFxuICAgICAgICBzZXRGaWVsZHNWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRzVmFsdWUsXG4gICAgICAgIHZhbGlkYXRlRmllbGQsXG4gICAgICAgIHZhbGlkYXRlRmllbGRzLFxuICAgICAgICByZWdpc3RlckZpZWxkLFxuICAgICAgICB1bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIGhhbmRsZVN1Ym1pdCxcbiAgICAgICAgaGFuZGxlUmVzZXQsXG4gICAgICAgIHJlc2V0RmllbGRzLFxuICAgICAgICBmb3JtSW5zdGFuY2UsXG4gICAgICAgIGNvbnRleHRWYWx1ZSxcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IHVzZUZvcm1Db3JlOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,10 +0,0 @@
1
- import { FormItem } from './FormItem';
2
- import { useFormContext, useFormInstance } from './context';
3
- import { useForm } from './hooks/useForm';
4
- import { useFormCore } from './hooks/useFormCore';
5
- import type { FormComponent } from './interface';
6
- declare const Form: FormComponent;
7
- export { Form, FormItem, useForm, useFormContext, useFormInstance, useFormCore };
8
- export default Form;
9
- export * from './interface';
10
- export * from './constants';
@@ -1,17 +0,0 @@
1
- import { Form as FormBase } from './Form';
2
- import { FormItem } from './FormItem';
3
- import { useFormContext, useFormInstance } from './context';
4
- import { useForm } from './hooks/useForm';
5
- import { useFormCore } from './hooks/useFormCore';
6
- var Form = Object.assign(FormBase, {
7
- Item: FormItem,
8
- useForm: useForm,
9
- useFormContext: useFormContext,
10
- useFormInstance: useFormInstance,
11
- useFormCore: useFormCore
12
- });
13
- export { Form, FormItem, useForm, useFormContext, useFormInstance, useFormCore };
14
- export default Form;
15
- export * from './interface';
16
- export * from './constants';
17
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJGb3JtIiwiRm9ybUJhc2UiLCJGb3JtSXRlbSIsInVzZUZvcm1Db250ZXh0IiwidXNlRm9ybUluc3RhbmNlIiwidXNlRm9ybSIsInVzZUZvcm1Db3JlIiwiT2JqZWN0IiwiYXNzaWduIiwiSXRlbSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsSUFBSSxJQUFJQyxRQUFRLFFBQVEsUUFBUTtBQUN6QyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxjQUFjLEVBQUVDLGVBQWUsUUFBUSxXQUFXO0FBQzNELFNBQVNDLE9BQU8sUUFBUSxpQkFBaUI7QUFDekMsU0FBU0MsV0FBVyxRQUFRLHFCQUFxQjtBQUdqRCxJQUFNTixJQUFJLEdBQUdPLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDUCxRQUFRLEVBQUU7RUFDbkNRLElBQUksRUFBRVAsUUFBUTtFQUNkRyxPQUFPLEVBQVBBLE9BQU87RUFDUEYsY0FBYyxFQUFkQSxjQUFjO0VBQ2RDLGVBQWUsRUFBZkEsZUFBZTtFQUNmRSxXQUFXLEVBQVhBO0FDREYsQ0RFQyxDQUE2QjtBQUU5QixTQUFTTixJQUFJLEVBQUVFLFFBQVEsRUFBRUcsT0FBTyxFQUFFRixjQUFjLEVBQUVDLGVBQWUsRUFBRUUsV0FBVztBQUM5RSxlQUFlTixJQUFJO0FBQ25CLGNBQWMsYUFBYTtBQUMzQixjQUFjLGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBGb3JtIGFzIEZvcm1CYXNlIH0gZnJvbSAnLi9Gb3JtJztcbmltcG9ydCB7IEZvcm1JdGVtIH0gZnJvbSAnLi9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuL2hvb2tzL3VzZUZvcm0nO1xuaW1wb3J0IHsgdXNlRm9ybUNvcmUgfSBmcm9tICcuL2hvb2tzL3VzZUZvcm1Db3JlJztcbmNvbnN0IEZvcm0gPSBPYmplY3QuYXNzaWduKEZvcm1CYXNlLCB7XG4gICAgSXRlbTogRm9ybUl0ZW0sXG4gICAgdXNlRm9ybSxcbiAgICB1c2VGb3JtQ29udGV4dCxcbiAgICB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlRm9ybUNvcmUsXG59KTtcbmV4cG9ydCB7IEZvcm0sIEZvcm1JdGVtLCB1c2VGb3JtLCB1c2VGb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtQ29yZSB9O1xuZXhwb3J0IGRlZmF1bHQgRm9ybTtcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9Gb3JtL2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9Gb3JtL2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +0,0 @@
1
- .om-component-ui-form{width:100%}.om-component-ui-form-item{margin-bottom:var(--om-spacing-300,12px)}.om-component-ui-form-item-label-wrapper-vertical,.om-component-ui-form-item-small{margin-bottom:var(--om-spacing-200,8px)}.om-component-ui-form-item-label{display:inline;padding:0}.om-component-ui-form-item-label-required:before{margin-right:var(--om-spacing-050,2px);color:var(--om-text-danger,#ae0000);content:"*"}.om-component-ui-form-item-label-wrapper-left{text-align:left}.om-component-ui-form-item-label-wrapper-right{text-align:right}.om-component-ui-form-item-error,.om-component-ui-form-item-help{margin-top:var(--om-spacing-050,2px)}
@@ -1,2 +0,0 @@
1
- import './Form.css';
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1 +0,0 @@
1
- import './Form.css';
@@ -1,2 +0,0 @@
1
- import './Form.css';
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,4 +0,0 @@
1
- import './style';
2
- import type { FormInstance, FormProps } from './interface';
3
- export declare const Form: import("react").NamedExoticComponent<FormProps & import("react").RefAttributes<FormInstance>>;
4
- export default Form;
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.Form = void 0;
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- var _react = require("react");
10
- var _classnames = _interopRequireDefault(require("../../utils/classnames"));
11
- var _context = require("./context");
12
- var _useFormCore2 = require("./hooks/useFormCore");
13
- require("./style");
14
- var __rest = void 0 && (void 0).__rest || function (s, e) {
15
- var t = {};
16
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
- var FormBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
23
- var children = props.children,
24
- _props$className = props.className,
25
- className = _props$className === void 0 ? '' : _props$className,
26
- _props$prefixCls = props.prefixCls,
27
- prefixCls = _props$prefixCls === void 0 ? 'form' : _props$prefixCls,
28
- initialValues = props.initialValues,
29
- onFinish = props.onFinish,
30
- onFinishFailed = props.onFinishFailed,
31
- onValuesChange = props.onValuesChange,
32
- onReset = props.onReset,
33
- _props$size = props.size,
34
- size = _props$size === void 0 ? 'middle' : _props$size,
35
- _props$labelAlign = props.labelAlign,
36
- labelAlign = _props$labelAlign === void 0 ? 'left' : _props$labelAlign,
37
- _props$disabled = props.disabled,
38
- disabled = _props$disabled === void 0 ? false : _props$disabled,
39
- _props$colon = props.colon,
40
- colon = _props$colon === void 0 ? true : _props$colon,
41
- _props$requiredMark = props.requiredMark,
42
- requiredMark = _props$requiredMark === void 0 ? true : _props$requiredMark,
43
- _props$validateTrigge = props.validateTrigger,
44
- validateTrigger = _props$validateTrigge === void 0 ? 'onChange' : _props$validateTrigge,
45
- rest = __rest(props, ["children", "className", "prefixCls", "initialValues", "onFinish", "onFinishFailed", "onValuesChange", "onReset", "size", "labelAlign", "disabled", "colon", "requiredMark", "validateTrigger"]);
46
- var classes = (0, _classnames["default"])(prefixCls);
47
- var _useFormCore = (0, _useFormCore2.useFormCore)({
48
- initialValues: initialValues,
49
- onFinish: onFinish,
50
- onFinishFailed: onFinishFailed,
51
- onValuesChange: onValuesChange,
52
- onReset: onReset,
53
- size: size,
54
- labelAlign: labelAlign,
55
- disabled: disabled,
56
- colon: colon,
57
- requiredMark: requiredMark,
58
- validateTrigger: validateTrigger
59
- }),
60
- contextValue = _useFormCore.contextValue,
61
- formInstance = _useFormCore.formInstance,
62
- handleSubmit = _useFormCore.handleSubmit,
63
- handleReset = _useFormCore.handleReset;
64
- (0, _react.useImperativeHandle)(ref, function () {
65
- return formInstance;
66
- });
67
- return (0, _jsxRuntime.jsx)(_context.FormContext.Provider, {
68
- value: contextValue,
69
- children: (0, _jsxRuntime.jsx)("form", Object.assign({}, rest, {
70
- className: classes(undefined, className),
71
- onSubmit: handleSubmit,
72
- onReset: handleReset,
73
- children: children
74
- }))
75
- });
76
- });
77
- FormBase.displayName = 'Form';
78
- var Form = exports.Form = /*#__PURE__*/(0, _react.memo)(FormBase);
79
- var _default = exports["default"] = Form;
80
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb250ZXh0IiwiX3VzZUZvcm1Db3JlMiIsIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiRm9ybUJhc2UiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJjaGlsZHJlbiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiaW5pdGlhbFZhbHVlcyIsIm9uRmluaXNoIiwib25GaW5pc2hGYWlsZWQiLCJvblZhbHVlc0NoYW5nZSIsIm9uUmVzZXQiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9wcm9wcyRjb2xvbiIsImNvbG9uIiwiX3Byb3BzJHJlcXVpcmVkTWFyayIsInJlcXVpcmVkTWFyayIsIl9wcm9wcyR2YWxpZGF0ZVRyaWdnZSIsInZhbGlkYXRlVHJpZ2dlciIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VGb3JtQ29yZSIsInVzZUZvcm1Db3JlIiwiY29udGV4dFZhbHVlIiwiZm9ybUluc3RhbmNlIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlUmVzZXQiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiX2pzeCIsIkZvcm1Db250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImFzc2lnbiIsInVuZGVmaW5lZCIsIm9uU3VibWl0IiwiZGlzcGxheU5hbWUiLCJGb3JtIiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBQSxPQUFBO0FESkEsSUFBSU0sTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxD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QUFBLEVBQUNDLG9CQUFXLENBQUNDLFFBQVEsRUFBQTtJQUFDQyxLQUFLLEVBQUVSLFlBQVk7SUFBQTNCLFFBQUEsRUFDdkMsSUFBQWdDLGVBQUEsRUFBQSxNQUFBLEVBQUE3QyxNQUFBLENBQUFpRCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ01kLElBQUksRUFBQTtNQUNScEIsU0FBUyxFQUFFcUIsT0FBTyxDQUFDYyxTQUFTLEVBQUVuQyxTQUFTLENBQUM7TUFDeENvQyxRQUFRLEVBQUVULFlBQVk7TUFDdEJwQixPQUFPLEVBQUVxQixXQUFXO01BQUE5QixRQUFBLEVBRW5CQTtJQUFRLENBQUEsQ0FBQTtFQUNKLENBQUEsQ0FDYztBQUUzQixDQUFDLENBQUM7QUFFRkosUUFBUSxDQUFDMkMsV0FBVyxHQUFHLE1BQU07QUFFdEIsSUFBTUMsSUFBSSxHQUFBQyxPQUFBLENBQUFELElBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDOUMsUUFBUSxDQUFDO0FBQUMsSUFBQStDLFFBQUEsR0FBQUYsT0FBQSxjQUVwQkQsSUFBSSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vRm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VGb3JtQ29yZSB9IGZyb20gJy4vaG9va3MvdXNlRm9ybUNvcmUnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IEZvcm1CYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnZm9ybScsIGluaXRpYWxWYWx1ZXMsIG9uRmluaXNoLCBvbkZpbmlzaEZhaWxlZCwgb25WYWx1ZXNDaGFuZ2UsIG9uUmVzZXQsIHNpemUgPSAnbWlkZGxlJywgbGFiZWxBbGlnbiA9ICdsZWZ0JywgZGlzYWJsZWQgPSBmYWxzZSwgY29sb24gPSB0cnVlLCByZXF1aXJlZE1hcmsgPSB0cnVlLCB2YWxpZGF0ZVRyaWdnZXIgPSAnb25DaGFuZ2UnIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJpbml0aWFsVmFsdWVzXCIsIFwib25GaW5pc2hcIiwgXCJvbkZpbmlzaEZhaWxlZFwiLCBcIm9uVmFsdWVzQ2hhbmdlXCIsIFwib25SZXNldFwiLCBcInNpemVcIiwgXCJsYWJlbEFsaWduXCIsIFwiZGlzYWJsZWRcIiwgXCJjb2xvblwiLCBcInJlcXVpcmVkTWFya1wiLCBcInZhbGlkYXRlVHJpZ2dlclwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB7IGNvbnRleHRWYWx1ZSwgZm9ybUluc3RhbmNlLCBoYW5kbGVTdWJtaXQsIGhhbmRsZVJlc2V0IH0gPSB1c2VGb3JtQ29yZSh7XG4gICAgICAgIGluaXRpYWxWYWx1ZXMsXG4gICAgICAgIG9uRmluaXNoLFxuICAgICAgICBvbkZpbmlzaEZhaWxlZCxcbiAgICAgICAgb25WYWx1ZXNDaGFuZ2UsXG4gICAgICAgIG9uUmVzZXQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBjb2xvbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+IGZvcm1JbnN0YW5jZSk7XG4gICAgcmV0dXJuIChfanN4KEZvcm1Db250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBjb250ZXh0VmFsdWUsIGNoaWxkcmVuOiBfanN4KFwiZm9ybVwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGNsYXNzTmFtZSksIG9uU3VibWl0OiBoYW5kbGVTdWJtaXQsIG9uUmVzZXQ6IGhhbmRsZVJlc2V0LCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpIH0pKTtcbn0pO1xuRm9ybUJhc2UuZGlzcGxheU5hbWUgPSAnRm9ybSc7XG5leHBvcnQgY29uc3QgRm9ybSA9IG1lbW8oRm9ybUJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgRm9ybTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { FormItemProps } from './interface';
3
- export declare const FormItem: React.NamedExoticComponent<FormItemProps>;
4
- export default FormItem;