@1money/component-ui 0.0.74 → 0.0.76
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.
- package/es/components/Dialog/Dialog.js +7 -39
- package/es/components/Dialog/constants.d.ts +0 -3
- package/es/components/Dialog/constants.js +1 -4
- package/es/components/Dialog/style/Dialog.css +0 -21
- package/es/components/ProForm/ProForm.js +46 -33
- package/es/components/ProForm/ProFormDependency.js +6 -16
- package/es/components/ProForm/ProFormItem.js +5 -7
- package/es/components/ProForm/ProFormList.js +112 -40
- package/es/components/ProForm/core/constants.d.ts +2 -0
- package/es/components/ProForm/core/constants.js +7 -1
- package/es/components/ProForm/core/devWarning.d.ts +3 -0
- package/es/components/ProForm/core/devWarning.js +22 -0
- package/es/components/ProForm/core/formStore.d.ts +10 -2
- package/es/components/ProForm/core/formStore.js +21 -2
- package/es/components/ProForm/core/hooks/useForm.js +246 -103
- package/es/components/ProForm/core/hooks/useFormCore.js +134 -28
- package/es/components/ProForm/core/interface.d.ts +124 -49
- package/es/components/ProForm/core/runRules.d.ts +44 -12
- package/es/components/ProForm/core/runRules.js +584 -133
- package/es/components/ProForm/core/useFormItem.d.ts +6 -7
- package/es/components/ProForm/core/useFormItem.js +44 -22
- package/es/components/ProForm/core/validationError.d.ts +13 -0
- package/es/components/ProForm/core/validationError.js +29 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
- package/es/components/ProForm/fields/ProFormFieldSet.js +51 -12
- package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
- package/es/components/ProForm/fields/ProFormSelect.js +13 -7
- package/es/components/ProForm/fields/createProFormField.js +18 -25
- package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/es/components/ProForm/index.d.ts +2 -1
- package/es/components/ProForm/index.js +4 -1
- package/es/components/ProForm/interface.d.ts +31 -40
- package/es/components/ProForm/layouts/QueryFilter.js +24 -16
- package/es/components/ProForm/style/ProForm.css +0 -1
- package/es/components/ProForm/utils.d.ts +8 -0
- package/es/components/ProForm/utils.js +51 -3
- package/es/components/Table/core/useTableSetup.js +2 -2
- package/es/components/Table/interface.d.ts +1 -1
- package/es/index.css +1 -1
- package/lib/components/Dialog/Dialog.js +6 -38
- package/lib/components/Dialog/constants.d.ts +0 -3
- package/lib/components/Dialog/constants.js +1 -4
- package/lib/components/Dialog/style/Dialog.css +0 -21
- package/lib/components/ProForm/ProForm.js +45 -32
- package/lib/components/ProForm/ProFormDependency.js +5 -15
- package/lib/components/ProForm/ProFormItem.js +5 -7
- package/lib/components/ProForm/ProFormList.js +110 -38
- package/lib/components/ProForm/core/constants.d.ts +2 -0
- package/lib/components/ProForm/core/constants.js +8 -2
- package/lib/components/ProForm/core/devWarning.d.ts +3 -0
- package/lib/components/ProForm/core/devWarning.js +29 -0
- package/lib/components/ProForm/core/formStore.d.ts +10 -2
- package/lib/components/ProForm/core/formStore.js +23 -2
- package/lib/components/ProForm/core/hooks/useForm.js +242 -99
- package/lib/components/ProForm/core/hooks/useFormCore.js +133 -27
- package/lib/components/ProForm/core/interface.d.ts +124 -49
- package/lib/components/ProForm/core/runRules.d.ts +44 -12
- package/lib/components/ProForm/core/runRules.js +587 -133
- package/lib/components/ProForm/core/useFormItem.d.ts +6 -7
- package/lib/components/ProForm/core/useFormItem.js +43 -21
- package/lib/components/ProForm/core/validationError.d.ts +13 -0
- package/lib/components/ProForm/core/validationError.js +36 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
- package/lib/components/ProForm/fields/ProFormFieldSet.js +51 -12
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
- package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
- package/lib/components/ProForm/fields/createProFormField.js +18 -25
- package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
- package/lib/components/ProForm/index.d.ts +2 -1
- package/lib/components/ProForm/index.js +10 -1
- package/lib/components/ProForm/interface.d.ts +31 -40
- package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
- package/lib/components/ProForm/style/ProForm.css +0 -1
- package/lib/components/ProForm/utils.d.ts +8 -0
- package/lib/components/ProForm/utils.js +52 -3
- package/lib/components/Table/core/useTableSetup.js +2 -2
- package/lib/components/Table/interface.d.ts +1 -1
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +42 -36
- package/scripts/mcp-server/index.generated.json +23 -67
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { FormSize, LabelAlign,
|
|
2
|
+
import type { FormRule, FormSize, LabelAlign, ValidateStatus, ValidateTriggerProp } from './interface';
|
|
3
3
|
export interface UseFormItemOptions {
|
|
4
4
|
name?: string;
|
|
5
|
-
rules?:
|
|
6
|
-
required?: boolean;
|
|
5
|
+
rules?: FormRule[];
|
|
7
6
|
validateStatus?: ValidateStatus;
|
|
8
7
|
/** Prop name the controlled value is injected under (e.g. `checked` for Switch/Checkbox). */
|
|
9
8
|
valuePropName?: string;
|
|
10
9
|
/** Debounce (ms) applied to onChange-triggered validation. */
|
|
11
10
|
validateDebounce?: number;
|
|
11
|
+
/** Item-level validateTrigger — overrides the form-level setting. */
|
|
12
|
+
validateTrigger?: ValidateTriggerProp;
|
|
12
13
|
}
|
|
13
14
|
export interface UseFormItemReturn {
|
|
14
15
|
fieldValue: unknown;
|
|
15
|
-
fieldError:
|
|
16
|
-
fieldWarning:
|
|
16
|
+
fieldError: ReactNode | undefined;
|
|
17
|
+
fieldWarning: ReactNode | undefined;
|
|
17
18
|
fieldValidating: boolean;
|
|
18
19
|
validateStatus: ValidateStatus | undefined;
|
|
19
|
-
isRequired: boolean;
|
|
20
20
|
size: FormSize;
|
|
21
21
|
labelAlign: LabelAlign;
|
|
22
|
-
requiredMark: boolean;
|
|
23
22
|
/**
|
|
24
23
|
* Clone a form-component child injecting value/onChange/onBlur/status.
|
|
25
24
|
* Form `size` cascades into size-aware controls as a default — an explicit
|
|
@@ -71,26 +71,29 @@ function useFormItem(options) {
|
|
|
71
71
|
var name = options.name,
|
|
72
72
|
_options$rules = options.rules,
|
|
73
73
|
rules = _options$rules === void 0 ? [] : _options$rules,
|
|
74
|
-
required = options.required,
|
|
75
74
|
validateStatus = options.validateStatus,
|
|
76
75
|
_options$valuePropNam = options.valuePropName,
|
|
77
76
|
valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
|
|
78
|
-
validateDebounce = options.validateDebounce
|
|
77
|
+
validateDebounce = options.validateDebounce,
|
|
78
|
+
itemValidateTrigger = options.validateTrigger;
|
|
79
79
|
var _useProFormStable = (0, _context2.useProFormStable)(),
|
|
80
|
+
formInstance = _useProFormStable.formInstance,
|
|
80
81
|
setFieldValue = _useProFormStable.setFieldValue,
|
|
82
|
+
setFieldError = _useProFormStable.setFieldError,
|
|
83
|
+
setFieldWarning = _useProFormStable.setFieldWarning,
|
|
81
84
|
validateField = _useProFormStable.validateField,
|
|
82
85
|
validateFieldAsync = _useProFormStable.validateFieldAsync,
|
|
83
86
|
registerField = _useProFormStable.registerField,
|
|
84
|
-
|
|
87
|
+
retainField = _useProFormStable.retainField,
|
|
88
|
+
releaseField = _useProFormStable.releaseField,
|
|
85
89
|
size = _useProFormStable.size,
|
|
86
90
|
labelAlign = _useProFormStable.labelAlign,
|
|
87
|
-
|
|
88
|
-
validateTrigger = _useProFormStable.validateTrigger,
|
|
91
|
+
formValidateTrigger = _useProFormStable.validateTrigger,
|
|
89
92
|
formDisabled = _useProFormStable.disabled;
|
|
90
93
|
var store = (0, _context2.useProFormStore)();
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
+
// The item-level validateTrigger overrides the form-level one;
|
|
95
|
+
// the result is the set of interactive events that validate this field.
|
|
96
|
+
var activeTriggers = (0, _runRules.normalizeTriggers)(itemValidateTrigger, formValidateTrigger);
|
|
94
97
|
// Per-field store subscription: this item re-renders ONLY when its own
|
|
95
98
|
// value/error/warning/validating slice changes — typing in a sibling field
|
|
96
99
|
// produces an equal tuple and the selector short-circuits.
|
|
@@ -105,17 +108,18 @@ function useFormItem(options) {
|
|
|
105
108
|
fieldWarning = _useStoreSelector2[2],
|
|
106
109
|
fieldValidating = _useStoreSelector2[3];
|
|
107
110
|
var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
|
|
108
|
-
//
|
|
109
|
-
//
|
|
111
|
+
// Trigger filtering needs resolved rules — a function-form rule's
|
|
112
|
+
// validateTrigger is only known after resolving it against the live values.
|
|
110
113
|
var runValidate = (0, _useEventCallback["default"])(function (value, trigger) {
|
|
111
114
|
if (!name || rules.length === 0) return true;
|
|
112
|
-
var
|
|
115
|
+
var resolved = (0, _runRules.resolveRules)(rules, store.getState().values, formInstance);
|
|
116
|
+
var applicable = (0, _runRules.filterRulesByTrigger)(resolved, trigger, activeTriggers, name);
|
|
113
117
|
if (applicable.length === 0) return true;
|
|
114
118
|
return validateField(name, applicable, value);
|
|
115
119
|
});
|
|
116
120
|
var runValidateAsync = (0, _useEventCallback["default"])(function (value, trigger) {
|
|
117
121
|
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
118
|
-
var applicable;
|
|
122
|
+
var resolved, applicable;
|
|
119
123
|
return _regenerator["default"].wrap(function (_context) {
|
|
120
124
|
while (1) switch (_context.prev = _context.next) {
|
|
121
125
|
case 0:
|
|
@@ -125,7 +129,8 @@ function useFormItem(options) {
|
|
|
125
129
|
}
|
|
126
130
|
return _context.abrupt("return");
|
|
127
131
|
case 1:
|
|
128
|
-
|
|
132
|
+
resolved = (0, _runRules.resolveRules)(rules, store.getState().values, formInstance);
|
|
133
|
+
applicable = (0, _runRules.filterRulesByTrigger)(resolved, trigger, activeTriggers, name);
|
|
129
134
|
if (!(applicable.length === 0)) {
|
|
130
135
|
_context.next = 2;
|
|
131
136
|
break;
|
|
@@ -193,17 +198,36 @@ function useFormItem(options) {
|
|
|
193
198
|
}
|
|
194
199
|
(_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
|
|
195
200
|
});
|
|
201
|
+
// A FRESH field instance must not inherit error/warning meta stamped on the
|
|
202
|
+
// same name by a previous, since-unmounted instance (errors outlive
|
|
203
|
+
// unregisterField by design — list remapping depends on that). MOUNT only:
|
|
204
|
+
// a NAME change must not clear, or ProFormList's meta remapping (which
|
|
205
|
+
// renames rows positionally) would lose the very meta it just moved.
|
|
206
|
+
(0, _react.useEffect)(function () {
|
|
207
|
+
if (name) {
|
|
208
|
+
setFieldError(name, null);
|
|
209
|
+
setFieldWarning(name, null);
|
|
210
|
+
}
|
|
211
|
+
// Mount-only by design (see above).
|
|
212
|
+
}, []);
|
|
213
|
+
// Mount-counted lifetime: releaseField removes the rules only when the LAST
|
|
214
|
+
// same-name instance unmounts — a memo-bailed survivor (which won't
|
|
215
|
+
// re-render to re-register) keeps its registration intact. Declared BEFORE
|
|
216
|
+
// the register effect: retain must run first so the registration below is
|
|
217
|
+
// classified as instance-owned.
|
|
218
|
+
(0, _react.useEffect)(function () {
|
|
219
|
+
if (!name) return;
|
|
220
|
+
retainField(name);
|
|
221
|
+
return function () {
|
|
222
|
+
releaseField(name);
|
|
223
|
+
};
|
|
224
|
+
}, [name]);
|
|
196
225
|
// Keep the registry in sync with the LATEST rules every render (registration
|
|
197
226
|
// is a cheap ref mutation): dynamic rules (e.g. required toggled by another
|
|
198
227
|
// field) must be visible to submit-time validation, not just onChange.
|
|
199
228
|
(0, _react.useEffect)(function () {
|
|
200
229
|
if (name && registerField) registerField(name, rules);
|
|
201
230
|
});
|
|
202
|
-
(0, _react.useEffect)(function () {
|
|
203
|
-
return function () {
|
|
204
|
-
if (name && unregisterField) unregisterField(name);
|
|
205
|
-
};
|
|
206
|
-
}, [name]);
|
|
207
231
|
var injectField = function injectField(child) {
|
|
208
232
|
var _a;
|
|
209
233
|
if (!name || ! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
|
|
@@ -240,11 +264,9 @@ function useFormItem(options) {
|
|
|
240
264
|
fieldWarning: fieldWarning,
|
|
241
265
|
fieldValidating: fieldValidating,
|
|
242
266
|
validateStatus: finalStatus,
|
|
243
|
-
isRequired: isRequired,
|
|
244
267
|
size: size,
|
|
245
268
|
labelAlign: labelAlign,
|
|
246
|
-
requiredMark: requiredMark,
|
|
247
269
|
injectField: injectField
|
|
248
270
|
};
|
|
249
271
|
}
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2syIiwiX2NvbnRleHQyIiwiX2Zvcm1TdG9yZSIsIl9wYXRoVXRpbHMiLCJfcnVuUnVsZXMiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJldmVudCIsInRhcmdldCIsInVzZUZvcm1JdGVtIiwib3B0aW9ucyIsIl90aGlzIiwibmFtZSIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJyZXF1aXJlZCIsInZhbGlkYXRlU3RhdHVzIiwiX29wdGlvbnMkdmFsdWVQcm9wTmFtIiwidmFsaWRhdGVEZWJvdW5jZSIsIl91c2VQcm9Gb3JtU3RhYmxlIiwidXNlUHJvRm9ybVN0YWJsZSIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiZm9ybURpc2FibGVkIiwiZGlzYWJsZWQiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsImlzUmVxdWlyZWQiLCJCb29sZWFuIiwic29tZSIsInJ1bGUiLCJfdXNlU3RvcmVTZWxlY3RvciIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwiZ2V0TmVzdGVkVmFsdWUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInZhbGlkYXRpbmciLCJzaGFsbG93RXF1YWxBcnJheXMiLCJfdXNlU3RvcmVTZWxlY3RvcjIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwidHJpZ2dlciIsImFwcGxpY2FibGUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsInJ1blZhbGlkYXRlQXN5bmMiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJhYnJ1cHQiLCJzdG9wIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJkZWJvdW5jZWRWYWxpZGF0ZSIsInJ1biIsImhhbmRsZUNoYW5nZSIsInRvdWNoZWQiLCJnZXRTdGF0ZSIsInNldFN0YXRlIiwiYXNzaWduIiwiX2RlZmluZVByb3BlcnR5MiIsImhhbmRsZUJsdXIiLCJjdXJyZW50VmFsdWUiLCJjaGlsZENhbGxiYWNrc1JlZiIsInVzZVJlZiIsImluamVjdGVkT25DaGFuZ2UiLCJfYjIiLCJfYSIsIl9iIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjdXJyZW50Iiwib25DaGFuZ2UiLCJjb25jYXQiLCJpbmplY3RlZE9uQmx1ciIsIl9iMyIsIl9sZW4yIiwiX2tleTIiLCJvbkJsdXIiLCJ1c2VFZmZlY3QiLCJpbmplY3RGaWVsZCIsImNoaWxkIiwiUmVhY3QiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiaW5qZWN0ZWRQcm9wcyIsInN0YXR1cyIsIlNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTIiwiY2xvbmVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsc0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUlxQixTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVgsd0JBQUFXLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEs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TyxJQUFJO01BQUU0RCxNQUFNLEVBQUU7SUFBTyxDQUFHLENBQUEsRUFHL0NwRixZQUFZLElBQUkwRSxVQUFVLENBQUN6RSxRQUFRLEtBQUsxQixTQUFTLElBQUk7TUFBRTBCLFFBQVEsRUFBRTtJQUFJLENBQUcsQ0FBQSxFQUd4RW9GLHFDQUEwQixDQUFDMUUsUUFBUSxDQUFDaUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxJQUN4REYsVUFBVSxDQUFDOUUsSUFBSSxLQUFLckIsU0FBUyxJQUFJO01BQUVxQixJQUFJLEVBQUpBO0lBQUksQ0FBRyxDQUM3QztJQUVELG9CQUFPNEUsaUJBQUssQ0FBQ2MsWUFBWSxDQUFDZixLQUFLLEVBQUVZLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNML0QsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZyQyxjQUFjLEVBQUVzQyxXQUFXO0lBQzNCcEIsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZSLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1p3RSxXQUFXLEVBQVhBO0VDM0VBLENENEVEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciB9IGZyb20gJy4vcnVuUnVsZXMnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMsIFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBCb29sZWFuKHJlcXVpcmVkIHx8IHJ1bGVzLnNvbWUoKHJ1bGUpID0+IHJ1bGUucmVxdWlyZWQpKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFJ1biBvbmx5IHRoZSBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBnaXZlbiBpbnRlcmFjdGl2ZSB0cmlnZ2VyOyBydWxlc1xuICAgIC8vIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsaWRhdGVUcmlnZ2VyIGZvbGxvdyB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihydWxlcywgdHJpZ2dlciwgdmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pKTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgLy8gdG91Y2hlZCBpcyBzZXQgYnkgdGhlIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgc2V0RmllbGRzVmFsdWUgZG9lcyBub3QgbWFyayBmaWVsZHMgdG91Y2hlZC5cbiAgICAgICAgICAgIGNvbnN0IHRvdWNoZWQgPSBzdG9yZS5nZXRTdGF0ZSgpLnRvdWNoZWQ7XG4gICAgICAgICAgICBpZiAoIXRvdWNoZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zZXRTdGF0ZSh7IHRvdWNoZWQ6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdG91Y2hlZCksIHsgW25hbWVdOiB0cnVlIH0pIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUgZnJvbSB0aGUgc3RvcmUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZVxuICAgICAgICAvLyB0aWNrIChjaGFuZ2Ug4oaSIGltbWVkaWF0ZSBibHVyKSBtdXN0IGJlIHZhbGlkYXRlZCwgbm90IHRoZSByZW5kZXItdGltZVxuICAgICAgICAvLyBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgbmFtZSlcbiAgICAgICAgICAgICAgICA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJ1blZhbGlkYXRlQXN5bmMoY3VycmVudFZhbHVlLCAnb25CbHVyJyk7XG4gICAgfSk7XG4gICAgLy8gTGF0ZXN0IGNoaWxkLXByb3ZpZGVkIGNhbGxiYWNrcywgY2FwdHVyZWQgYXQgaW5qZWN0RmllbGQgdGltZS4gVGhlIFNUQUJMRVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGJlbG93IGRlbGVnYXRlIHRocm91Z2ggdGhpcyByZWYgaW5zdGVhZCBvZiBiZWluZ1xuICAgIC8vIHJlY3JlYXRlZCBwZXIgcmVuZGVyIOKAlCBzbyBhIG1lbW9pemVkIGZpZWxkIGNvbXBvbmVudCBzZWVzIHNoYWxsb3ctZXF1YWxcbiAgICAvLyBwcm9wcyBhY3Jvc3MgcmVuZGVycyBhbmQgY2FuIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaXMgdHlwaW5nLlxuICAgIGNvbnN0IGNoaWxkQ2FsbGJhY2tzUmVmID0gdXNlUmVmKHt9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSwgLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSkpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdGVkT25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQmx1cikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgdGhlIHJlZ2lzdHJ5IGluIHN5bmMgd2l0aCB0aGUgTEFURVNUIHJ1bGVzIGV2ZXJ5IHJlbmRlciAocmVnaXN0cmF0aW9uXG4gICAgLy8gaXMgYSBjaGVhcCByZWYgbXV0YXRpb24pOiBkeW5hbWljIHJ1bGVzIChlLmcuIHJlcXVpcmVkIHRvZ2dsZWQgYnkgYW5vdGhlclxuICAgIC8vIGZpZWxkKSBtdXN0IGJlIHZpc2libGUgdG8gc3VibWl0LXRpbWUgdmFsaWRhdGlvbiwgbm90IGp1c3Qgb25DaGFuZ2UuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgIHJlZ2lzdGVyRmllbGQobmFtZSwgcnVsZXMpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wc1t2YWx1ZVByb3BOYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcgfHwgWydDaGVja2JveCcsICdTd2l0Y2gnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkNoYW5nZVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25CbHVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGluamVjdGVkUHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpLCAoZm9ybURpc2FibGVkICYmIGNoaWxkUHJvcHMuZGlzYWJsZWQgPT09IHVuZGVmaW5lZCAmJiB7IGRpc2FibGVkOiB0cnVlIH0pKSwgKFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgY2hpbGRQcm9wcy5zaXplID09PSB1bmRlZmluZWQgJiYgeyBzaXplIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
272
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2syIiwiX2NvbnRleHQyIiwiX2Zvcm1TdG9yZSIsIl9wYXRoVXRpbHMiLCJfcnVuUnVsZXMiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJldmVudCIsInRhcmdldCIsInVzZUZvcm1JdGVtIiwib3B0aW9ucyIsIl90aGlzIiwibmFtZSIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJ2YWxpZGF0ZVN0YXR1cyIsIl9vcHRpb25zJHZhbHVlUHJvcE5hbSIsInZhbGlkYXRlRGVib3VuY2UiLCJpdGVtVmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVUcmlnZ2VyIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiZm9ybUluc3RhbmNlIiwic2V0RmllbGRWYWx1ZSIsInNldEZpZWxkRXJyb3IiLCJzZXRGaWVsZFdhcm5pbmciLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInJldGFpbkZpZWxkIiwicmVsZWFzZUZpZWxkIiwic2l6ZSIsImxhYmVsQWxpZ24iLCJmb3JtVmFsaWRhdGVUcmlnZ2VyIiwiZm9ybURpc2FibGVkIiwiZGlzYWJsZWQiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsImFjdGl2ZVRyaWdnZXJzIiwibm9ybWFsaXplVHJpZ2dlcnMiLCJfdXNlU3RvcmVTZWxlY3RvciIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwiZ2V0TmVzdGVkVmFsdWUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInZhbGlkYXRpbmciLCJzaGFsbG93RXF1YWxBcnJheXMiLCJfdXNlU3RvcmVTZWxlY3RvcjIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwidHJpZ2dlciIsInJlc29sdmVkIiwicmVzb2x2ZVJ1bGVzIiwiZ2V0U3RhdGUiLCJhcHBsaWNhYmxlIiwiZmlsdGVyUnVsZXNCeVRyaWdnZXIiLCJydW5WYWxpZGF0ZUFzeW5jIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiYWJydXB0Iiwic3RvcCIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiZGVib3VuY2VkVmFsaWRhdGUiLCJydW4iLCJoYW5kbGVDaGFuZ2UiLCJ0b3VjaGVkIiwic2V0U3RhdGUiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQmx1ciIsImN1cnJlbnRWYWx1ZSIsImNoaWxkQ2FsbGJhY2tzUmVmIiwidXNlUmVmIiwiaW5qZWN0ZWRPbkNoYW5nZSIsIl9iMiIsIl9hIiwiX2IiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImN1cnJlbnQiLCJvbkNoYW5nZSIsImNvbmNhdCIsImluamVjdGVkT25CbHVyIiwiX2IzIiwiX2xlbjIiLCJfa2V5MiIsIm9uQmx1ciIsInVzZUVmZmVjdCIsImluamVjdEZpZWxkIiwiY2hpbGQiLCJSZWFjdCIsImlzVmFsaWRFbGVtZW50IiwiY2hpbGRQcm9wcyIsInByb3BzIiwiZGlzcGxheU5hbWUiLCJ0eXBlIiwiaXNGb3JtQ29tcG9uZW50IiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJwbGFjZWhvbGRlciIsInNhZmVWYWx1ZSIsIlRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMiLCJpbmplY3RlZFByb3BzIiwic3RhdHVzIiwiU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxzQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBSXFCLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxD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Q0FBRyxDQUM3QztJQUVELG9CQUFPMkUsaUJBQUssQ0FBQ2MsWUFBWSxDQUFDZixLQUFLLEVBQUVZLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNMakUsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2Z4QyxjQUFjLEVBQUV5QyxXQUFXO0lBQzNCekIsSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWd0UsV0FBVyxFQUFYQTtFQ3RGQSxDRHVGRDtBQUNIIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgdXNlRGVib3VuY2VkQ2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IsIHNoYWxsb3dFcXVhbEFycmF5cyB9IGZyb20gJy4vZm9ybVN0b3JlJztcbmltcG9ydCB7IGdldE5lc3RlZFZhbHVlIH0gZnJvbSAnLi9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyUnVsZXNCeVRyaWdnZXIsIG5vcm1hbGl6ZVRyaWdnZXJzLCByZXNvbHZlUnVsZXMgfSBmcm9tICcuL3J1blJ1bGVzJztcbmltcG9ydCB7IEZPUk1fQ09NUE9ORU5UX05BTUVTLCBTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUywgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUywgfSBmcm9tICcuL2NvbnN0YW50cyc7XG4vKipcbiAqIE5vcm1hbGlzZSBhIGNoYW5nZS1oYW5kbGVyIGFyZ3VtZW50OiB1bndyYXAgYGUudGFyZ2V0W3ZhbHVlUHJvcE5hbWVdYCAvXG4gKiBgZVt2YWx1ZVByb3BOYW1lXWAgKGUuZy4gQ2hlY2tib3ggZW1pdHMgYHsgY2hlY2tlZCB9YCksIGVsc2UgYGUudGFyZ2V0LnZhbHVlYCxcbiAqIGVsc2UgcGFzcyB0aGUgdmFsdWUgdGhyb3VnaCAoZS5nLiBTd2l0Y2ggZW1pdHMgdGhlIGJvb2xlYW4gZGlyZWN0bHkpLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRWYWx1ZShlLCB2YWx1ZVByb3BOYW1lID0gJ3ZhbHVlJykge1xuICAgIGlmIChlID09PSBudWxsIHx8IHR5cGVvZiBlICE9PSAnb2JqZWN0JylcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgY29uc3QgZXZlbnQgPSBlO1xuICAgIGlmICh2YWx1ZVByb3BOYW1lICE9PSAndmFsdWUnICYmIHZhbHVlUHJvcE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50W3ZhbHVlUHJvcE5hbWVdO1xuICAgIH1cbiAgICBpZiAoJ3RhcmdldCcgaW4gZXZlbnQgJiYgZXZlbnQudGFyZ2V0ICYmIHR5cGVvZiBldmVudC50YXJnZXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgaWYgKHZhbHVlUHJvcE5hbWUgaW4gdGFyZ2V0KVxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFt2YWx1ZVByb3BOYW1lXTtcbiAgICAgICAgaWYgKCd2YWx1ZScgaW4gdGFyZ2V0KVxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUl0ZW0ob3B0aW9ucykge1xuICAgIGNvbnN0IHsgbmFtZSwgcnVsZXMgPSBbXSwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB2YWxpZGF0ZVRyaWdnZXI6IGl0ZW1WYWxpZGF0ZVRyaWdnZXIsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHsgZm9ybUluc3RhbmNlLCBzZXRGaWVsZFZhbHVlLCBzZXRGaWVsZEVycm9yLCBzZXRGaWVsZFdhcm5pbmcsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgcmV0YWluRmllbGQsIHJlbGVhc2VGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgdmFsaWRhdGVUcmlnZ2VyOiBmb3JtVmFsaWRhdGVUcmlnZ2VyLCBkaXNhYmxlZDogZm9ybURpc2FibGVkLCB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gVGhlIGl0ZW0tbGV2ZWwgdmFsaWRhdGVUcmlnZ2VyIG92ZXJyaWRlcyB0aGUgZm9ybS1sZXZlbCBvbmU7XG4gICAgLy8gdGhlIHJlc3VsdCBpcyB0aGUgc2V0IG9mIGludGVyYWN0aXZlIGV2ZW50cyB0aGF0IHZhbGlkYXRlIHRoaXMgZmllbGQuXG4gICAgY29uc3QgYWN0aXZlVHJpZ2dlcnMgPSBub3JtYWxpemVUcmlnZ2VycyhpdGVtVmFsaWRhdGVUcmlnZ2VyLCBmb3JtVmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFRyaWdnZXIgZmlsdGVyaW5nIG5lZWRzIHJlc29sdmVkIHJ1bGVzIOKAlCBhIGZ1bmN0aW9uLWZvcm0gcnVsZSdzXG4gICAgLy8gdmFsaWRhdGVUcmlnZ2VyIGlzIG9ubHkga25vd24gYWZ0ZXIgcmVzb2x2aW5nIGl0IGFnYWluc3QgdGhlIGxpdmUgdmFsdWVzLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVSdWxlcyhydWxlcywgc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIGZvcm1JbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihyZXNvbHZlZCwgdHJpZ2dlciwgYWN0aXZlVHJpZ2dlcnMsIG5hbWUpO1xuICAgICAgICBpZiAoYXBwbGljYWJsZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlRmllbGQobmFtZSwgYXBwbGljYWJsZSwgdmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlQXN5bmMgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSwgdHJpZ2dlcikgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAoIW5hbWUgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVSdWxlcyhydWxlcywgc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIGZvcm1JbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihyZXNvbHZlZCwgdHJpZ2dlciwgYWN0aXZlVHJpZ2dlcnMsIG5hbWUpO1xuICAgICAgICBpZiAoYXBwbGljYWJsZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHlpZWxkIHZhbGlkYXRlRmllbGRBc3luYyhuYW1lLCB2YWx1ZSwgYXBwbGljYWJsZSk7XG4gICAgfSkpO1xuICAgIGNvbnN0IHsgcnVuOiBkZWJvdW5jZWRWYWxpZGF0ZSB9ID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlLCAnb25DaGFuZ2UnKTtcbiAgICB9LCB2YWxpZGF0ZURlYm91bmNlKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgc2V0RmllbGRWYWx1ZShuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgICAvLyB0b3VjaGVkIGlzIHNldCBieSB0aGUgdXNlciBjaGFuZ2UgdHJpZ2dlciDigJRcbiAgICAgICAgICAgIC8vIHByb2dyYW1tYXRpYyBzZXRGaWVsZHNWYWx1ZSBkb2VzIG5vdCBtYXJrIGZpZWxkcyB0b3VjaGVkLlxuICAgICAgICAgICAgY29uc3QgdG91Y2hlZCA9IHN0b3JlLmdldFN0YXRlKCkudG91Y2hlZDtcbiAgICAgICAgICAgIGlmICghdG91Y2hlZFtuYW1lXSkge1xuICAgICAgICAgICAgICAgIHN0b3JlLnNldFN0YXRlKHsgdG91Y2hlZDogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0b3VjaGVkKSwgeyBbbmFtZV06IHRydWUgfSkgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsaWRhdGVEZWJvdW5jZSAmJiB2YWxpZGF0ZURlYm91bmNlID4gMCkge1xuICAgICAgICAgICAgICAgIGRlYm91bmNlZFZhbGlkYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlLCAnb25DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgLy8gUmVhZCB0aGUgTElWRSB2YWx1ZSBmcm9tIHRoZSBzdG9yZSDigJQgYSBjaGFuZ2UgY29tbWl0dGVkIGluIHRoZSBzYW1lXG4gICAgICAgIC8vIHRpY2sgKGNoYW5nZSDihpIgaW1tZWRpYXRlIGJsdXIpIG11c3QgYmUgdmFsaWRhdGVkLCBub3QgdGhlIHJlbmRlci10aW1lXG4gICAgICAgIC8vIHNuYXBzaG90LlxuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJylcbiAgICAgICAgICAgICAgICA/IGdldE5lc3RlZFZhbHVlKHN0b3JlLmdldFN0YXRlKCkudmFsdWVzLCBuYW1lKVxuICAgICAgICAgICAgICAgIDogc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXNbbmFtZV0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgcnVuVmFsaWRhdGVBc3luYyhjdXJyZW50VmFsdWUsICdvbkJsdXInKTtcbiAgICB9KTtcbiAgICAvLyBMYXRlc3QgY2hpbGQtcHJvdmlkZWQgY2FsbGJhY2tzLCBjYXB0dXJlZCBhdCBpbmplY3RGaWVsZCB0aW1lLiBUaGUgU1RBQkxFXG4gICAgLy8gaW5qZWN0ZWQgaGFuZGxlcnMgYmVsb3cgZGVsZWdhdGUgdGhyb3VnaCB0aGlzIHJlZiBpbnN0ZWFkIG9mIGJlaW5nXG4gICAgLy8gcmVjcmVhdGVkIHBlciByZW5kZXIg4oCUIHNvIGEgbWVtb2l6ZWQgZmllbGQgY29tcG9uZW50IHNlZXMgc2hhbGxvdy1lcXVhbFxuICAgIC8vIHByb3BzIGFjcm9zcyByZW5kZXJzIGFuZCBjYW4gYmFpbCBvdXQgd2hpbGUgYW5vdGhlciBmaWVsZCBpcyB0eXBpbmcuXG4gICAgY29uc3QgY2hpbGRDYWxsYmFja3NSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IGluamVjdGVkT25DaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChlLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGhhbmRsZUNoYW5nZShleHRyYWN0RXZlbnRWYWx1ZShlLCB2YWx1ZVByb3BOYW1lKSk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgZSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5qZWN0ZWRPbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGhhbmRsZUJsdXIoKTtcbiAgICAgICAgKF9iID0gKF9hID0gY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCkub25CbHVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgLy8gQSBGUkVTSCBmaWVsZCBpbnN0YW5jZSBtdXN0IG5vdCBpbmhlcml0IGVycm9yL3dhcm5pbmcgbWV0YSBzdGFtcGVkIG9uIHRoZVxuICAgIC8vIHNhbWUgbmFtZSBieSBhIHByZXZpb3VzLCBzaW5jZS11bm1vdW50ZWQgaW5zdGFuY2UgKGVycm9ycyBvdXRsaXZlXG4gICAgLy8gdW5yZWdpc3RlckZpZWxkIGJ5IGRlc2lnbiDigJQgbGlzdCByZW1hcHBpbmcgZGVwZW5kcyBvbiB0aGF0KS4gTU9VTlQgb25seTpcbiAgICAvLyBhIE5BTUUgY2hhbmdlIG11c3Qgbm90IGNsZWFyLCBvciBQcm9Gb3JtTGlzdCdzIG1ldGEgcmVtYXBwaW5nICh3aGljaFxuICAgIC8vIHJlbmFtZXMgcm93cyBwb3NpdGlvbmFsbHkpIHdvdWxkIGxvc2UgdGhlIHZlcnkgbWV0YSBpdCBqdXN0IG1vdmVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBzZXRGaWVsZEVycm9yKG5hbWUsIG51bGwpO1xuICAgICAgICAgICAgc2V0RmllbGRXYXJuaW5nKG5hbWUsIG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE1vdW50LW9ubHkgYnkgZGVzaWduIChzZWUgYWJvdmUpLlxuICAgIH0sIFtdKTtcbiAgICAvLyBNb3VudC1jb3VudGVkIGxpZmV0aW1lOiByZWxlYXNlRmllbGQgcmVtb3ZlcyB0aGUgcnVsZXMgb25seSB3aGVuIHRoZSBMQVNUXG4gICAgLy8gc2FtZS1uYW1lIGluc3RhbmNlIHVubW91bnRzIOKAlCBhIG1lbW8tYmFpbGVkIHN1cnZpdm9yICh3aGljaCB3b24ndFxuICAgIC8vIHJlLXJlbmRlciB0byByZS1yZWdpc3Rlcikga2VlcHMgaXRzIHJlZ2lzdHJhdGlvbiBpbnRhY3QuIERlY2xhcmVkIEJFRk9SRVxuICAgIC8vIHRoZSByZWdpc3RlciBlZmZlY3Q6IHJldGFpbiBtdXN0IHJ1biBmaXJzdCBzbyB0aGUgcmVnaXN0cmF0aW9uIGJlbG93IGlzXG4gICAgLy8gY2xhc3NpZmllZCBhcyBpbnN0YW5jZS1vd25lZC5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIW5hbWUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHJldGFpbkZpZWxkKG5hbWUpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgcmVsZWFzZUZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgLy8gS2VlcCB0aGUgcmVnaXN0cnkgaW4gc3luYyB3aXRoIHRoZSBMQVRFU1QgcnVsZXMgZXZlcnkgcmVuZGVyIChyZWdpc3RyYXRpb25cbiAgICAvLyBpcyBhIGNoZWFwIHJlZiBtdXRhdGlvbik6IGR5bmFtaWMgcnVsZXMgKGUuZy4gcmVxdWlyZWQgdG9nZ2xlZCBieSBhbm90aGVyXG4gICAgLy8gZmllbGQpIG11c3QgYmUgdmlzaWJsZSB0byBzdWJtaXQtdGltZSB2YWxpZGF0aW9uLCBub3QganVzdCBvbkNoYW5nZS5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmFtZSAmJiByZWdpc3RlckZpZWxkKVxuICAgICAgICAgICAgcmVnaXN0ZXJGaWVsZChuYW1lLCBydWxlcyk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wc1t2YWx1ZVByb3BOYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcgfHwgWydDaGVja2JveCcsICdTd2l0Y2gnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkNoYW5nZVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25CbHVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGluamVjdGVkUHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpLCAoZm9ybURpc2FibGVkICYmIGNoaWxkUHJvcHMuZGlzYWJsZWQgPT09IHVuZGVmaW5lZCAmJiB7IGRpc2FibGVkOiB0cnVlIH0pKSwgKFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgY2hpbGRQcm9wcy5zaXplID09PSB1bmRlZmluZWQgJiYgeyBzaXplIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICBpbmplY3RGaWVsZCxcbiAgICB9O1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Rejection type of `validateFields`. Submit handlers use the `instanceof`
|
|
4
|
+
* check to tell a VALIDATION failure (route to `onFinishFailed` with the
|
|
5
|
+
* field errors) apart from a consumer `onFinish` rejection (which must NOT
|
|
6
|
+
* be reported as a validation failure).
|
|
7
|
+
*/
|
|
8
|
+
export declare class FormValidationError extends Error {
|
|
9
|
+
values: Record<string, unknown>;
|
|
10
|
+
errors: Record<string, ReactNode>;
|
|
11
|
+
constructor(values: Record<string, unknown>, errors: Record<string, ReactNode>);
|
|
12
|
+
}
|
|
13
|
+
export default FormValidationError;
|
|
@@ -0,0 +1,36 @@
|
|
|
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.FormValidationError = void 0;
|
|
8
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
14
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
15
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
16
|
+
/**
|
|
17
|
+
* Rejection type of `validateFields`. Submit handlers use the `instanceof`
|
|
18
|
+
* check to tell a VALIDATION failure (route to `onFinishFailed` with the
|
|
19
|
+
* field errors) apart from a consumer `onFinish` rejection (which must NOT
|
|
20
|
+
* be reported as a validation failure).
|
|
21
|
+
*/
|
|
22
|
+
var FormValidationError = exports.FormValidationError = /*#__PURE__*/function (_Error) {
|
|
23
|
+
function FormValidationError(values, errors) {
|
|
24
|
+
var _this;
|
|
25
|
+
(0, _classCallCheck2["default"])(this, FormValidationError);
|
|
26
|
+
_this = _callSuper(this, FormValidationError, ['Validation failed']);
|
|
27
|
+
_this.name = 'FormValidationError';
|
|
28
|
+
_this.values = values;
|
|
29
|
+
_this.errors = errors;
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
(0, _inherits2["default"])(FormValidationError, _Error);
|
|
33
|
+
return (0, _createClass2["default"])(FormValidationError);
|
|
34
|
+
}(/*#__PURE__*/(0, _wrapNativeSuper2["default"])(Error));
|
|
35
|
+
var _default = exports["default"] = FormValidationError;
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLmpzIl0sIm5hbWVzIjpbIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJleHBvcnRzIiwiX0Vycm9yIiwidmFsdWVzIiwiZXJyb3JzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2NhbGxTdXBlciIsIm5hbWUiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsIl93cmFwTmF0aXZlU3VwZXIyIiwiRXJyb3IiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FESEEsSUFNYUEsbUJBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsMEJBQUFFLE1BQUE7RUFJL0IsU0FBQUYsb0JBQVlHLE1BQStCLEVBQUVDLE1BQWlDLEVBQUE7SUFBQSxJQUFBQyxLQUFBO0lBQUEsSUFBQUMsZ0JBQUEsbUJBQUFOLG1CQUFBO0lBQzVFSyxLQUFBLEdBQUFFLFVBQUEsT0FBQVAsbUJBQUEsR0FBTSxtQkFBbUI7SUFDekJLLEtBQUEsQ0FBS0csSUFBSSxHQUFHLHFCQUFxQjtJQUNqQ0gsS0FBQSxDQUFLRixNQUFNLEdBQUdBLE1BQU07SUFDcEJFLEtBQUEsQ0FBS0QsTUFBTSxHQUFHQSxNQUFNO0lBQUMsT0FBQUMsS0FBQTtFQUN2QjtFQUFDLElBQUFJLFVBQUEsYUFBQVQsbUJBQUEsRUFBQUUsTUFBQTtFQUFBLFdBQUFRLGFBQUEsYUFBQVYsbUJBQUE7QUFBQSxtQkFBQVcsaUJBQUEsYUFUc0NDLEtBQUs7QUFBQSxJQUFBQyxRQUFBLEdBQUFaLE9BQUEsY0FZL0JELG1CQUFtQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS92YWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogUmVqZWN0aW9uIHR5cGUgb2YgYHZhbGlkYXRlRmllbGRzYC4gU3VibWl0IGhhbmRsZXJzIHVzZSB0aGUgYGluc3RhbmNlb2ZgXG4gKiBjaGVjayB0byB0ZWxsIGEgVkFMSURBVElPTiBmYWlsdXJlIChyb3V0ZSB0byBgb25GaW5pc2hGYWlsZWRgIHdpdGggdGhlXG4gKiBmaWVsZCBlcnJvcnMpIGFwYXJ0IGZyb20gYSBjb25zdW1lciBgb25GaW5pc2hgIHJlamVjdGlvbiAod2hpY2ggbXVzdCBOT1RcbiAqIGJlIHJlcG9ydGVkIGFzIGEgdmFsaWRhdGlvbiBmYWlsdXJlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZvcm1WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWVzLCBlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdGb3JtVmFsaWRhdGlvbkVycm9yJztcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEZvcm1WYWxpZGF0aW9uRXJyb3I7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -4,15 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.ProFormCheckboxGroup = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _react = require("react");
|
|
7
9
|
var _Checkbox = require("../../Checkbox");
|
|
8
10
|
var _createProFormField = require("./createProFormField");
|
|
9
11
|
var _utils = require("../utils");
|
|
12
|
+
function renderCheckboxGroupReadonly(value, props) {
|
|
13
|
+
if (!Array.isArray(value)) return (0, _utils.renderTextReadonly)(value);
|
|
14
|
+
if (value.length === 0) return '-';
|
|
15
|
+
// Labels are ReactNode — join with ', ' as element children rather than
|
|
16
|
+
// string-concatenating (which would collapse element labels to '').
|
|
17
|
+
return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
18
|
+
children: value.map(function (item, index) {
|
|
19
|
+
var _a;
|
|
20
|
+
return (0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
21
|
+
children: [index > 0 && ', ', (_a = (0, _utils.findOptionLabel)(props === null || props === void 0 ? void 0 : props.options, item)) !== null && _a !== void 0 ? _a : String(item)]
|
|
22
|
+
}, index);
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
}
|
|
10
26
|
var ProFormCheckboxGroup = exports.ProFormCheckboxGroup = (0, _createProFormField.createProFormField)({
|
|
11
27
|
component: _Checkbox.CheckboxGroup,
|
|
12
|
-
renderReadonly:
|
|
13
|
-
return (0, _utils.renderTextReadonly)(Array.isArray(value) ? value.join(', ') : value);
|
|
14
|
-
}
|
|
28
|
+
renderReadonly: renderCheckboxGroupReadonly
|
|
15
29
|
});
|
|
16
30
|
ProFormCheckboxGroup.displayName = 'ProFormCheckboxGroup';
|
|
17
31
|
var _default = exports["default"] = ProFormCheckboxGroup;
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9DaGVja2JveCIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJfdXRpbHMiLCJyZW5kZXJDaGVja2JveEdyb3VwUmVhZG9ubHkiLCJ2YWx1ZSIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwicmVuZGVyVGV4dFJlYWRvbmx5IiwibGVuZ3RoIiwiX2pzeCIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwibWFwIiwiaXRlbSIsImluZGV4IiwiX2EiLCJfanN4cyIsIkZyYWdtZW50IiwiZmluZE9wdGlvbkxhYmVsIiwib3B0aW9ucyIsIlN0cmluZyIsIlByb0Zvcm1DaGVja2JveEdyb3VwIiwiZXhwb3J0cyIsImNyZWF0ZVByb0Zvcm1GaWVsZCIsImNvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFQSxTQUFTSywyQkFBMkJBLENBQ2xDQyxLQUFjLEVBQ2RDLEtBQW1DLEVBQUE7RUFFbkMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFBSSx5QkFBa0IsRUFBQ0osS0FBSyxDQUFDO0VBQzNELElBQUlBLEtBQUssQ0FBQ0ssTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPLEdBQUc7RUFDbEM7RUFDQTtFQUNBLE9BQ0UsSUFBQUMsZUFBQSxFQUFBQyxvQkFBQSxFQUFBO0lBQUFDLFFBQUEsRUFDR1IsS0FBSyxDQUFDUyxHQUFHLENBQUMsVUFBQ0MsSUFBSSxFQUFFQyxLQUFLLEVBQUk7TURKckIsSUFBSUMsRUFBRTtNQ0lnQixPQUMxQixJQUFBQyxnQkFBQSxFQUFDQyxlQUFRLEVBQUE7UUFBQU4sUUFBQSxFQUFBLENBQ05HLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxFQUNqQixDQUFBQyxFQUFBLEdBQUEsSUFBQUcsc0JBQWUsRUFBQ2QsS0FBSyxLQUFBLElBQUEsSUFBTEEsS0FBSyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFMQSxLQUFLLENBQUVlLE9BQU8sRUFBRU4sSUFBSSxDQUFDLE1BQUEsSUFBQSxJQUFBRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUssTUFBTSxDQUFDUCxJQUFJLENBQUM7TUFBQSxDQUFBLEVBRnpDQyxLQUFLLENBR1Q7SUROWCxDQ09EO0VBQUMsQ0FBQSxDQUNEO0FBRVA7QUFFTyxJQUFNTyxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFxQjtFQUN6RUMsU0FBUyxFQUFFQyx1QkFBYTtFQUN4QkMsY0FBYyxFQUFFeEI7QURUbEIsQ0NVQyxDQUFDO0FBRUZtQixvQkFBb0IsQ0FBQ00sV0FBVyxHQUFHLHNCQUFzQjtBQUFDLElBQUFDLFFBQUEsR0FBQU4sT0FBQSxjQUUzQ0Qsb0JBQW9CIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENoZWNrYm94R3JvdXAgfSBmcm9tICcuLi8uLi9DaGVja2JveCc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5pbXBvcnQgeyBmaW5kT3B0aW9uTGFiZWwsIHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSh2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICByZXR1cm4gcmVuZGVyVGV4dFJlYWRvbmx5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIC8vIExhYmVscyBhcmUgUmVhY3ROb2RlIOKAlCBqb2luIHdpdGggJywgJyBhcyBlbGVtZW50IGNoaWxkcmVuIHJhdGhlciB0aGFuXG4gICAgLy8gc3RyaW5nLWNvbmNhdGVuYXRpbmcgKHdoaWNoIHdvdWxkIGNvbGxhcHNlIGVsZW1lbnQgbGFiZWxzIHRvICcnKS5cbiAgICByZXR1cm4gKF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiB2YWx1ZS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmICcsICcsIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgaXRlbSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFN0cmluZyhpdGVtKV0gfSwgaW5kZXgpKTtcbiAgICAgICAgfSkgfSkpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1DaGVja2JveEdyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENoZWNrYm94R3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSxcbn0pO1xuUHJvRm9ybUNoZWNrYm94R3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUNoZWNrYm94R3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUNoZWNrYm94R3JvdXA7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -10,9 +10,12 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
13
14
|
var _ProFormItem = require("../ProFormItem");
|
|
14
15
|
var _context = require("../context");
|
|
15
16
|
var _formStore = require("../core/formStore");
|
|
17
|
+
var _pathUtils = require("../core/pathUtils");
|
|
18
|
+
var _runRules = require("../core/runRules");
|
|
16
19
|
var _classnames = _interopRequireDefault(require("../../../utils/classnames"));
|
|
17
20
|
var _constants = require("../constants");
|
|
18
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -23,7 +26,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
23
26
|
label = props.label,
|
|
24
27
|
description = props.description,
|
|
25
28
|
rules = props.rules,
|
|
26
|
-
required = props.required,
|
|
27
29
|
feedback = props.feedback,
|
|
28
30
|
_props$gap = props.gap,
|
|
29
31
|
gap = _props$gap === void 0 ? 8 : _props$gap,
|
|
@@ -31,31 +33,69 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
31
33
|
children = props.children;
|
|
32
34
|
var _useProFormStable = (0, _context.useProFormStable)(),
|
|
33
35
|
setFieldValue = _useProFormStable.setFieldValue,
|
|
34
|
-
formInstance = _useProFormStable.formInstance
|
|
36
|
+
formInstance = _useProFormStable.formInstance,
|
|
37
|
+
validateField = _useProFormStable.validateField,
|
|
38
|
+
validateFieldAsync = _useProFormStable.validateFieldAsync,
|
|
39
|
+
formValidateTrigger = _useProFormStable.validateTrigger;
|
|
35
40
|
var store = (0, _context.useProFormStore)();
|
|
36
41
|
// Per-field subscription: re-render only when THIS set's array changes.
|
|
42
|
+
// Dot-paths resolve into the nested values like everywhere else.
|
|
37
43
|
var rawValue = (0, _formStore.useStoreSelector)(store, function (state) {
|
|
38
|
-
return name ? state.values
|
|
44
|
+
return name ? (0, _pathUtils.resolveValue)(state.values, name) : undefined;
|
|
39
45
|
});
|
|
40
46
|
var value = Array.isArray(rawValue) ? rawValue : [];
|
|
47
|
+
// The set validates like any other field: rules filtered by the form-level
|
|
48
|
+
// trigger config run on slot changes/blurs against the WHOLE array value.
|
|
49
|
+
var runTriggerValidation = (0, _useEventCallback["default"])(function (nextValue, trigger) {
|
|
50
|
+
if (!name || !rules || rules.length === 0) return;
|
|
51
|
+
var resolved = (0, _runRules.resolveRules)(rules, store.getState().values, formInstance);
|
|
52
|
+
var applicable = (0, _runRules.filterRulesByTrigger)(resolved, trigger, (0, _runRules.normalizeTriggers)(undefined, formValidateTrigger), name);
|
|
53
|
+
if (applicable.length === 0) return;
|
|
54
|
+
if (trigger === 'onChange') {
|
|
55
|
+
validateField(name, applicable, nextValue);
|
|
56
|
+
} else {
|
|
57
|
+
validateFieldAsync(name, nextValue, applicable);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
41
60
|
var itemIndex = -1;
|
|
42
61
|
var list = _react["default"].Children.map(children, function (child) {
|
|
43
62
|
var _a;
|
|
44
63
|
if (! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
|
|
45
64
|
itemIndex += 1;
|
|
46
65
|
var index = itemIndex;
|
|
66
|
+
var childProps = child.props;
|
|
47
67
|
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
48
68
|
// '' (not undefined) for empty slots — an input must not switch from
|
|
49
69
|
// uncontrolled to controlled on its first edit.
|
|
50
70
|
value: (_a = value[index]) !== null && _a !== void 0 ? _a : '',
|
|
51
71
|
onChange: function onChange(val) {
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
if (name) {
|
|
73
|
+
var newValue = (0, _toConsumableArray2["default"])(value);
|
|
74
|
+
newValue[index] = val && (0, _typeof2["default"])(val) === 'object' && 'target' in val ? val.target.value : val;
|
|
75
|
+
setFieldValue(name, newValue);
|
|
76
|
+
// A slot edit is a user change trigger — mark touched like any field.
|
|
77
|
+
if (!formInstance.isFieldTouched(name)) {
|
|
78
|
+
formInstance.setFieldTouched(name, true);
|
|
79
|
+
}
|
|
80
|
+
runTriggerValidation(newValue, 'onChange');
|
|
81
|
+
}
|
|
82
|
+
// CHAIN the slot child's own onChange — never overwrite it.
|
|
83
|
+
if (typeof childProps.onChange === 'function') {
|
|
84
|
+
for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
85
|
+
restArgs[_key - 1] = arguments[_key];
|
|
86
|
+
}
|
|
87
|
+
childProps.onChange.apply(childProps, [val].concat(restArgs));
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
onBlur: function onBlur() {
|
|
91
|
+
if (name) {
|
|
92
|
+
// Read the LIVE value — a change committed in the same tick must be
|
|
93
|
+
// the one validated, not the render-time snapshot.
|
|
94
|
+
var current = (0, _pathUtils.resolveValue)(store.getState().values, name);
|
|
95
|
+
runTriggerValidation(Array.isArray(current) ? current : [], 'onBlur');
|
|
96
|
+
}
|
|
97
|
+
if (typeof childProps.onBlur === 'function') {
|
|
98
|
+
childProps.onBlur.apply(childProps, arguments);
|
|
59
99
|
}
|
|
60
100
|
}
|
|
61
101
|
});
|
|
@@ -75,7 +115,6 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
75
115
|
description: description,
|
|
76
116
|
name: name,
|
|
77
117
|
rules: rules,
|
|
78
|
-
required: required,
|
|
79
118
|
feedback: feedback,
|
|
80
119
|
children: content
|
|
81
120
|
});
|
|
@@ -85,4 +124,4 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
|
|
|
85
124
|
ProFormFieldSetBase.displayName = 'ProFormFieldSet';
|
|
86
125
|
var ProFormFieldSet = exports.ProFormFieldSet = /*#__PURE__*/(0, _react.memo)(ProFormFieldSetBase);
|
|
87
126
|
var _default = exports["default"] = ProFormFieldSet;
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUHJvRm9ybUl0ZW0iLCJfY29udGV4dCIsIl9mb3JtU3RvcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiY29uY2F0IiwiQ1NTX1BSRUZJWCIsIlByb0Zvcm1GaWVsZFNldEJhc2UiLCJwcm9wcyIsIm5hbWUiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJyZXF1aXJlZCIsImZlZWRiYWNrIiwiX3Byb3BzJGdhcCIsImdhcCIsInN0eWxlIiwiY2hpbGRyZW4iLCJfdXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdGFibGUiLCJzZXRGaWVsZFZhbHVlIiwiZm9ybUluc3RhbmNlIiwic3RvcmUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJyYXdWYWx1ZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsInZhbHVlcyIsInVuZGVmaW5lZCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbUluZGV4IiwibGlzdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsIl9hIiwiaXNWYWxpZEVsZW1lbnQiLCJpbmRleCIsImNsb25lRWxlbWVudCIsIm9uQ2hhbmdlIiwidmFsIiwibmV3VmFsdWUiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiX3R5cGVvZjIiLCJ0YXJnZXQiLCJpc0ZpZWxkVG91Y2hlZCIsInNldEZpZWxkVG91Y2hlZCIsImNvbnRlbnQiLCJfanN4IiwiY2xhc3NOYW1lIiwiYXNzaWduIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJQcm9Gb3JtSXRlbSIsImRpc3BsYXlOYW1lIiwiUHJvRm9ybUZpZWxkU2V0IiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUEwQyxTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVIsd0JBQUFRLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssUUFBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixD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QSxDQUNJO0VBRWxCO0VBRUEsT0FBT0EsT0FBTztBQUNoQixDQUFDO0FBRUQ1QyxtQkFBbUIsQ0FBQ21ELFdBQVcsR0FBRyxpQkFBaUI7QUFFNUMsSUFBTUMsZUFBZSxHQUFBQyxPQUFBLENBQUFELGVBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDdEQsbUJBQW1CLENBQUM7QUFBQyxJQUFBdUQsUUFBQSxHQUFBRixPQUFBLGNBRTFDRCxlQUFlIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tZmllbGRzZXRgKTtcbmNvbnN0IFByb0Zvcm1GaWVsZFNldEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IG5hbWUsIGxhYmVsLCBkZXNjcmlwdGlvbiwgcnVsZXMsIHJlcXVpcmVkLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIC8vIFBlci1maWVsZCBzdWJzY3JpcHRpb246IHJlLXJlbmRlciBvbmx5IHdoZW4gVEhJUyBzZXQncyBhcnJheSBjaGFuZ2VzLlxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiAobmFtZSA/IHN0YXRlLnZhbHVlc1tuYW1lXSA6IHVuZGVmaW5lZCkpO1xuICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IFtdO1xuICAgIGxldCBpdGVtSW5kZXggPSAtMTtcbiAgICBjb25zdCBsaXN0ID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgaXRlbUluZGV4ICs9IDE7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbUluZGV4O1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAvLyAnJyAobm90IHVuZGVmaW5lZCkgZm9yIGVtcHR5IHNsb3RzIOKAlCBhbiBpbnB1dCBtdXN0IG5vdCBzd2l0Y2ggZnJvbVxuICAgICAgICAgICAgLy8gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWQgb24gaXRzIGZpcnN0IGVkaXQuXG4gICAgICAgICAgICB2YWx1ZTogKF9hID0gdmFsdWVbaW5kZXhdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuYW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBbLi4udmFsdWVdO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgPyB2YWwudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdmFsO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEEgc2xvdCBlZGl0IGlzIGEgdXNlciBjaGFuZ2UgdHJpZ2dlciDigJQgbWFyayB0b3VjaGVkIGxpa2UgYW55IGZpZWxkLlxuICAgICAgICAgICAgICAgIGlmICghZm9ybUluc3RhbmNlLmlzRmllbGRUb3VjaGVkKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgY29udGVudCA9IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIHN0eWxlOiBPYmplY3QuYXNzaWduKHsgZGlzcGxheTogJ2ZsZXgnLCBnYXAsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyB9LCBzdHlsZSksIGNoaWxkcmVuOiBsaXN0IH0pKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIG5hbWU6IG5hbWUsIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIGNoaWxkcmVuOiBjb250ZW50IH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG59O1xuUHJvRm9ybUZpZWxkU2V0QmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRmllbGRTZXQnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1GaWVsZFNldCA9IG1lbW8oUHJvRm9ybUZpZWxkU2V0QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRmllbGRTZXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfY29udGV4dCIsIl9mb3JtU3RvcmUiLCJfcGF0aFV0aWxzIiwiX3J1blJ1bGVzIiwiX2NsYXNzbmFtZXMiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiY29uY2F0IiwiQ1NTX1BSRUZJWCIsIlByb0Zvcm1GaWVsZFNldEJhc2UiLCJwcm9wcyIsIm5hbWUiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsIl9wcm9wcyRnYXAiLCJnYXAiLCJzdHlsZSIsImNoaWxkcmVuIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwic2V0RmllbGRWYWx1ZSIsImZvcm1JbnN0YW5jZSIsInZhbGlkYXRlRmllbGQiLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJmb3JtVmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVUcmlnZ2VyIiwic3RvcmUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJyYXdWYWx1ZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsInJlc29sdmVWYWx1ZSIsInZhbHVlcyIsInVuZGVmaW5lZCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwicnVuVHJpZ2dlclZhbGlkYXRpb24iLCJ1c2VFdmVudENhbGxiYWNrIiwibmV4dFZhbHVlIiwidHJpZ2dlciIsImxlbmd0aCIsInJlc29sdmVkIiwicmVzb2x2ZVJ1bGVzIiwiZ2V0U3RhdGUiLCJhcHBsaWNhYmxlIiwiZmlsdGVyUnVsZXNCeVRyaWdnZXIiLCJub3JtYWxpemVUcmlnZ2VycyIsIml0ZW1JbmRleCIsImxpc3QiLCJSZWFjdCIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJfYSIsImlzVmFsaWRFbGVtZW50IiwiaW5kZXgiLCJjaGlsZFByb3BzIiwiY2xvbmVFbGVtZW50Iiwib25DaGFuZ2UiLCJ2YWwiLCJuZXdWYWx1ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJfdHlwZW9mMiIsInRhcmdldCIsImlzRmllbGRUb3VjaGVkIiwic2V0RmllbGRUb3VjaGVkIiwiX2xlbiIsImFyZ3VtZW50cyIsInJlc3RBcmdzIiwiX2tleSIsImFwcGx5Iiwib25CbHVyIiwiY3VycmVudCIsImNvbnRlbnQiLCJfanN4IiwiY2xhc3NOYW1lIiwiYXNzaWduIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJQcm9Gb3JtSXRlbSIsImRpc3BsYXlOYW1lIiwiUHJvRm9ybUZpZWxkU2V0IiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxVQUFBLEdBQUFSLE9BQUE7QUFDQSxJ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RUFBQ0ssd0JBQVcsRUFBQTtNQUFDdEUsS0FBSyxFQUFFQSxLQUFLO01BQUVDLFdBQVcsRUFBRUEsV0FBVztNQUFFRixJQUFJLEVBQUVBLElBQUk7TUFBRUcsS0FBSyxFQUFFQSxLQUFLO01BQUVDLFFBQVEsRUFBRUEsUUFBUTtNQUFBSSxRQUFBLEVBQzlGeUQ7SUFBTyxDQUFBLENBQ0k7RUFFbEI7RUFFQSxPQUFPQSxPQUFPO0FBQ2hCLENBQUM7QUFFRG5FLG1CQUFtQixDQUFDMEUsV0FBVyxHQUFHLGlCQUFpQjtBQUU1QyxJQUFNQyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUM3RSxtQkFBbUIsQ0FBQztBQUFDLElBQUE4RSxRQUFBLEdBQUFGLE9BQUEsY0FFMUNELGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRmllbGRTZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IgfSBmcm9tICcuLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuLi9jb3JlL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnMsIHJlc29sdmVSdWxlcyB9IGZyb20gJy4uL2NvcmUvcnVuUnVsZXMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LWZpZWxkc2V0YCk7XG5jb25zdCBQcm9Gb3JtRmllbGRTZXRCYXNlID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBzZXRGaWVsZFZhbHVlLCBmb3JtSW5zdGFuY2UsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgdmFsaWRhdGVUcmlnZ2VyOiBmb3JtVmFsaWRhdGVUcmlnZ2VyLCB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gUGVyLWZpZWxkIHN1YnNjcmlwdGlvbjogcmUtcmVuZGVyIG9ubHkgd2hlbiBUSElTIHNldCdzIGFycmF5IGNoYW5nZXMuXG4gICAgLy8gRG90LXBhdGhzIHJlc29sdmUgaW50byB0aGUgbmVzdGVkIHZhbHVlcyBsaWtlIGV2ZXJ5d2hlcmUgZWxzZS5cbiAgICBjb25zdCByYXdWYWx1ZSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gbmFtZSA/IHJlc29sdmVWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkocmF3VmFsdWUpID8gcmF3VmFsdWUgOiBbXTtcbiAgICAvLyBUaGUgc2V0IHZhbGlkYXRlcyBsaWtlIGFueSBvdGhlciBmaWVsZDogcnVsZXMgZmlsdGVyZWQgYnkgdGhlIGZvcm0tbGV2ZWxcbiAgICAvLyB0cmlnZ2VyIGNvbmZpZyBydW4gb24gc2xvdCBjaGFuZ2VzL2JsdXJzIGFnYWluc3QgdGhlIFdIT0xFIGFycmF5IHZhbHVlLlxuICAgIGNvbnN0IHJ1blRyaWdnZXJWYWxpZGF0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCB0cmlnZ2VyKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSB8fCAhcnVsZXMgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVSdWxlcyhydWxlcywgc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIGZvcm1JbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihyZXNvbHZlZCwgdHJpZ2dlciwgbm9ybWFsaXplVHJpZ2dlcnModW5kZWZpbmVkLCBmb3JtVmFsaWRhdGVUcmlnZ2VyKSwgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHRyaWdnZXIgPT09ICdvbkNoYW5nZScpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRmllbGQobmFtZSwgYXBwbGljYWJsZSwgbmV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRmllbGRBc3luYyhuYW1lLCBuZXh0VmFsdWUsIGFwcGxpY2FibGUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgbGV0IGl0ZW1JbmRleCA9IC0xO1xuICAgIGNvbnN0IGxpc3QgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBpdGVtSW5kZXggKz0gMTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpdGVtSW5kZXg7XG4gICAgICAgIGNvbnN0IGNoaWxkUHJvcHMgPSBjaGlsZC5wcm9wcztcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgLy8gJycgKG5vdCB1bmRlZmluZWQpIGZvciBlbXB0eSBzbG90cyDigJQgYW4gaW5wdXQgbXVzdCBub3Qgc3dpdGNoIGZyb21cbiAgICAgICAgICAgIC8vIHVuY29udHJvbGxlZCB0byBjb250cm9sbGVkIG9uIGl0cyBmaXJzdCBlZGl0LlxuICAgICAgICAgICAgdmFsdWU6IChfYSA9IHZhbHVlW2luZGV4XSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycsXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbCwgLi4ucmVzdEFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFsuLi52YWx1ZV07XG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdmFsLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWw7XG4gICAgICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBBIHNsb3QgZWRpdCBpcyBhIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUIG1hcmsgdG91Y2hlZCBsaWtlIGFueSBmaWVsZC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3JtSW5zdGFuY2UuaXNGaWVsZFRvdWNoZWQobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZFRvdWNoZWQobmFtZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcnVuVHJpZ2dlclZhbGlkYXRpb24obmV3VmFsdWUsICdvbkNoYW5nZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBDSEFJTiB0aGUgc2xvdCBjaGlsZCdzIG93biBvbkNoYW5nZSDigJQgbmV2ZXIgb3ZlcndyaXRlIGl0LlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQ2hhbmdlKHZhbCwgLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkJsdXI6ICguLi5yZXN0QXJncykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZSB0aWNrIG11c3QgYmVcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG9uZSB2YWxpZGF0ZWQsIG5vdCB0aGUgcmVuZGVyLXRpbWUgc25hcHNob3QuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByZXNvbHZlVmFsdWUoc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMsIG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBydW5UcmlnZ2VyVmFsaWRhdGlvbihBcnJheS5pc0FycmF5KGN1cnJlbnQpID8gY3VycmVudCA6IFtdLCAnb25CbHVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4ucmVzdEFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBzdHlsZTogT2JqZWN0LmFzc2lnbih7IGRpc3BsYXk6ICdmbGV4JywgZ2FwLCBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcgfSwgc3R5bGUpLCBjaGlsZHJlbjogbGlzdCB9KSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBuYW1lOiBuYW1lLCBydWxlczogcnVsZXMsIGZlZWRiYWNrOiBmZWVkYmFjaywgY2hpbGRyZW46IGNvbnRlbnQgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbn07XG5Qcm9Gb3JtRmllbGRTZXRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1GaWVsZFNldCc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUZpZWxkU2V0ID0gbWVtbyhQcm9Gb3JtRmllbGRTZXRCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1GaWVsZFNldDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -7,10 +7,15 @@ exports["default"] = exports.ProFormRadioGroup = void 0;
|
|
|
7
7
|
var _Radio = require("../../Radio");
|
|
8
8
|
var _createProFormField = require("./createProFormField");
|
|
9
9
|
var _utils = require("../utils");
|
|
10
|
+
function renderRadioReadonly(value, props) {
|
|
11
|
+
var _a;
|
|
12
|
+
if (value === null || value === undefined || value === '') return '-';
|
|
13
|
+
return (_a = (0, _utils.findOptionLabel)(props === null || props === void 0 ? void 0 : props.options, value)) !== null && _a !== void 0 ? _a : (0, _utils.renderTextReadonly)(value);
|
|
14
|
+
}
|
|
10
15
|
var ProFormRadioGroup = exports.ProFormRadioGroup = (0, _createProFormField.createProFormField)({
|
|
11
16
|
component: _Radio.RadioGroup,
|
|
12
|
-
renderReadonly:
|
|
17
|
+
renderReadonly: renderRadioReadonly
|
|
13
18
|
});
|
|
14
19
|
ProFormRadioGroup.displayName = 'ProFormRadioGroup';
|
|
15
20
|
var _default = exports["default"] = ProFormRadioGroup;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtUmFkaW9Hcm91cC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1SYWRpb0dyb3VwLmpzIl0sIm5hbWVzIjpbIl9SYWRpbyIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwiX3V0aWxzIiwicmVuZGVyUmFkaW9SZWFkb25seSIsInZhbHVlIiwicHJvcHMiLCJfYSIsInVuZGVmaW5lZCIsImZpbmRPcHRpb25MYWJlbCIsIm9wdGlvbnMiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJQcm9Gb3JtUmFkaW9Hcm91cCIsImV4cG9ydHMiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb21wb25lbnQiLCJSYWRpb0dyb3VwIiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxtQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBRUEsU0FBU0csbUJBQW1CQSxDQUFDQyxLQUFjLEVBQUVDLEtBQWdDLEVBQUE7RUNGekUsSUFBSUMsRUFBRTtFREdSLElBQUlGLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS0csU0FBUyxJQUFJSCxLQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sR0FBRztFQUNyRSxPQUFPLENBQUFFLEVBQUEsR0FBQSxJQUFBRSxzQkFBZSxFQUFDSCxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRUksT0FBTyxFQUFFTCxLQUFLLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLElBQUFJLHlCQUFrQixFQUFDTixLQUFLLENBQUM7QUFDNUU7QUFFTyxJQUFNTyxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFrQjtFQUNuRUMsU0FBUyxFQUFFQyxpQkFBVTtFQUNyQkMsY0FBYyxFQUFFYjtBQ0RsQixDREVDLENBQUM7QUFFRlEsaUJBQWlCLENBQUNNLFdBQVcsR0FBRyxtQkFBbUI7QUFBQyxJQUFBQyxRQUFBLEdBQUFOLE9BQUEsY0FFckNELGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1SYWRpb0dyb3VwLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBSYWRpb0dyb3VwIH0gZnJvbSAnLi4vLi4vUmFkaW8nO1xuaW1wb3J0IHsgY3JlYXRlUHJvRm9ybUZpZWxkIH0gZnJvbSAnLi9jcmVhdGVQcm9Gb3JtRmllbGQnO1xuaW1wb3J0IHsgZmluZE9wdGlvbkxhYmVsLCByZW5kZXJUZXh0UmVhZG9ubHkgfSBmcm9tICcuLi91dGlscyc7XG5mdW5jdGlvbiByZW5kZXJSYWRpb1JlYWRvbmx5KHZhbHVlLCBwcm9wcykge1xuICAgIHZhciBfYTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpXG4gICAgICAgIHJldHVybiAnLSc7XG4gICAgcmV0dXJuIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgdmFsdWUpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiByZW5kZXJUZXh0UmVhZG9ubHkodmFsdWUpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1SYWRpb0dyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IFJhZGlvR3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJhZGlvUmVhZG9ubHksXG59KTtcblByb0Zvcm1SYWRpb0dyb3VwLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1SYWRpb0dyb3VwJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1SYWRpb0dyb3VwOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|